A missed call becomes a booked appointment: the caller gets a WhatsApp reply, picks an open slot and is booked.
- Problem
- When a call is missed, the caller is left without a reply.
- Fix
- The caller gets a WhatsApp reply, picks an open slot and is booked, and the owner gets a Slack ping.
Built with Twilio, WhatsApp Cloud API, OpenAI inside n8n, Calendly API, Airtable and Slack.
My role
Designed the landing page and the chat surface, and built the n8n recovery flow behind them.
Key decisions
- 01Reply on WhatsApp through the WhatsApp Cloud API.
- 02Let OpenAI inside n8n read the reply and tag intent before any times are offered.
- 03Offer open slots from the Calendly API, log the lead in Airtable and ping the owner on Slack when it books.
How it is wired
- Missed call detected
Twilio webhook - First reply sent on WhatsApp
WhatsApp Cloud API - Reply read, intent tagged
OpenAI inside n8n - Open slots offered
Calendly API - Lead logged
Airtable - Booked, owner pinged
Slack
What this proves
- One flow covers the whole loop: missed call, WhatsApp reply, intent tagged, slots offered, lead logged and a Slack ping to the owner when it books.
- The Harbor Dental conversation shown on this site is sample data.


