## Overview

Delivery of **confirmations and reminders** from the Calendar is **channel-aware**: Conversa Labs 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 text, no template cost).
- **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.
>
> 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

1. Open the **Calendar settings** and go to **Delivery**.
2. Turn on the channels you want: **Send by email** and **Send on WhatsApp**.
3. In **WhatsApp inbox**, pick the inbox (Web or Cloud) used for the notices.
4. (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).
5. Save. For each notice Conversa Labs decides on its own: native event (Web), session (Cloud inside 24h) or
   template (Cloud outside the window) — and sends the **email** when applicable.
6. 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).

1. Pick the **language** (pt_BR, English or Spanish) and confirm.
2. Conversa Labs creates a **UTILITY** template with the notice text plus a **"Manage booking" button**
   carrying the link — and submits it to Meta for approval.
3. **Approval is asynchronous**: it can take from **a few minutes to a few hours**.
4. Track the **status** in the inbox's **Templates** tab. While it is *Pending* it does **not** show up
   for selection.
5. 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 |
|---|---|
| **Email** | 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 text), the window is open. |
| **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.
- **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.

## 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).

## See also

- [Reminders: timing and message (template with variables)](/hc/ajuda/articles/calendar-scheduling-lembretes-tempo-e-mensagem-en)
- [Booking side effects, reminders and notifications](/hc/ajuda/articles/calendar-scheduling-efeitos-do-agendamento-lembretes-notificacoes-en)
- [Reschedule, cancel, Google Meet and the .ics file](/hc/ajuda/articles/calendar-scheduling-reagendar-cancelar-meet-ics-en)
- [Calendar & Scheduling overview](/hc/ajuda/articles/calendar-scheduling-overview-en)