Skip to content
Automation Squad
AtSGMade to order

Documents & e-signature

Airtable contract register → renewal reminders in Slack + Gmail

Notice deadlines on auto-renewing contracts reach the owner with time to act.

Most business contracts renew on their own unless notice is given inside a window that closes weeks before the end date. Each morning it reads a Contracts table in Airtable and finds the notice deadlines 90, 60 or 30 days out. The owner then hears in Slack and by email, with value, counterparty and a link to the signed copy. A ticked box in the table stops the same reminder going twice.

How it works

  1. At

    Trigger

    Schedule: daily at 08:00 in your timezone (n8n Schedule Trigger), followed by an Airtable search of the Contracts table

    Airtable

  2. At

    Step 1

    Search the Contracts table for notice deadlines in range

    A filterByFormula search returns the active contracts due a reminder. Notice deadline is a formula field, End date minus Notice days; a hit is any contract 90, 60 or 30 days from it or closer whose box for that stage is still empty.

  3. if

    Step 2

    Sort each contract into its stage and group by owner

    Every hit is labelled 90, 60 or 30 from the nearest unticked stage, then grouped by the Owner field so one person gets one message however many contracts they hold.

  4. S

    Step 3

    Post the day's list to the contracts channel

    One message per owner in the channel you choose, tagged by the Slack member ID on their Owner record. It lists counterparty, annual value, notice deadline, end date and the link to the signed PDF.

  5. G

    Step 4

    Email each owner their own contracts

    That same list goes to the owner's email address from Airtable, sent from your Gmail, with a subject that names the closest deadline so it sorts to the top on a busy morning.

  6. At

    Step 5

    Tick the stage box so tomorrow's run skips it

    Reminded 90, 60 or 30 gets ticked on each record after both messages send. If either send fails, the box stays empty and the contract comes round again the next morning.

What changes once it runs

  • Each owner hears about a notice deadline three times, at 90, 60 and 30 days, in Slack and in their inbox.
  • Airtable is the single register: end dates, notice periods, values, owners and links to the signed copies.
  • Renewing on new terms takes an updated end date and cleared boxes, and the cycle starts again.
  • Missed runs are caught up on the next morning, not lost.

What you get

  • n8n workflow export with the Schedule Trigger, Airtable search formula, grouping, Slack and Gmail sends and the write-back
  • An Airtable base template: Contracts and Owners tables, the Notice deadline formula and the three Reminded checkboxes
  • Editable Slack and email message templates
  • Setup guide covering the Airtable personal access token, Slack app scopes and the timezone setting
  • Recorded walkthrough with three sample contracts, one at each stage

Before you start

  • Airtable base with a Contracts table using the package's fields (a base template is included; the free plan is enough)
  • Slack workspace with a channel for reminders and a bot allowed to post in it
  • Gmail or Google Workspace mailbox to send from
  • n8n Cloud or self-hosted n8n to run the daily schedule

Built for

Questions before you buy

Can I change the reminder days or add a fourth?
The days live in one node and the base has one checkbox per stage, so a 14-day reminder is a new checkbox plus one line in the search formula. Removing a stage is the reverse. The guide shows both edits.
What counts as the deadline: the end date or the notice date?
The notice date. Your base computes Notice deadline as End date minus Notice days. A 12-month contract with 60 days' notice therefore reminds you 90, 60 and 30 days before the last day you can still cancel or renegotiate, not before the end date itself. Contracts with no notice period fall back to the end date.
Does it need a paid Airtable or n8n plan?
No for Airtable: a search with a formula filter and a record update both work on the free plan, which allows 1,000 API calls per workspace per month. A daily run spends one call per 100 records searched and one per contract it reminds. A 500-contract register stays inside that cap. n8n Cloud's Starter plan runs one daily execution without trouble, and self-hosted n8n is free. Make's free plan also covers a once-a-day scenario of this size.
Can I use Google Sheets instead of Airtable?
Yes, with one change in behaviour: the Sheets API has no formula filter, so the workflow reads the whole sheet and filters in n8n. The read is one call however many rows the sheet holds. The three checkboxes become three date columns.
What if an owner leaves or is not on Slack?
Owner records hold the Slack member ID and the email separately, so an owner with no Slack ID still gets the email and the channel post goes out untagged. Reassigning contracts is a change to the Owner link in Airtable, nothing in the workflow.

Nearby on the shelf

Whole catalog