1. Twilio Voice trigger
Twilio fires a webhook on no-answer, busy, or failed status with caller ID, called number, and timestamp. This is the sole trigger — no polling call logs.
2. CRM log
HubSpot creates or updates a contact from the caller ID and logs a "missed inbound call" activity. Unknown numbers still create a lead record for follow-up.
3. SMS with booking link
Twilio SMS sends within 90 seconds:
Key Insight
We missed your call to [Business]. Pick a time that suits you: [Calendly or custom booking URL]
Link shorteners should be avoided for trust; use your domain or Twilio-approved links.
4. Click branch
IF the booking link is clicked within the window:
- Google Calendar (or Calendly webhook) reserves a slot
- Rep assignment hub reads roster sheet and notifies via WhatsApp
IF not clicked within configurable hours:
- Retry SMS with alternate copy (shorter, direct phone number)
- Continue to assignment for manual callback task
5. Rep and manager outputs
Assigned rep receives WhatsApp with caller ID and booking status. Slack manager channel gets alert if no rep acknowledges within 24 hours — preventing silent drops.
6. CRM task
Final HubSpot task: "Return missed call" with due date tied to booking or SLA.
Why SMS before WhatsApp for unknown callers
WhatsApp requires opt-in for business-initiated messages outside the 24-hour window. SMS reaches any mobile number immediately. Once the prospect replies on WhatsApp, subsequent nurture can move channels.
Twilio configuration notes
- Status callback URL must include missed states, not only
completed
- Indian DLT registration required for SMS sender ID
- Record consent language if calls may be returned for sales
Escalation design
| Condition | Action |
|---|
| Link clicked + slot booked | WhatsApp rep + calendar hold |
| No click after 4 hours | Retry SMS |
| No rep ack after 24 hours | Slack manager alert |
| Repeat missed call same day | Merge activities; do not spam |
Metrics worth tracking
- Missed calls per day
- SMS delivery rate
- Link click rate
- Booked callbacks vs manual returns
- Time-to-first-response
Sheet or CRM reporting at workflow end makes these visible without a separate analytics project.
Integration map
| System | Role |
|---|
| Twilio Voice | Missed-call webhook |
| Twilio SMS | Callback link delivery |
| HubSpot | Contact, activity, task |
| Google Calendar / Calendly | Self-serve booking |
| Google Sheets | Rep roster |
| WhatsApp | Rep notification |
| Slack | Manager escalation |
Scope
Single-line missed-call recovery with SMS, CRM log, and rep WhatsApp is a contained build. Multi-queue routing (sales vs support numbers) adds branching but uses the same pattern.
View the workflow on Automations. For voice infrastructure context, see Missed calls are leads leaving without a goodbye.