Makani Tech: Build. Automate. Evolve.

Renewal Radar for AMCs and Contracts with n8n + Claude (free workflow)

How to never miss an AMC or contract renewal again (30, 7 and 1 day reminders)

FreeWorkflowBy Kishan Makani · updated 19 October 2026 · 4 min read

Google SheetsWhatsAppGmailClaude

Downloads

  • Download the n8n workflow (JSON)

    renewal-reminders-amc-n8n.json · n8n workflow · 19 steps · starts with Every morning 9 AM · uses Google Sheets, Anthropic, Slack, WhatsApp, Gmail · 25 KB

    Import into n8n: Create Workflow, then the menu, then Import from File.

How to import it into n8n
  1. In n8n, create a new workflow.
  2. Open the ⋯ menu at the top right and choose Import from File, then pick the downloaded .json. (Or open the file, copy everything and paste it on the canvas.)
  3. Open each node with a warning and connect your own account: the file carries no passwords or keys.
  4. Run it once with Test workflow, check the result, then switch it to Active.

What this workflow does

Every morning at 9 it reads all your AMCs, subscriptions and contracts from one Google Sheet and works out the days left on each. Contracts at 30, 7 or 1 day get a reminder written by Claude from your plan details: what renewal includes, the price and the pay link. The day's whole list comes to Slack first. One Approve sends a WhatsApp template and an email to each customer, and the sheet records which reminder went out so nobody gets the same one twice.

Who it is for

AC, RO, CCTV and lift service companies with AMCs, IT vendors with annual support contracts, gyms, software resellers and insurance agents. Anyone whose renewals live in an Excel file or a diary.

What you need

  • An n8n account (Cloud or self-hosted)
  • A Google Sheet with your contracts and renewal plans
  • An Anthropic API key for Claude
  • A WhatsApp Business Cloud API number with one approved utility template
  • Gmail and Slack

The workflow, step by step

Step 1 · Every end date, checked at 9 AM

Every morning 9 AM starts the run. Get contracts reads the Contracts tab and Get renewal plans reads the Plans tab (price, inclusions, pay link per service). Work out days left parses each end date, skips Renewed and Cancelled rows and gives each contract a stage: 30 days, 7 days or 1 day. Due for a reminder? keeps only contracts whose stage is set and whose Last reminder is not already that stage. This is the guard that stops repeats.

Step 2 · Claude writes each reminder

Write renewal message asks Claude for an email subject, an email body and one WhatsApp line, using only your price, inclusions and pay link. The tone changes by stage. Reminder format keeps the output to those three fields. Build today's list joins Claude's text to each contract and sorts the list with 1-day reminders on top.

Step 3 · You approve the list in one tap

Approve today's reminders posts the full list in Slack with Approve and Reject. Approved? lets the run continue only on Approve. If nobody taps in 8 hours, nothing goes out and tomorrow's run picks the same contracts up again.

Step 4 · WhatsApp and email go out

One row per contract splits the list back into contracts and Loop over contracts takes them one at a time. Send WhatsApp reminder sends the amc_renewal_reminder template with six variables. Has email? sends Send email reminder only when you have an address. Pause 1 second keeps sends gentle.

Step 5 · Never the same reminder twice

Mark reminder sent writes the stage and today's date to Last reminder and Last reminder on, matched on Contract ID. If WhatsApp fails, Reminder failed alert tells you in Slack who to call, and the loop carries on.

Setup

  1. Import the JSON into n8n.
  2. Create the Sheet: Contracts (Contract ID, Customer, Phone, Email, Service, End date, Amount, Status, Last reminder, Last reminder on) and Plans (Service, Renewal price, Includes, Pay link). Put the sheet ID in all Sheets nodes.
  3. In Meta Business Manager, create the utility template amc_renewal_reminder with six body variables and wait for approval. Add your phone number ID in Send WhatsApp reminder.
  4. Connect Anthropic, Slack, Gmail and WhatsApp. Change "Verma Cool Care" in Write renewal message to your business name.
  5. Add a test contract ending tomorrow with your own number, run the workflow, approve in Slack and check the WhatsApp, email and sheet.

How to customise

  • Different stages: edit the stage line in Work out days left, for example 60, 15 and 3 days for annual software.
  • Pay links: create Razorpay payment links per plan and paste them in the Plans tab, or generate one per customer with an HTTP Request to the Razorpay Payment Links API before the WhatsApp send.
  • Owner reminder only: delete the WhatsApp and email nodes and keep the Slack list as a daily "call these customers" list.
  • After renewal: set Status to Renewed and update End date. The next cycle starts by itself.

Guardrails

  • No customer gets anything until you approve the day's list.
  • Claude uses only the prices and inclusions in your Plans tab.
  • Each stage is sent once per contract, recorded in the sheet.

Troubleshooting

  • Nothing is due: check End date is a real date (YYYY-MM-DD or DD/MM/YYYY) and Status is not Renewed.
  • Template rejected or failing: variables cannot contain line breaks; the workflow strips them. The variable count must match the template exactly.
  • Phone errors: numbers must include the country code, like 9198XXXXXXXX, with no + or spaces.
  • Same reminder again: Last reminder must be written back; check Mark reminder sent matches on the Contract ID column.

Want the members-only resources too?

A free account unlocks them all, including the ones shared in DMs.

Create a free account