An empty slot is lost money. Each morning this reminds tomorrow's clients by text, or email if there's no phone, and sends a kind, guilt-free note to yesterday's no-shows offering to rebook. It starts in test mode so everything goes to you first.
Import it into n8n
The short lesson
- Why it matters
- An empty slot is lost money. A short reminder, and a kind note to no-shows, can win some of them back.
- Common mistake
- Making no-show messages sound like a scolding, or mentioning penalties you don't enforce.
- Next step
- Let clients reply to confirm or reschedule, and update the calendar automatically.
What's inside
- An n8n workflow with day-before reminders and no-show rescue
- Text if there's a phone number, email if not
- Test mode that sends everything to you first
- The prompt, to use in any other tool
What it does
- Each morning it reads your appointments sheet.
- It finds appointments tomorrow that haven't been reminded, and no-shows from yesterday that haven't been contacted.
- The AI writes a short message for each: a reminder, or a kind note offering to rebook.
- It's sent by text, or by email when there's no phone number.
- The sheet is marked so nobody is messaged twice.
Set it up
Pick the path that matches the tools you already use.
- Download the workflow file from the box on this page. It's a .json file.
- In n8n, create a new workflow, open the ⋯ menu at the top right, and choose Import from file. Pick the file you downloaded.
- Nodes that need a login show a warning. Click each one and connect your own account. n8n walks you through it.
- Open the node called Settings and replace the sample values with yours.
- Click Execute workflow to run it once with test data and check what comes out.
- When you're happy with it, switch the workflow to Active.
| You'll connect | What it's used for |
|---|---|
| Google Sheets | Holds your appointments |
| Twilio | Sends the texts |
| Gmail | Sends email reminders |
| An AI model | Writes each message |
| Google Sheet: Appointments |
|---|
| Date · Time · Client · Phone · Email · Service · Status · Reminder Sent · Rescue Sent |
Status can be Booked, Confirmed, Completed, No-show or Cancelled. Set No-show after a missed visit.
Using Claude, Gemini or another model instead of OpenAI? Delete the model node under each AI step, add the one you want, and drag its connector into the AI step.
New to n8n? Start here →The AI prompt
This is exactly what the n8n file sends to the AI. Square brackets are the details your tool fills in for each customer.
Instructions to the AI
You write short text messages for [business] to a client about an appointment. Rules: - Reminder: confirm the day, time and service. Under 200 characters. Say they can reply here or call [phone] to change it. - Missed appointment: kind, no guilt, offer to rebook. Under 240 characters. - Never mention fees or penalties. No emojis. Return only the text message.
What you send it each time
Type: [kind] Client: [name] Service: [service] Appointment: [when]
Test it before it touches a customer
- Leave test mode on and add appointments for tomorrow and a no-show for yesterday.
- Check the messages arrive on your phone and email, and read as friendly rather than pushy.
- Run it twice. The second run should send nothing.
Texts to customers need their permission and a way to opt out. Confirm yours before you turn the test mode off.
When you'll outgrow this
This is the right size for most small businesses. These are the signs it's time for something sturdier.
- You want clients to confirm, cancel or reschedule by replying, with your calendar updating itself.
- You run a booking system that already has reminders and you need to combine the two.
- You handle health information and need stricter privacy controls than a spreadsheet gives.