Quick overview
When Twilio reports a missed call, the caller gets a text with your booking link right away. I built it for trades and clinics. Each call is logged to your Google Sheet and emailed to you. One nudge follows if nobody books, and a daily digest shows who booked.
How it works
- A Twilio webhook starts the missed-call lane. Answered and outbound calls are dropped. A withheld number, a number on your ignore list, a caller who texted STOP and anyone texted recently are logged and never texted.
- Everyone else gets the first text with your booking link. After hours it uses different wording that says when you open, and the link carries a short ref so a booking closes that exact call.
- A second webhook hears text replies. A reply marks the call Replied and emails you, a reply with one of your urgent words is flagged URGENT, and STOP marks the caller Opted out.
- A third webhook marks the call Booked when your booking tool posts the phone number. An optional fourth records Twilio's delivery receipts, so a text that never arrived is marked and emailed to you.
- An hourly run sends one nudge to callers still quiet after 4 hours, inside your sending window, and emails one list of callers nobody has rung back.
- The second workflow emails a daily digest at 08:00 with who was missed, who booked, who is still open and the week's booking rate.
- Preview mode is the default. Every text comes to your own inbox with a banner naming the caller it was meant for, until you switch sending on.
Setup
- Import both workflows. Create a Google Sheet with a
Calls tab, made by importing sample-calls-sheet.csv, and an Errors tab with the headers logged_at workflow message.
- Paste the sheet URL into all thirteen Google Sheets nodes of workflow 1 and the Sheets node of workflow 2, and put your email address in both. In workflow 1's Your Settings, also fill in your business name, booking link, Twilio number and a webhook_secret of 12 characters or more.
- Add Twilio, Gmail and Google Sheets credentials, set the workflow timezone to yours, and activate both workflows so the production webhook URLs work.
- In Twilio, send unanswered calls to the missed-call webhook (the README has a ready TwiML Bin) and incoming texts to the text-reply webhook. Point your booking tool at the booking-confirmed webhook. Every address is the node's production URL with ?key= and your webhook_secret added to the end.
- Keep preview mode on, run Try A Fake Missed Call and the test posts in the README, then set sms_mode to send. US numbers need A2P 10DLC registration in your Twilio account before texts to US callers are delivered.
Requirements
- n8n 1.102.0 or later for workflow 1, because its webhooks use a node version that older releases lack. The digest workflow needs 1.59.0 or later.
- An n8n instance reachable from the internet.
- A Twilio number with Voice and SMS.
- A Google account for Sheets and Gmail.
Customization
- I keep the message wording, nudge delay, sending window, callback reminder time and urgent words in Your Settings. Another SMS provider works if it can post the caller's number and the call outcome to the webhook, and you swap the two Twilio send nodes for its SMS node.
Additional info
Version 1.1, last tested 31 Oct 2026. I ran it on n8n 2.23.4 with real Google Sheets and Gmail and demo data. A fake call, a webhook call, a text reply, a booking, a delivery status, the hourly check and the daily digest all finished without an error. Twilio was not connected, so no real text was sent and the two Twilio send nodes have not run. Start in preview mode.
Changelog: v1.1 fixes a fault where n8n blocked the steps that read the caller's number, so calls were not logged. The Code nodes also pass 54 offline checks. The preview on this page is the earlier 47-node layout; the download is the 60-node version.
Licence: personal and commercial use on your own instances and for your own clients. Do not resell or redistribute the files themselves.
Support: email [email protected] with your order email, your n8n version and the error text. I reply within 2 working days.
n8n is a trademark of n8n GmbH; these templates are not endorsed by n8n.