Zapier Automation: Auto-Follow-Up When a Patient Cancels or No-Shows

Zapier

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:

  1. Open Google Sheets (sheets.google.com) → New spreadsheet
  2. Name it: "Cancellation Follow-Up Log"
  3. Add these headers in Row 1: Date | Patient Name | Appt Time | Message Sent | Response | Rebooked?
  4. Save the sheet and copy the Sheet URL from your browser — you'll need it later

Part 2: Create your Zap in Zapier

  1. Go to zapier.com and create a free account (or log in)
  2. Click Create Zap (or + New Zap)
  3. You'll see a blank workflow with a Trigger and an Action

Step 2a: Set the Trigger

  1. Click the Trigger box
  2. Search for "Weave" in the app search (if Weave is available) OR use "Webhooks by Zapier" if Weave isn't listed
  3. If using Webhooks: Weave must be configured to send a webhook on cancellation — this requires a short call with Weave support (15 min)
  4. Select the event: "Appointment Cancelled" or "Appointment Status Changed to Cancelled/No-Show"
  5. 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)

  1. Click the + button after the Trigger
  2. Add a Filter step
  3. 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

  1. Click the Action box
  2. Search for "Weave" and select Send Text Message
  3. Map the fields:
    • To: select the patient's phone number from the Trigger data
    • Message: write your follow-up text (see template below)
  4. Click Continue and test the action

Your cancellation follow-up message:

Copy and paste this
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

  1. Click + to add another action after the text
  2. Search for "Google Sheets" → select Create Spreadsheet Row
  3. Connect your Google account
  4. Select your "Cancellation Follow-Up Log" sheet
  5. Map the fields:
    • Date → current date/time
    • Patient Name → from trigger data
    • Appt Time → from trigger data
    • Message Sent → "Yes"
  6. Click Continue

Part 3: Test and Refine

  1. Click Test Zap to run the automation with sample data
  2. Check your Google Sheet — does a row appear?
  3. Check Weave — was a test message sent?
  4. 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.