A missed call doesn't have to become a lost opportunity.
When a tradie's phone is on silent, an SMS is often the most useful next step. This demo shows the workflow — and the duplicate-guard that stops the same caller getting four follow-ups.
What triggers this workflow
Twilio fires a webhook on a missed call (no answer, no voicemail) with the caller number and call time.
Source: Twilio voice webhook
Workflow steps
- TwilioDetectMissed call webhook fires with caller number and time.
- Twilio + n8nFirst SMSBrand-consistent acknowledgement sent within seconds.
- n8n + Twenty CRMDuplicate guardIf the same caller has been messaged twice in 24 hours, route to a human callback task instead.
- Twilio + n8nSecond touch (optional)One polite follow-up the next day if no reply.
- ChatwootHandoffNo reply or repeated missed calls → call task in Chatwoot.
Tools used
Human handoff
Stop before it becomes spam
The duplicate guard is the most important part of this workflow. After two text-backs in 24 hours the same caller is moved to a human call task rather than receiving a third automated message.
- Two or more text-backs already sent to the same number in 24 hours
- Customer replies STOP — global opt-out recorded in Twenty CRM
- Caller is in the agreed suppression list (existing customers, staff, suppliers)
Try it in your browser
Edit the sample inputs, choose a branch, and see what the workflow produces. The sandbox runs offline — no accounts touched, no messages sent.
Try it in your browser
Edit the inputs, pick a branch, and see what the workflow produces. Runs entirely in your browser — no messages are sent, no accounts are touched.
1. Missed-call trigger
Missed call from Caller on Brisbane Glass & Glazing. 1 min ago. Prior text-backs in last 24h: 0.
2. Branch handling
Hi, Brisbane Glass & Glazing here — sorry we missed your call. How can we help? Reply here or call back when suits.
3. Reporting payload
{
"event": "missed_call_textback",
"caller": "Caller",
"business_line": "Brisbane Glass & Glazing",
"branch": "first-touch",
"duplicate_guard": false
}Sample data only. Numbers, names and messages are placeholders for illustration. Wire the live workflow separately using the setup notes below.
n8n workflow template
n8n template — LGM 02 Missed-Call Textback (SIMULATED, inactive). Ships with active: false — no live integrations are wired. See the setup section below for the wiring checklist, and download the JSON to inspect or import it.
Setup for production
Wiring it for production
Live deployment needs telephony, sender identity and a clear suppression list.
- Configure Twilio to fire a webhook on missed calls (no-answer status).
- Define a suppression list (existing customers, staff, suppliers) so internal calls don't trigger.
- Set the duplicate-guard threshold in the n8n workflow (default: 2 in 24h).
- Add STOP-keyword handling — record in Twenty CRM and stop all future sends.
- Wire Chatwoot so the callback task appears in the receptionist's inbox with caller context.
Production prerequisites
- Twilio number with sending enabled in the business's Australian region
- Suppression list source — at minimum your customer CRM
- STOP-keyword handling mapped to opt-out writes in Twenty CRM
Nothing here runs by default. Configuration has to be in place before any live send, booking or contact write.
Questions
Won't this spam customers?
The duplicate guard is the most important piece. Two text-backs in 24 hours is the hard limit; after that the workflow routes to a human call task rather than a third automated message.
Does it honour STOP keywords?
Yes. STOP triggers a global opt-out write in Twenty CRM; future sends to that number are suppressed across every workflow, not just this one.
More demos you can run in your browser
Missed-Call Text-Back across the platform
Want this missed-call text-back workflow running on your stack?
Pick the demo you're curious about or describe your own. We'll come back with what a real deployment looks like for your business — the workflow, the prerequisites, the people involved.