Makani Tech: Build. Automate. Evolve.

GST and Compliance Reminder System with n8n + Claude (free workflow)

How to build a GST, TDS and ROC reminder system that never misses a due date

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

Google SheetsGoogle CalendarWhatsAppGmail

Downloads

  • Download the n8n workflow (JSON)

    gst-compliance-reminders-n8n.json · n8n workflow · 20 steps · starts with Every day at 9 AM · uses Google Sheets, Google Calendar, Anthropic, WhatsApp, Gmail · 29 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

All your compliance due dates (GST returns, TDS payments and returns, advance tax, PF and ESI, ROC filings) live in one Google Sheet. Every morning at 9, n8n reads the sheet, adds any new due date to your Google Calendar, and checks what is coming up. Three days before a due date, one day before, on the day and every day after (if it is still not filed), you get one WhatsApp and your CA gets one clear email with the documents checklist. Claude writes both messages from the sheet. You also get an email with Filed and Not yet buttons for each item: tap Filed and the reminders stop.

Who it is for

Every Indian small business with a GST number: traders, manufacturers, agencies, clinics, startups. Also useful for CA firms that want to nudge clients before the last night.

What you need

  • n8n (Cloud or self-hosted), with the workflow time zone set to Asia/Kolkata
  • A Google Sheet with a Compliance tab
  • Google Calendar
  • An Anthropic API key for Claude
  • A WhatsApp Business Cloud API number with one approved template
  • Gmail

The workflow, step by step

Step 1 · One sheet of due dates

GST, TDS, advance tax, PF and ROC dates live in one Google Sheet with the form, period and documents needed. Every morning at 9 n8n reads it and works out the days left.

  • Every day at 9 AM (Schedule Trigger).
  • Read compliance calendar (Google Sheets): reads the Compliance tab.
  • Work out days left (Code): reads dd/mm/yyyy dates in IST and calculates days left for each row.

Step 2 · Every due date on your calendar

Any due date not yet on Google Calendar is added as an all-day event with the documents list. The event id is saved, so it is never added twice.

  • Not on calendar yet? (Filter): no saved event, not filed, not in the past.
  • Add due date to calendar (Google Calendar): all-day event like "GSTR-3B (Oct) due".
  • Save calendar event (Google Sheets): writes the event id back to the row.

Step 3 · Pick what needs a nudge

Reminders go out 3 days before, 1 day before, on the day, and every day once overdue. Filed items stop. A guard makes sure nothing is reminded twice in one day.

  • Due in 3 days or overdue? (Filter): days left is 3, 1 or 0, or negative; Status is not Filed.
  • Not reminded today? (Filter): compares Last reminded with today.
  • Bundle into one list (Aggregate): one message for everything due, not one per item.

Step 4 · Claude writes the reminders

Claude turns the list into one short WhatsApp for you and one clear email for your CA with the documents checklist. Dates are copied from the sheet, never changed.

  • Write reminders with Claude (Basic LLM Chain) with Claude and Reminder fields (Structured Output Parser).
  • Remind owner on WhatsApp (WhatsApp template compliance_reminder).
  • Email the CA (Gmail): retries 3 times. If it still fails, Alert: email failed tells you on WhatsApp.

Step 5 · Tap Filed to stop the reminders

You get an email with Filed and Not yet buttons for each item. Tap Filed and the sheet is updated, so the reminders stop. Not yet means you will hear again tomorrow.

  • Split out items (Split Out): one item per form again.
  • Mark as reminded (Google Sheets): saves today's date in Last reminded.
  • Ask owner: filed? (Gmail, Send and Wait, up to 20 hours) and Owner says filed? (IF).
  • Mark as filed (Google Sheets): Status = Filed, with the date.

Setup

  1. Import the JSON into n8n. In Workflow settings, set the time zone to Asia/Kolkata.
  2. Connect Google Sheets, Google Calendar, Anthropic, WhatsApp and Gmail in each red node.
  3. Create the Compliance tab with columns: Item ID, Law, Form, Period, Due date, Docs needed, CA email, Status, Calendar event, Last reminded, Filed on.
  4. Fill in the year's dates with your CA. Typical rows for a monthly GST filer: GSTR-1 (11th of next month), GSTR-3B (20th of next month), TDS payment (7th of next month), TDS return (quarterly), advance tax (15 June, 15 September, 15 December, 15 March), and ROC forms after your AGM. Always confirm with your CA: dates depend on your filing type, your state and any extension.
  5. Create the WhatsApp utility template compliance_reminder with one variable, and replace YOUR_PHONE_NUMBER_ID, 91YOUR_OWNER_NUMBER, YOUR_SHEET_ID and the two email addresses.
  6. Add a test row due in 3 days and run the workflow once. Check the calendar, WhatsApp, the CA email (send it to yourself first) and the Filed button.

How to customise

  • Recurring rows: add a second small workflow that, when a row is marked Filed, adds next month's row automatically.
  • Several companies or GSTINs: add a Company column and group by it before Bundle into one list, so each company gets its own email.
  • Different reminder days: change [3, 1, 0] in Due in 3 days or overdue? to, for example, [7, 3, 1, 0].
  • Accountant in the loop: add your in-house accountant to the WhatsApp step with a second template send.

Guardrails

  • Dates and forms come only from your sheet. Claude rewords, it never changes a date or gives tax advice.
  • Penalty amounts are never mentioned, because they depend on your case. Ask your CA.
  • Reminders stop only when you tap Filed, so nothing is marked done by accident.
  • This is a reminder system, not a filing system. Your CA still files.

Troubleshooting

  • Days left are off by one: the workflow time zone is not Asia/Kolkata, or the dates are in mm/dd/yyyy. Use dd/mm/yyyy.
  • Calendar events added twice: the Calendar event column name must match exactly.
  • No reminder today: check Status is not Filed and that today is 3, 1 or 0 days before the date.
  • Filed button does nothing: Send and Wait only resumes when the workflow is active.
  • WhatsApp template rejected: keep the template text neutral, for example "Compliance reminder: {{1}}".

Want the members-only resources too?

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

Create a free account