Google Calendar + Twilio SMS to cut no-shows
No-shows don’t usually come from bad clients. They come from busy clients. And when your calendar is full but your chair is empty, you lose revenue, waste staff time, and spend the rest of the day playing schedule Tetris.
Studio owners feel it first, but clinic managers and agency teams running booked calls deal with the same headache. This calendar SMS reminders automation cuts the “forgot” problem down fast by sending the right text at the right moment, without you touching anything.
You’ll see how the workflow detects new bookings in Google Calendar, checks your client list, sends reminders and follow-ups via Twilio, and even reactivates clients who’ve gone quiet.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Google Calendar + Twilio SMS to cut no-shows
flowchart LR
subgraph sg0["Calendar Event Starter Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Calendar Event Starter", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Retrieve CRM Client Info", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Branch New vs Returning", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/twilio.svg' width='40' height='40' /></div><br/>Welcome Message for New"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/twilio.svg' width='40' height='40' /></div><br/>Repeat Client Reminder"]
n5@{ icon: "mdi:cog", form: "rounded", label: "Post-Visit Delay", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/twilio.svg' width='40' height='40' /></div><br/>Request Feedback Survey"]
n0 --> n1
n1 --> n2
n5 --> n6
n4 --> n5
n2 --> n3
n2 --> n4
n3 --> n5
end
subgraph sg1["Reactivation Schedule Flow"]
direction LR
n7@{ icon: "mdi:play-circle", form: "rounded", label: "Reactivation Schedule Trigger", pos: "b", h: 48 }
n8@{ icon: "mdi:database", form: "rounded", label: "Locate Lapsed Clients", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/twilio.svg' width='40' height='40' /></div><br/>Reactivation Offer Text"]
n7 --> n8
n8 --> n9
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0,n7 trigger
class n2 decision
class n1,n8 database
classDef customIcon fill:none,stroke:none
class n3,n4,n6,n9 customIcon
The Problem: No-shows, silent clients, and manual follow-ups
Appointment businesses don’t usually struggle to get interest. They struggle to keep booked time from leaking. Someone schedules in Google Calendar, you assume it’s handled, and then the day arrives and they simply… don’t show. You can try manual reminders, but those get skipped on busy days, and the message ends up inconsistent anyway. Then you still have the post-visit work: thank-you texts, review requests, rebooking nudges. Honestly, it’s not one task. It’s the pile of tiny tasks that never ends.
Individually, each follow-up feels quick. Together, it’s a system. And a system shouldn’t live in your head.
- You end up sending reminders too late (or not at all) because you’re relying on memory between sessions and calls.
- New clients need a warmer, clearer message, but returning clients just need a simple confirmation, and manual texting blurs that line.
- Review requests get forgotten, which means fewer testimonials even when clients are happy.
- Lapsed clients quietly disappear because there’s no weekly habit of checking who hasn’t rebooked.
The Solution: Google Calendar-triggered SMS reminders and follow-ups
This workflow turns your Google Calendar into the trigger for a simple, reliable client journey. When a new booking is created, n8n pulls the event details and looks the person up in your CRM list stored in Google Sheets (or Airtable). Based on what it finds, it sends the right Twilio text: a friendly welcome message for brand-new clients, or a straightforward reminder for returning ones. After the appointment time passes, the workflow waits and then sends a follow-up text that can include a review link or quick survey. Separately, a weekly scheduled check scans your CRM for clients who haven’t rebooked in a set window (often about 30 days) and sends a reactivation offer automatically.
The flow starts with a calendar booking. It branches into “new vs returning,” sends the right SMS, then waits until after the event to deliver the thank-you and review request. On a weekly schedule, it also finds lapsed clients and nudges them back in.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you run about 30 appointments a week. If you manually send a reminder and a follow-up, that’s roughly 5 minutes per client, or about 2.5 hours weekly spent just on texting (and that’s when you remember). With this workflow, you do the setup once, then the “work” becomes close to zero: the booking triggers the SMS automatically, the follow-up goes out after the appointment, and the weekly reactivation check runs in the background. Those hours come back fast.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Calendar to detect new appointment bookings
- Twilio to send SMS reminders and follow-ups
- Google Sheets to store and look up client records
- Twilio API credentials (get them from the Twilio Console)
Skill level: Beginner. You’ll connect accounts, choose your calendar/sheet, and edit a few message templates.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A new appointment hits your calendar. When an event is created in Google Calendar, the workflow grabs the event details (client name, date/time, and typically an email or phone field).
Your CRM list gets checked automatically. n8n queries your Google Sheet to see if that email already exists, which is the simplest way to tell “new client” from “repeat client.”
The right SMS gets sent via Twilio. An If branch splits the logic. New clients receive a welcome-style text with clearer prep instructions, and returning clients receive a shorter reminder that feels familiar.
Follow-up and reactivation happen without you. A Wait node holds until after the appointment time, then Twilio sends the thank-you and review/survey link. On a weekly schedule, the workflow finds clients who haven’t rebooked recently and sends a reactivation offer.
You can easily modify the reminder timing and message templates to match your brand and booking rules. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Calendar Trigger
This workflow starts when a calendar event is detected and uses that event to look up client information.
- Add and open Calendar Event Starter as your primary trigger.
- Select your Google Calendar account in Calendar Event Starter.
Credential Required: Connect your Google Calendar credentials. - Save the node so the workflow can listen for new events.
Step 2: Connect Google Sheets Data Sources
Two Google Sheets nodes power the CRM lookup and lapsed-client discovery for reactivation messaging.
- Open Retrieve CRM Client Info and connect your Google Sheets account.
Credential Required: Connect your Google Sheets credentials. - Open Locate Lapsed Clients and connect the same Google Sheets account.
Credential Required: Connect your Google Sheets credentials. - Confirm each node is set to the correct spreadsheet and worksheet for your CRM data.
Step 3: Configure Branching Logic for New vs Returning Clients
The workflow splits incoming clients into new and returning groups and sends different messages.
- Open Branch New vs Returning and define the IF condition that distinguishes new clients from returning ones based on CRM fields.
- Verify the execution flow: Retrieve CRM Client Info → Branch New vs Returning.
- Confirm that Branch New vs Returning outputs to both Welcome Message for New and Repeat Client Reminder depending on the condition.
Step 4: Configure Messaging and Delay Sequence
Twilio sends client messages, followed by a timed wait and a feedback request.
- Open Welcome Message for New and connect Twilio.
Credential Required: Connect your Twilio credentials. - Open Repeat Client Reminder and connect Twilio.
Credential Required: Connect your Twilio credentials. - Configure Post-Visit Delay with the wait duration you want between the initial message and follow-up.
- Open Request Feedback Survey and connect Twilio.
Credential Required: Connect your Twilio credentials.
Step 5: Configure the Reactivation Schedule and Offer
A separate schedule identifies lapsed clients and sends a reactivation offer.
- Open Reactivation Schedule Trigger and set the schedule for how often to check for lapsed clients.
- Confirm the flow Reactivation Schedule Trigger → Locate Lapsed Clients → Reactivation Offer Text.
- Open Reactivation Offer Text and connect Twilio.
Credential Required: Connect your Twilio credentials.
Step 6: Test and Activate Your Workflow
Run a manual test to verify each branch, wait period, and message before activating the workflow.
- Click Execute Workflow and trigger Calendar Event Starter with a sample event.
- Confirm that Retrieve CRM Client Info returns data and that Branch New vs Returning routes correctly to Welcome Message for New or Repeat Client Reminder.
- Verify the delay in Post-Visit Delay and that Request Feedback Survey sends after the wait.
- Manually run Reactivation Schedule Trigger to confirm Locate Lapsed Clients and Reactivation Offer Text work end-to-end.
- When satisfied, toggle the workflow to Active for production use.
Common Gotchas
- Google Calendar credentials can expire or need specific permissions. If things break, check your n8n Credentials panel and the connected Google account access first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Twilio can fail silently if you’re missing a valid “From” number or you’re sending to unverified destinations on a trial account. Check the Twilio Console Message Logs to see the exact error.
Frequently Asked Questions
About 30 minutes if your Google Calendar, Twilio, and Google Sheet are ready.
No. You’ll connect accounts and edit message templates inside n8n. The “logic” is mostly choosing what counts as a new client and when texts should send.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Twilio SMS costs (often just a few cents per text, depending on country).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you should. You can adjust the timing by changing the “Post-Visit Delay” Wait node, and you can tailor messaging by editing the “Welcome Message for New,” “Repeat Client Reminder,” and “Request Feedback Survey” Twilio nodes. Common tweaks include sending a reminder the day before, adding prep instructions for first-time visits, and swapping the review link for a booking link when you want faster repeat business.
Usually it’s an invalid or missing Twilio auth token in n8n credentials, or the Twilio “From” number isn’t set to a number you own. If you’re on a Twilio trial, you may also be blocked from texting unverified numbers. Check the Twilio Console logs to see the exact reject reason, then update the credential in n8n.
A lot for a typical small business. On n8n Cloud, your limit is based on monthly executions, and self-hosting removes that cap (your server becomes the limit). Practically, sending reminder texts for dozens or even a few hundred appointments a week is well within reach.
Often, yes, once you want branching logic like “new vs returning,” a post-appointment wait, and a separate weekly reactivation loop running together. n8n handles that kind of multi-path workflow cleanly, and self-hosting can keep costs predictable when volume grows. Zapier or Make can still be totally fine for a simple reminder text, especially if you want the quickest possible setup and don’t care about the reactivation piece. The decision usually comes down to how much logic you need and how fast your bookings are scaling. If you want a quick recommendation based on your exact tools, Talk to an automation expert.
Once this is live, reminders and follow-ups stop being “another thing to remember.” Your calendar fills, your clients show up, and the workflow quietly does its job.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.