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
Frequently asked questions
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
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.