Daily WhatsApp reminders for tomorrow's appointments
Every evening at 6pm, message tomorrow's customers on WhatsApp with their appointment time and location, so fewer of them forget to show up.
Every day at 6pm, send WhatsApp reminders for tomorrow's appointments so we stop losing money to no-shows. Run this on a daily cron at 6pm in our business timezone.
Start by fetching tomorrow's appointments from Google Calendar with the List Events operation, pointed at our bookings calendar. Set the time window to cover all of tomorrow, from midnight to 11:59pm in our local timezone, and page through the results so a busy day never gets truncated. Skip anything that is cancelled, and skip all-day entries, which are usually holiday or availability blocks rather than real bookings.
For each remaining event, pull the customer's WhatsApp number out of the event description or the location field. Booking tools write the number into either place and the formatting is inconsistent, so match tolerantly: allow spaces, dashes, parentheses, and a leading plus or country code, then normalize whatever you find into E.164 format. If an event has no number that parses into a plausible phone number, skip that event and carry on with the rest. One unparseable event must never fail the whole run. Take the customer name from the event title, falling back to the first guest's name if the title does not carry it.
For every appointment that has a usable number, send the reminder with Kapso's Send a Message operation, passing the normalized number in the `to` field. This has to be an approved WhatsApp message template rather than free-form text. Kapso's own docs are explicit that "Sending a template to a number outside an open 24-hour customer service window requires an approved message template", and a reminder going out the day before an appointment is almost always outside that window. Fill the template variables with the customer name, the appointment start time formatted in our local timezone, and the location.
Send at most one reminder per event. Before sending, check whether we have already logged a reminder for that calendar event id, and skip the event if we have. After each successful send, record the event id so that a manual rerun later the same evening never messages anyone twice.
Finish the run with a short log line summarizing how many events were found, how many reminders were sent, how many were skipped for a missing or unparseable number, and how many were skipped because a reminder had already gone out.
What does this prompt do?
- Checks your bookings calendar every evening at 6pm and pulls every appointment scheduled for the next day.
- Finds the customer's WhatsApp number in the booking details, and quietly skips any appointment that does not have one.
- Sends each customer an approved WhatsApp reminder with their name, appointment time, and location.
- Keeps track of who has already been messaged, so running it again never sends anyone a second reminder.
What do I need to use this?
- A Google Calendar account, and the calendar you use for customer bookings.
- A Kapso account with a connected WhatsApp business number.
- An approved WhatsApp reminder template in Kapso with placeholders for the customer name, appointment time, and location. WhatsApp requires a pre-approved template to message customers who have not written to you in the last 24 hours.
- Customer phone numbers saved in the description or location field of each booking.
How can I customize it?
- Change the send time. The evening before is a common choice, but you can move it earlier, or run it twice so customers get a reminder a day ahead and again on the morning of.
- Point it at a different calendar, or filter to specific appointment types so internal blocks and personal events are left alone.
- Swap in a different approved template to reword the reminder, add your cancellation policy, or send in another language.
FAQs
Why does the reminder have to use a pre-approved template?
What happens if a booking has no phone number?
Could a customer get the same reminder twice?
Where does it look for the phone number?
Will this work for a clinic or salon that books everything in Google Calendar?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Every weekday at 7:30am, get a Slack message that fits today's real tasks into the gaps between your meetings, and warns you when the day is overbooked.
Every weekday morning we message tomorrow's customers on WhatsApp with their appointment time and location, so fewer bookings turn into no-shows.
When a deal is marked closed won, we set up the Smartsheet row, book the kickoff meeting, and tell the delivery team in Slack.
Every weekday morning, get a briefing that reads your recovery, flags the meetings worth cutting, and books you a recovery break before the day starts.
Stop losing money to no-shows.
Set it up once, and every customer hears from you the evening before their appointment.