WhatsApp appointment reminders for tomorrow's bookings

Every weekday morning we message tomorrow's customers on WhatsApp with their appointment time and location, so fewer bookings turn into no-shows.

Agentic Task
WhatsApp BusinessGoogle CalendarSlack BotOperationsCustomer SupportMeeting WorkflowsNotifications & Alerts
PromptCreate

Every weekday at 8am, remind tomorrow's customers about their appointment over WhatsApp so I stop losing revenue to no-shows. Use a cron trigger scheduled Monday to Friday at 8am in my local timezone.

Start with Google Calendar List Events to pull every event on my bookings calendar for tomorrow. Expand recurring events into individual instances and order them by start time, so each real appointment is handled exactly once.

Then work through the events one at a time and decide which are genuine customer bookings. For each one, find the customer's mobile number, which may be written into the event description alongside the booking notes, or attached to a guest on the invite. Skip an event and record the reason when it is an internal meeting (team syncs, blocked-out or personal time, no external guest), when it has been cancelled, or when no mobile number can be found. Never guess or invent a number.

Important nuance to bake in: this reminder goes out roughly a day ahead, which makes it a business-initiated message sent well outside WhatsApp's 24 hour customer service window. It must therefore be sent with WhatsApp Send Message as a pre-approved template message rather than as free-form text, otherwise it will not be delivered. Use WhatsApp List Message Templates first to confirm my appointment reminder template is approved and to read the order of its variables, then pass the customer name, appointment time and location through as template variables in that order. Format every recipient number in full international format with no plus sign, spaces or dashes.

If a send fails, for example because the number is not on WhatsApp or the template variables do not match the approved template, do not stop the run. Record the failure against that customer and carry on with the remaining appointments.

Finish by posting a short recap to Slack with Slack Bot Send a Message. List who was reminded along with their appointment time, then list every booking that was skipped or failed with the reason for each, so I can chase anything that needs a manual phone call.

Example output

Appointment reminders sent for Tue 12 Aug Reminded (4) • Sarah Nolan, 9:30am, Bridge Street studio • Mark Reilly, 11:00am, Bridge Street studio • Priya Shah, 2:15pm, Northside clinic • Tom Okafor, 4:00pm, Northside clinic Skipped (3) • Team pipeline review, 10:00am, internal meeting • Dan Whelan, 1:00pm, no mobile number on the booking • Ciara Byrne, 3:00pm, booking cancelled

What does this prompt do?

  • Each weekday morning it reads tomorrow's bookings from your calendar and works out which ones are real customer appointments.
  • It finds each customer's mobile number, whether it is typed into the booking notes or attached to the invite as a guest.
  • It sends every customer a WhatsApp reminder with their name, appointment time and location, using your approved reminder template so the message is allowed to arrive a day ahead.
  • It posts a short recap to Slack listing who was reminded and which bookings were skipped or failed, with the reason for each.

What do I need to use this?

  • A WhatsApp Business account with an approved appointment reminder template that has fill-in fields for name, time and location
  • A Google Calendar you use for customer bookings
  • A Slack workspace and a channel where the daily recap should land
  • Customer mobile numbers saved on the booking, either in the notes or as an invite guest

How can I customize it?

  • Change the send time, or run it seven days a week instead of weekdays only
  • Point it at a different bookings calendar, or have it cover the next two days instead of just tomorrow
  • Add Confirm, Reschedule and Cancel buttons to your reminder template so customers can respond with one tap
  • Adjust what counts as an internal meeting so team time never triggers a reminder

FAQs

Why does the reminder have to use an approved template?
WhatsApp only lets a business start a brand new conversation using a message template that Meta has approved in advance. Because this reminder goes out the day before the appointment, there is usually no open conversation with that customer, so an ordinary typed message would simply not be delivered. The workflow fills your approved template with each customer's name, appointment time and location.
What happens if a booking has no phone number on it?
Nothing is sent for that booking. It is listed in the Slack recap as skipped, with the reason, so you can follow up by phone or email if it matters.
Will it message my colleagues about internal meetings?
No. It reviews each event first and skips internal meetings, blocked-out or personal time, and anything already cancelled. Only genuine customer bookings get a reminder.
Do I need a WhatsApp Business account, or is my personal WhatsApp enough?
You need a WhatsApp Business account. Personal WhatsApp accounts cannot send automated business messages.
What if a customer's number is not on WhatsApp?
That send is recorded as failed and the run keeps going through the rest of the day's appointments. The failure shows up in the Slack recap so nobody is quietly missed.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task

Stop losing revenue to no-shows.

Set tomorrow's WhatsApp reminders up once and let them go out every weekday morning without anyone touching a phone.