Overview
Reminders notify the customer (and can notify the agent) before the appointment time. You control two things:
- When the reminder goes out β the lead times (for example, 24 hours and 1 hour before the start). You can set as many as you want.
- What the reminder says β the message (template), written with variables that Conversa Labs replaces with the appointment's real data at send time.
The configuration is a cascade: you set a default on the account, can override it per event type, and, if needed, adjust it directly on a single event.
Prerequisites
- The Calendar module enabled and a booking that reaches the confirmed state.
- For email delivery, SMTP configured on the account. For WhatsApp delivery, a WhatsApp inbox with a conversation for the contact (see the channel-aware delivery article).
- A profile allowed to configure the Calendar.
Step by step
- Open the Calendar settings and go to Reminders.
- In Lead times, enter the minutes before the start β for example 1440 (24 h) and 60 (1 h). Add or remove as many as you need.
- In Message, write the reminder text using the available variables (see the table below).
E.g.:
Hi {{contact_name}}, your {{title}} is on {{date}} at {{time}}. Link: {{link}}. - (Optional) For different rules per service, open the event type and set the timings and message there β they override the account default.
- (Optional) On a specific event, adjust the reminders just for that appointment.
- Save and create a test booking to check the final text and the send time.
Settings & options
- Lead times: a list of minutes before the start. Reference default: 1440 and 60 (24 h and 1 h). Each timing fires exactly once per booking.
- Message (template): the reminder body, with variables replaced at send time.
- Per language (optional): the reminder, confirmation, reschedule and cancel bodies β and their matching approved WhatsApp templates β can be set per language. The old single-text configuration keeps working unchanged: only fill in per language if you serve audiences in different languages.
- Scope (cascade): account (default) β event type (overrides) β event (one-off adjustment).
- Available variables:
| Variable | Replaced with |
|---|---|
{{title}} |
Appointment title / event type |
{{date}} |
Appointment date (in the correct time zone) |
{{time}} |
Start time |
{{link}} |
Management/meeting link (e.g. Google Meet or reschedule/cancel) |
{{location}} |
Appointment location (in person or link) |
{{contact_name}} |
Contact/customer name |
{{host}} |
Host/agent name |
{{datetime}} |
Date and time together (e.g. 12/05/2026 10:00) |
{x}picker: every message field has a picker that inserts the variable at the caret β the list is the same one the send resolves, so there is no "hidden" variable.- "Default" badge and "Restore default": an empty field shows, above it, the shipped text that will actually be sent. Once you write your own, Restore default deletes your version for that language (not just on screen: the removal reaches the server).
- Native "Manage booking" button: by default the manage link goes out as a button on WhatsApp instead of a bare URL in the text β inside and outside the 24h window. Turn it off per kind under Delivery β Native buttons. On WhatsApp Cloud, Meta delivers a single button.
- Auxiliary labels: the button text and the line above it are editable too, per language.
- Preview and test: the preview shows the message rendered per channel (the same renderer the send uses) and the approved template that leaves outside the 24h window. The test really sends it to a conversation you pick, honouring the window.
Use cases
- Send one reminder 24 hours before and another 1 hour before to reduce no-shows.
- Personalize the text with the customer's name and the ready meeting link.
- A "Consultation" event type with a message and timings different from "Demo".
- On an important booking, add an extra reminder without changing the default.
Tips, limits & best practices
- Write only what's needed and always include
{{date}},{{time}}and{{link}}β that's what the customer needs most. - Type the variables exactly as in the table (with the double braces). A name outside the list stays as literal text.
- Avoid duplicate timings (two 60-minute reminders) β each timing fires once.
- A timing whose time has already passed at booking is not re-sent: reminders only look forward.
- Prefer adjusting at the right level: change the account to apply everywhere, the event type for a service, the event for a one-off case.
Troubleshooting
- The reminder went out with
{{contact_name}}in the text: the variable was mistyped (extra space, missing brace) or doesn't exist β compare it with the table. - I didn't get the reminder: the booking must be confirmed and the lead time can't have already passed at booking; also confirm the channel (SMTP for email).
- I changed the message and it had no effect: check the scope β an event type or an event may have its own text overriding the account default.
- The reminder time was off: check the calendar's time zone and the contact's own zone (stored with the booking). An event type has no time zone of its own.