Overview
Delivery of confirmations and reminders from the Calendar is channel-aware: ConversaLabs picks the best way to reach the customer based on where they are and each channel's rules.
- Email: sent whenever the contact has an email and SMTP is configured β it carries the appointment details, the .ics file and the manage links (reschedule/cancel).
- WhatsApp Web: the customer gets a native WhatsApp event (with the Meet link in the description). There is no 24-hour window on this channel, so no approved template is needed.
- WhatsApp Cloud inside the 24h window: if the customer messaged you in the last 24 hours, the notice goes as a session message (free-form text, no template). Since 2026-10-01 it counts as a Meta service message. The platform estimates it as free within the number's allowance of 1,000 service messages per month and with a cost after it. Estimated monthly allowance; Meta does not publish this limit in the documentation tracked here.
- WhatsApp Cloud outside the 24h window: once the window has closed, the message can only go as an approved template (HSM) of the official API β which is why you pick the template to use.
A single WhatsApp switch. In the dashboard, WhatsApp is enabled in Delivery β Send on WhatsApp β there is no second WhatsApp toggle in Side effects. That switch controls the text notification (a session message on Web/Cloud, an approved template outside the window) and is opt-in, because outside the 24h window it sends a paid template and, on Cloud, the session message also has a projected cost after the estimated monthly service-message allowance. Actual billing depends on Meta's report.
The native WhatsApp Web event is a separate object: it is free, it has its own switch under Agenda βΊ Settings βΊ Booking side-effects, and it ships off. This Delivery section does not enable it β Delivery governs the confirmation text and the reminders. They are independent controls. Turning Delivery on keeps it on, but you do not have to enable anything to keep receiving the event β installs that used the Calendar before this release lose nothing.
Prerequisites
- Calendar module enabled and the booking confirmed.
- For email: SMTP configured and an email on the contact.
- For WhatsApp: a WhatsApp inbox (Web or Cloud) and a conversation with the contact.
- For WhatsApp Cloud outside the window: an approved template for reminder/confirmation.
Step by step
- Open the Calendar settings and go to Delivery.
- Turn on the channels you want: Send by email and Send on WhatsApp.
- In WhatsApp inbox, pick the inbox (Web or Cloud) used for the notices.
- (WhatsApp Cloud) Under WhatsApp Cloud templates, select the approved template for each notice (Reminder, Confirmation, Reschedule, Cancellation) and map its variables (contact name, title, date/time).
- Save. For each notice ConversaLabs decides on its own: native event (Web), session (Cloud inside 24h) or template (Cloud outside the window) β and sends the email when applicable.
- Make a test booking and check delivery on each channel.
Per event type. Delivery can also be customized per type: on the event type, the Delivery section starts as Inherits the account default; turn on Customize to use a different inbox or different templates for that type only, and Reset to account default to undo it.
Create a scheduling template (WhatsApp Cloud)
If you don't have an approved template yet, use + Create template next to each notice (available on WhatsApp Cloud inboxes with the WhatsApp feature suite enabled).
- Pick the language (pt_BR, English or Spanish) and confirm.
- ConversaLabs creates a UTILITY template with the notice text plus a "Manage booking" button carrying the link β and submits it to Meta for approval.
- Approval is asynchronous: it can take from a few minutes to a few hours.
- Track the status in the inbox's Templates tab. While it is Pending it does not show up for selection.
- Once it is Approved, click Sync from WhatsApp and select the template here.
Why is the link in a button? Meta rejects templates whose body ends with a variable, and bare links in the body are more likely to be refused. So the manage link lives in a URL button, filled automatically with the booking's link at send time.
Settings & options
| Channel / situation | How it is delivered |
|---|---|
| Whenever there is an email + SMTP. Includes the .ics and manage links. | |
| WhatsApp Web | Native WhatsApp event (Meet in the description). No window, no template. |
| WhatsApp Cloud β inside 24h | Session message (free-form text), the window is open. Since 2026-10-01 it is a service message: the estimate treats it as free within the number's estimated monthly allowance and with a cost after it; actual billing depends on Meta. |
| WhatsApp Cloud β outside 24h | Approved template (HSM) with the mapped variables. |
- Send on WhatsApp: enables WhatsApp notices. The native Web event has its own switch under Booking side-effects.
- WhatsApp inbox: which inbox sends the calendar notices.
- Templates (Cloud): one approved template per notice kind, with its variables mapped.
- URL button: the manage link is filled automatically at send time.
Use cases
- Confirm on WhatsApp right after booking and reinforce by email with the .ics.
- Remind 24h before via an approved template, even if the customer hasn't written in days (Cloud).
- Send the native event on WhatsApp Web, which lands straight in the customer's calendar.
- Use different templates on one specific event type without touching the account default.
Tips, limits & best practices
- Keep email on as a safety net: it always goes out and carries the .ics.
- For WhatsApp Cloud, have an approved template ready β without one, sends outside the 24h window don't happen (email still covers the notice).
- The 24h window counts from the customer's last message; inside it the text is free-form. On WhatsApp Cloud that message uses no template, but since 2026-10-01 it is a service message: the estimate treats it as free up to the month's 1,000 and with a cost after that, without confirming that limit as a Meta rule. Track it in the WhatsApp cost center.
- A utility template sent while the window is open is also billed since 2026-10-01.
- UTILITY templates are the right category for reminder/confirmation β avoid marketing categories.
- Check the timezone so the date and time in the notice match what was agreed.
Disconnected Web session and safe recovery
For a hybrid inbox, a recent confirmed Web disconnection makes Calendar text notifications use the Cloud format: a URL button within the 24-hour window or the configured approved template outside it. Without an available template outside the window, the WhatsApp notification is not sent; email follows its configuration. Unknown health is not treated as a confirmed disconnection.
After reconnection, the platform may retry the same notification message definitively rejected because the Web session was unavailable, at most once. Recovery is limited to 24 hours, before the appointment starts, while the event and booking remain active and their start time is unchanged. Cancellation notifications are not recovered this way.
An attempt, provider acceptance and delivery to the customer are separate facts. An unknown send outcome, or a later confirmation identifying an already sent message, never authorizes an automatic resend. This prevents duplicate notifications.
When WhatsApp Web is disconnected, a reminder uses WhatsApp Cloud when configured; the native event invitation waits for reconnection. The invitation has its own opt-in and is not replaced by a second Cloud notification or a new paid template. Only the same definitively rejected invitation can recover under the safety limits above.
Troubleshooting
- The template shows "Submission failed": Meta refused the format. The most common causes are body text ending with a variable or a bare link in the body β use + Create template, which already builds the accepted format (text + URL button).
- I created the template and it isn't in the list: it only appears after approval. Check the status in the Templates tab and click Sync from WhatsApp.
- The reminder didn't arrive on WhatsApp Cloud: it was probably outside the 24h window with no approved template selected/mapped.
- Only the email arrived: the WhatsApp inbox may not be set, or there is no conversation yet.
- Template variables came out empty: review the mapping (contact name, title, date/time).