Recover missed appointments with Google Calendar, Twilio, Gmail and Sheets

Go to Workflow
0 views
Built by Keith Uy Keith Uy
Created on September 01, 2026

Description

Quick overview
This workflow runs hourly to find Google Calendar events marked with a “no-show” keyword, then sends a rebooking link via Twilio SMS (when a phone number is available) and Gmail email, and appends a follow-up record to Google Sheets.

How it works
Runs every hour on a schedule.
Searches Google Calendar for events in the last three hours that match a configurable marker word.
Skips events that were already handled in previous executions to avoid duplicate follow-ups.
Extracts the attendee’s email and name from the event and attempts to parse a phone number from the event description.
Sends the rebooking link via Twilio SMS when a phone number is present, then sends the rebooking link via Gmail email.
Appends a row to Google Sheets logging who was contacted, which channels were used, and the original appointment details.

Setup
Connect credentials for Google Calendar, Twilio, Gmail, and Google Sheets.
In the Config values, set your booking link, Twilio sending number, and the marker word you use to flag no-shows.
Select the Google Calendar to search and replace the Google Sheets document ID with your target spreadsheet.
Create (or select) a Google Sheets tab named “No-shows” with columns that match the logged fields (name, email, phone, channels, contacted_at, original_time, missed_appointment).

Requirements
Google account for Calendar, Sheets, and Gmail
Twilio account with a phone number that can send SMS
A booking link your attendees can use to pick a new time

Customization
Change the marker word to anything you would rather type into an event
Run it less often than hourly by editing the schedule trigger
Widen the three-hour lookback if you mark events long after the appointment
Drop the Twilio branch and send email only
Add a second follow-up a few days later with a Wait node

Additional info
Google Calendar cannot tell whether someone actually showed up. Add your marker word to the event title after a missed appointment, and the next hourly run will pick it up.

Nodes Used (4)

Gmail
n8n-nodes-base.gmail
Google Calendar
n8n-nodes-base.googleCalendar
Google Sheets
n8n-nodes-base.googleSheets
Twilio
n8n-nodes-base.twilio