Automating Client Follow-Ups via WhatsApp Using n8n and Twilio
What You'll Build
A workflow that checks a shared client task tracker once a day for anything still marked "pending" (missing documents, an unsigned form, an outstanding question) that hasn't been followed up on recently, and automatically sends a short, friendly WhatsApp reminder to the client through Twilio, logging the follow-up date so the same client doesn't get double-messaged tomorrow.
Prefer to skip the setup? We'll build this exact workflow for you.
Get it builtTools & Accounts You'll Need
- n8n (cloud or self-hosted) Try n8n Here
- Twilio account with a WhatsApp-enabled sender Try Twilio Here
- Google Sheets or Airtable (for your client task tracker) Use Google Sheets
Some links above are affiliate links. If you sign up through them, we may earn a commission at no extra cost to you. See our Affiliate Disclosure.
Step-by-Step Walkthrough
Set up a simple client task tracker
In Google Sheets or Airtable, create a sheet with columns: Client Name, Phone Number, Task, Status (Pending / Done), and Last Follow-Up Date. This is the source of truth your team already updates when a client sends something in, so the automation stays accurate without extra data entry.
Connect your Twilio WhatsApp sender
If you're just testing, join the Twilio WhatsApp Sandbox (free, takes a few minutes). For real client outreach, you'll need an approved WhatsApp Business sender through Twilio, which requires Meta Business verification. Grab your Account SID and Auth Token from the Twilio console, you'll need both in n8n.
Read pending tasks with a Schedule Trigger
Add a Schedule Trigger node set to run once daily. Follow it with a Google Sheets (or Airtable) node reading all rows, then an IF node filtering to rows where Status = "Pending" and Last Follow-Up Date is empty or older than your chosen threshold (e.g. 3 days).
Loop through each client and send the WhatsApp message
Add a Split In Batches node (or a Loop) so the workflow processes one client at a time. Inside the loop, add a Twilio node, formatting the recipient number with the whatsapp: prefix, and compose a short message merging the client's name and the specific pending task.
Write the follow-up date back to the tracker
Immediately after sending, add a node that updates that same row's Last Follow-Up Date to today. This is what prevents the same client from getting reminded again tomorrow before anyone's had a chance to respond.
Test in the Sandbox before going live
Send yourself a test message using your own WhatsApp number joined to the Twilio Sandbox. Confirm formatting, merge fields, and the tracker update all work correctly before pointing this at real client phone numbers.
Common Pitfalls
The 24-hour session window: WhatsApp Business only allows free-form messages within 24 hours of the client's last message to you. Outside that window, you need a pre-approved message template through Meta/Twilio. Plan your reminder wording as a template from day one so it isn't rejected later.
Consent matters, this isn't optional: WhatsApp Business policy requires the client to have opted in to being contacted this way. Make sure your intake process captures explicit consent for WhatsApp communication before this workflow ever messages someone.
Sandbox behavior isn't production behavior: the Twilio Sandbox requires each recipient to manually join by sending a join code, real approved senders don't have that restriction, but also take longer to set up. Don't assume Sandbox test results predict production reliability perfectly.
Recap
This workflow replaces a mental (or spreadsheet-based) checklist of "did we already nudge this client" with an automatic daily pass that reaches clients on the channel they actually read, WhatsApp, instead of an email that gets buried. The same pattern (read tracker, filter by staleness, message, log) works for SMS or email follow-ups too, if WhatsApp isn't the right channel for a given client base.
Don't want to build this yourself?
We'll build, test, and document this exact workflow for your stack.
See Automation Services