Zapier Automation: Auto-Follow-Up When a Patient Cancels or No-Shows
For Dental Receptionists
Tools: Zapier + Weave (or NexHealth) | Time to build: 1-2 hours | Difficulty: Intermediate-Advanced Prerequisites: Comfortable using Weave for patient messaging — see Level 3 guide: "Set Up Automated Recall Campaigns in Weave"
What This Builds
Every time a patient cancels or no-shows, Zapier automatically sends them a personalized text or email inviting them to rebook — within minutes, not days. Instead of a receptionist manually scanning cancellations and making calls, the follow-up happens by itself. Practices that implement this fill 1–3 additional appointments per week from patients who would otherwise have slipped through the cracks.
Prerequisites
- Zapier account — free plan works; paid plan ({{tool:Zapier.price}}) needed if you run more than 5 automations
- Weave or NexHealth (for the messaging trigger and outbound text)
- Google Sheets (to log which patients were contacted — free)
- You've used Weave for at least a few weeks and know how appointments are tracked
- Your office manager's approval to send automated texts to patients
The Concept
Think of Zapier as a very literal assistant who watches for one thing and does another thing every time it happens. You write the rule: "When a patient cancels in Weave, text them with this message." Zapier watches Weave around the clock and fires the text without you touching anything.
The whole chain looks like this: Weave appointment cancelled → Zapier detects it → Zapier sends a text via Weave → Zapier logs the contact in Google Sheets
Build It Step by Step
Part 1: Set up your Google Sheet log
Before building the automation, create the tracking sheet:
- Open Google Sheets (sheets.google.com) → New spreadsheet
- Name it: "Cancellation Follow-Up Log"
- Add these headers in Row 1: Date | Patient Name | Appt Time | Message Sent | Response | Rebooked?
- Save the sheet and copy the Sheet URL from your browser — you'll need it later
Part 2: Create your Zap in Zapier
- Go to zapier.com and create a free account (or log in)
- Click Create Zap (or + New Zap)
- You'll see a blank workflow with a Trigger and an Action
Step 2a: Set the Trigger
- Click the Trigger box
- Search for "Weave" in the app search (if Weave is available) OR use "Webhooks by Zapier" if Weave isn't listed
- If using Webhooks: Weave must be configured to send a webhook on cancellation — this requires a short call with Weave support (15 min)
- Select the event: "Appointment Cancelled" or "Appointment Status Changed to Cancelled/No-Show"
- Click Continue and follow the authentication steps to connect your Weave account
Step 2b: Filter to exclude same-day cancellations less than 1 hour away (Optional but recommended — you don't want to text patients who just cancelled for today within the hour)
- Click the + button after the Trigger
- Add a Filter step
- Set condition: only continue if the cancellation is for an appointment that was more than 60 minutes from the time of cancellation
Step 2c: Set the Action — Send a Text
- Click the Action box
- Search for "Weave" and select Send Text Message
- Map the fields:
- To: select the patient's phone number from the Trigger data
- Message: write your follow-up text (see template below)
- Click Continue and test the action
Your cancellation follow-up message:
Hi [Patient First Name], we noticed you had to miss your appointment at [Practice Name]. We'd love to get you rescheduled — we have openings [this week/soon]. Call us at [Practice Phone] or reply YES and we'll reach out. Reply STOP to opt out.
In Zapier, replace [Patient First Name] with the dynamic field from your trigger data.
Step 2d: Set the second Action — Log to Google Sheets
- Click + to add another action after the text
- Search for "Google Sheets" → select Create Spreadsheet Row
- Connect your Google account
- Select your "Cancellation Follow-Up Log" sheet
- Map the fields:
- Date → current date/time
- Patient Name → from trigger data
- Appt Time → from trigger data
- Message Sent → "Yes"
- Click Continue
Part 3: Test and Refine
- Click Test Zap to run the automation with sample data
- Check your Google Sheet — does a row appear?
- Check Weave — was a test message sent?
- If everything looks right, click Publish
Real Example: A Monday Morning at Your Practice
Setup: The Zap is active. You come in at 8:30 AM.
What happened overnight: A patient (Maria) cancelled her 9:00 AM appointment via your website at 7:15 AM.
What Zapier did automatically: At 7:16 AM, Zapier detected the cancellation → sent Maria a text: "Hi Maria, we noticed you had to miss your appointment at Sunshine Dental. We'd love to get you rescheduled — we have openings this week. Call us at (555) 234-5678 or reply YES and we'll reach out."
What you see when you arrive: Maria already replied YES at 7:22 AM. You call her at 9:00 AM (when you'd otherwise be doing her appointment anyway) and rebook her for Thursday.
Time saved: Zero minutes of manual work to follow up. The slot may still be empty today, but Maria is rebooked for Thursday instead of falling off the radar for 6+ months.
Time saved (weekly): This replaces 30–45 minutes of manual cancellation follow-up per day — and captures bookings that would otherwise never happen.
What to Do When It Breaks
- Zap not triggering → Check that the Weave/webhook connection is still authenticated. Zapier connections sometimes expire — re-authenticate in Zapier's Connected Apps settings
- Wrong patient name in the message → Your trigger data field mapping is off. Go back to the action step and re-map the "First Name" field to the correct data field from Weave
- Texts going to wrong numbers → Confirm in Weave that the phone number field in your patient records is consistently formatted (some older records may have formatting issues like dashes vs. no dashes)
- Too many texts going out → Add a filter: only trigger for patients with a future appointment (not same-day no-shows from years ago that might be in old data)
Variations
- Simpler version: Skip the Google Sheets logging step — just the trigger + text. Takes 30 minutes to build.
- Extended version: Add a second text 3 days later if the patient still hasn't replied or rebooked. This turns the single-message automation into a 2-step mini-recall campaign.
What to Do Next
- This week: Build the simple version (trigger + text, no Sheet logging) and test it with one real cancellation
- This month: Add the Google Sheets log and start tracking rebook rates — how many patients followed up actually rebooked?
- Advanced: Connect this to a Zapier Slack/Gmail notification so you or your manager gets an alert when a patient replies YES — so the callback can happen within minutes
Advanced guide for dental receptionist professionals. These techniques use more sophisticated AI features that may require paid subscriptions.