Daily Twilio SMS reminders for tomorrow's Acuity appointments

Every morning at 10am, text each client with an appointment tomorrow their time, session type, and where to show up, with no duplicate sends.

Deterministic Code
Acuity SchedulingTwilioOperationsCustomer SupportNotifications & AlertsMeeting Workflows
PromptCreate

Every morning at 10am on a cron trigger, send a Twilio SMS reminder to every Acuity Scheduling client who has an appointment tomorrow.

Start by calling Acuity Scheduling List Appointments with minDate and maxDate set to tomorrow's local day so the response only contains appointments that fall on that date. Iterate every appointment in the response.

For each appointment, decide whether to skip it before doing any work. Skip the appointment if it is canceled, if the client record has no phone number, if the appointment's type is flagged as no-reminder (treat this as a configured list of appointment type ids or a matching flag on the type), or if the appointment already carries the label reminder_sent. Any of those conditions means move on to the next appointment.

For every appointment that passes the checks, build the SMS body. Address the client by their first name from the Acuity appointment. Render the appointment start time in the client's timezone using the timezone field on the appointment, not the account's timezone. Include the appointment type name, the location or video link (from the appointment fields), and a short one-line reschedule instruction the client can act on.

Send the message with Twilio Send a Message to the client's phone number using your Twilio sending number. Phone numbers must be in E.164 format.

After a successful send, call Acuity Scheduling Update Appointment to add the label reminder_sent to that appointment. This is what makes the workflow idempotent: a second run later in the day will see the label and skip the appointment instead of double-texting.

Log a short line per appointment so the run history shows what was sent, what was skipped, and why (canceled, no phone, no-reminder type, or already labeled).

Additional information

What does this prompt do?
  • Every morning at 10am, pulls tomorrow's Acuity appointments and texts each client a personal SMS reminder through Twilio.
  • The message includes the client's first name, appointment time in their own timezone, session type, and the address or video link, plus a short one-line reschedule instruction.
  • Skips canceled appointments, clients without a phone number on file, and appointment types you have flagged as no-reminder.
  • Tags every appointment after it texts, so if the job runs twice the same client never gets the reminder twice.
What do I need to use this?
  • An Acuity Scheduling account with tomorrow's appointments on the calendar and phone numbers saved on client records
  • A Twilio account with a sending phone number that can text your clients
  • A shared address or video link to include in the reminder (per appointment type or per calendar)
  • Optionally, an appointment label named reminder_sent set up in Acuity so the tag exists on the first run
How can I customize it?
  • Change the send time to earlier or later in the day, or add a second run a few hours before each appointment
  • Rewrite the SMS body: swap the greeting, adjust the tone, or drop the reschedule line
  • Mark specific appointment types as no-reminder in Acuity so they get skipped automatically

FAQs

What happens if the workflow runs more than once in a day?
Nothing. We tag every appointment we already texted with a reminder_sent label, so re-runs skip anyone who already got the message.
What if a client does not have a phone number in Acuity?
We skip them silently. Only clients with a phone number saved on their Acuity record receive a text.
Will canceled appointments still get a reminder?
No. Canceled appointments are filtered out before we send anything.
How do I stop certain appointment types from sending reminders?
Flag those appointment types as no-reminder in Acuity and the workflow will skip every appointment of that type.
Does the reminder respect the client's time zone?
Yes. The appointment start time in the SMS is rendered in the client's timezone as stored on the Acuity appointment, not yours.

Related templates

Nightly QuickBooks invoices for unpaid Acuity appointments

Every night at 8pm, sweep yesterday's completed Acuity appointments that are still unpaid and open matching QuickBooks invoices with a Sheets audit log.

Acuity Scheduling
QuickBooks Online
Google Sheets
Deterministic Code
Auto-create Zoom meetings for new Acuity virtual sessions

Every 15 minutes we sweep Acuity for freshly booked virtual sessions, spin up a Zoom room with passcode, draft a warm client confirmation, and post a compact Slack heads-up.

Acuity Scheduling
Zoom
Gmail
+1
Agentic Task
Fill reopened Acuity slots from a Google Sheets waitlist

Every hour during business hours, catch newly opened Acuity time slots and draft a personalized Gmail offer to the best-fit waitlisted client in Google Sheets.

Acuity Scheduling
Google Sheets
Gmail
Agentic Task
Onboard new Acuity clients with Mailchimp tags and a Gmail welcome

Every evening at 6pm, spot today's first-time Acuity clients, tag them in Mailchimp from their intake answers, and draft a personal welcome email in Gmail.

Acuity Scheduling
Mailchimp
Gmail
+1
Agentic Task
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.

Acuity Scheduling
Gmail
Google Sheets
+1
Agentic Task
Weekly Acuity practice performance report in Slack

Every Sunday at 8pm, turn the past week of Acuity Scheduling bookings into a plain-English performance report with insights and next-week actions, posted to Slack and logged to Google Sheets.

Acuity Scheduling
Slack
Google Sheets
Agentic Task

Cut no-shows without touching a phone.

Set this reminder loop up once and every client on tomorrow's schedule gets a personal text the morning before their appointment.