Why Automate Client Follow-Ups via WhatsApp?
WhatsApp boasts a 98% open rate within 3 minutes — compared to roughly 20% for email. Yet most SMBs still handle follow-ups manually: copy-pasting messages, tracking leads in spreadsheets, and inevitably forgetting prospects along the way.
Automating WhatsApp follow-ups allows you to:
- Cut processing time by 80% (from 2h/day to 15 minutes of oversight)
- Boost conversion rates by 25–40% through systematic, timely reminders
- Eliminate forgotten leads — every prospect receives the right message at the right time
- Personalize at scale using generative AI
The Technical Stack: Essential Building Blocks
Here is the production stack we deploy at Otomy for SMB clients across France and Algeria:
| Component | Tool | Purpose |
|---|---|---|
| Database | Supabase (PostgreSQL) | Store contacts, statuses, history |
| Automation | n8n (self-hosted) | Orchestrate follow-up workflows |
| Messaging | WhatsApp Business API (Meta Cloud API) | Send and receive messages |
| AI copywriting | Claude AI (Anthropic) | Generate personalized messages |
| Hosting | OVH VPS or Vercel (dashboard) | Reliability and geographic proximity |
Why n8n over Make or Zapier? n8n is open-source, self-hostable (GDPR compliance), and doesn't charge per execution. For an SMB sending 500 follow-ups per day, the savings are substantial.
Step 1: Configure the WhatsApp Business API
Before anything else, you need a WhatsApp Business API account through Meta:
- Create a Meta Business App at developers.facebook.com
- Enable the WhatsApp product and obtain your
Phone Number IDandAccess Token - Create your message templates — mandatory for business-initiated messages
- Submit templates for Meta review (typically 24–48 hours)
Sample follow-up template:
Hi {{1}},
Following our conversation on {{2}}, I wanted to check if you had any questions about our {{3}} offer.
Happy to discuss further. Have a great day!
Step 2: Structure the Database in Supabase
Create a leads table in Supabase:
CREATE TABLE leads (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
name TEXT NOT NULL,
phone TEXT NOT NULL,
email TEXT,
status TEXT DEFAULT 'new',
last_contact TIMESTAMP,
follow_up_count INTEGER DEFAULT 0,
next_follow_up TIMESTAMP,
notes TEXT,
created_at TIMESTAMP DEFAULT now()
);
Key statuses: new → contacted → follow_up_1 → follow_up_2 → converted / lost.
Enable Row Level Security (RLS) and add a database trigger that automatically calculates next_follow_up after each interaction.
Step 3: Build the n8n Workflow
The complete workflow in 6 nodes:
Node 1 — Cron Trigger
Fires daily at 9:00 AM (local timezone).
Node 2 — Supabase Query
Fetch all leads where next_follow_up <= NOW() and status NOT IN ('converted', 'lost').
SELECT * FROM leads
WHERE next_follow_up <= NOW()
AND status NOT IN ('converted', 'lost')
ORDER BY next_follow_up ASC
LIMIT 50;
Node 3 — Claude AI (HTTP Request)
For each lead, send a prompt to Claude AI to personalize the message:
{
"model": "claude-sonnet-4-20250514",
"messages": [{
"role": "user",
"content": "Write a short WhatsApp follow-up for {{name}}, last contacted on {{last_contact}} about {{notes}}. Friendly and professional tone. Max 160 characters."
}]
}
Node 4 — WhatsApp Cloud API (HTTP Request)
Send the message via Meta's API:
{
"messaging_product": "whatsapp",
"to": "{{phone}}",
"type": "template",
"template": {
"name": "follow_up_commercial",
"language": { "code": "en" },
"components": [{
"type": "body",
"parameters": [
{ "type": "text", "text": "{{name}}" },
{ "type": "text", "text": "{{contact_date}}" },
{ "type": "text", "text": "{{offer}}" }
]
}]
}
}
Node 5 — Supabase Update
Update the lead's status, increment follow_up_count, and calculate the next follow-up date (D+3, D+7, D+14 depending on the cycle).
Node 6 — Slack/Telegram Notification
Alert the sales team if a lead reaches the 3rd follow-up without a response.
Step 4: Handle Incoming Replies with a Webhook
Configure an n8n webhook as the callback URL in your Meta App. When a client responds:
- Parse the incoming message (text, audio, image)
- Analyze intent with Claude AI: interested? question? refusal?
- Update Supabase: change status and deactivate automated follow-ups
- Notify the assigned salesperson for human handoff
This hybrid AI + human approach prevents missteps while maintaining automation efficiency.
Common Pitfalls to Avoid
- Don't spam: limit yourself to 3 spaced follow-ups maximum. Beyond that, you risk getting your WhatsApp number blocked.
- Respect time zones: never send messages before 8 AM or after 8 PM.
- Use only approved templates for business-initiated messages (Meta requirement).
- Provide an opt-out: every message must include an unsubscribe option.
- Log everything: maintain a complete history in Supabase for GDPR compliance.
Real Results from Our Clients
An e-commerce business based in Oran, Algeria deployed this system with Otomy:
- Before: 3 hours/day of manual follow-ups, 12% response rate
- After: 15 minutes/day of oversight, 38% response rate
- ROI: the system paid for itself in 11 days
A consulting firm in Lyon, France reduced its sales cycle from 14 to 8 days using automated follow-ups.
Next Steps for Your Business
- Audit your current process: how many leads get followed up? How many are forgotten?
- Open a WhatsApp Business API account — the first 1,000 conversations per month are free
- Deploy n8n on a VPS (4 GB RAM is sufficient) or use n8n Cloud
- Contact Otomy for a turnkey deployment in 5 business days
Automating WhatsApp follow-ups is no longer a luxury — it's a decisive competitive advantage for SMBs that want to scale without hiring.