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.
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?
What if a client does not have a phone number in Acuity?
Will canceled appointments still get a reminder?
How do I stop certain appointment types from sending reminders?
Does the reminder respect the client's time zone?
Related templates
Every night at 8pm, sweep yesterday's completed Acuity appointments that are still unpaid and open matching QuickBooks invoices with a Sheets audit log.
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.
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.
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.
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.
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.
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.