Daily Acuity cancellation rebooking with live availability

Every evening at 6pm, sweep today's Acuity cancellations and draft a warm rebooking email in Gmail with two or three real open slots pulled straight from your calendar.

Agentic Task
Acuity SchedulingGmailGoogle SheetsSlackSalesOperationsEmail AutomationNotifications & Alerts
PromptCreate

Every evening at 6pm on a cron trigger, sweep Acuity Scheduling for appointments canceled in the last 24 hours and try to bring each of those clients back with a warm, personalized rebooking email that offers real open slots on the practitioner's calendar.

Start by calling Acuity's List Appointments to fetch cancellations from the last 24 hours (use the canceled filter and a minDate roughly 24 hours ago). For each canceled appointment, capture the client's name, email, phone, the canceled datetime, the appointment type id, and the calendar id.

Before drafting anything, apply two skip rules per client. First, call List Appointments again scoped to that client's email and look for any new (non-canceled) appointment created in the last 24 hours; if one exists, they already rebooked and should be skipped. Second, count that client's canceled appointments in the last 60 days; if there are more than two, skip them so the practitioner can handle repeat cancellers directly.

For clients who pass both checks, resolve the appointment type name and duration by calling List Appointment Types and matching on the appointment type id. Then pull live openings for that same appointment type over the next 14 days: call Get Available Dates to find days with any availability in the current and next month (filtered to the 14-day window and the same calendar id), then call Get Available Times for each of the first few open dates until you have a handful of concrete slots to choose from.

From those live openings, pick two or three specific alternative time slots that feel like a natural spread (for example: tomorrow afternoon, later this week, and early next week) and use Gmail Create a Draft to write a warm, personalized rebooking email addressed to the client. Reference the appointment type they had booked and the day they canceled, acknowledge that things come up, and propose the two or three specific times you selected. Keep it short and human. Do not send the message; leave it as a draft in the practitioner's Gmail so they can review and personalize before hitting send.

Log every cancellation into a Google Sheets tab using Append Values. Each row should include the client name, client email, the canceled slot's datetime, the appointment type name, the suggested slots you offered, and a link to the Gmail draft so the practitioner can jump straight to it.

Finish by posting a short Slack summary via Send a Message to the practitioner's chosen channel or DM. The summary should include the total count of cancellations found in the last 24 hours, the number of drafts prepared, and how many clients were skipped (broken out by reason: already rebooked, or over the two-cancellation limit). Keep the message compact and skimmable.

Rules the workflow must always follow: never auto-send email, always leave it as a draft; skip clients who have already rebooked in the last 24 hours; skip clients with more than two cancellations in the last 60 days; only ever suggest time slots that came back from live Acuity availability (never invent times); and only pull availability for the exact appointment type the client originally booked.

What does this prompt do?

  • Checks Acuity Scheduling each evening for appointments canceled in the last 24 hours
  • Pulls live openings for the same appointment type over the next 14 days so the suggestions are actually bookable
  • Drafts a personalized Gmail rebooking email offering two or three specific alternative times
  • Logs every cancellation to a Google Sheet with the client, canceled slot, appointment type, suggested times, and draft link
  • Posts a short Slack summary with the count of cancellations spotted and drafts prepared
  • Skips clients who already rebooked in the last 24 hours or who have canceled more than twice in the last 60 days

What do I need to use this?

  • An Acuity Scheduling account with permission to read appointments, appointment types, and availability
  • A Gmail account for the practitioner who will review and send the drafts
  • A Google Sheet with a tab set up for the cancellation log
  • A Slack workspace and a channel or DM to post the evening summary

How can I customize it?

  • Change the run time or move it to weekdays only
  • Adjust the 14-day lookahead window or how many alternative times to suggest per email
  • Tune the skip rules for repeat cancellations or already-rebooked clients
  • Point the Slack summary at a different channel or personal DM

FAQs

Will the rebooking email get sent automatically?
No. The workflow always leaves the email as a Gmail draft so you can review and personalize it before hitting send. Nothing goes out without you.
How does it know which time slots are actually available?
It reads your live Acuity availability for the same appointment type the client canceled, over the next 14 days, so every time it suggests is a real bookable slot on your calendar.
What if a client already rebooked themselves?
The workflow checks Acuity for any new appointment from that client in the last 24 hours and skips the rebooking email if it finds one.
What about repeat cancellers?
Clients with more than two cancellations in the last 60 days are skipped automatically, so you can decide how to handle them yourself instead of getting another draft.
Do I need a paid Acuity plan?
You need the Acuity plan tier that unlocks the scheduling API, which is available on the standard business plans. Any Gmail and Slack account will work.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Local listing health board for every location you manage

See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.

Local Business Data
Google Sheets
App
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Let support send one-off Loops emails without an engineer

Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.

Loops.so
Stripe
Google Sheets
App
Stop cold emails to anyone with a live deal in Pipedrive

Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.

Mailshake
Pipedrive
Google Sheets
Deterministic Code
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App

Turn last-minute cancellations into second-chance bookings.

Give your practitioners a nightly stack of ready-to-send rebooking drafts, each one built around real openings from your calendar.