> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apifycloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Reminders

> What gets sent to the customer, when, and through which channel

The platform supports a set of reminder kinds, each tied to a point
in the booking lifecycle. **You choose which ones to enable** for
each scheduling preset — reminders are not forced on. A preset can
turn on any subset (only a 1h nudge, invitation + 15m, everything
at once) and leave the rest off.

Each kind you enable is also wired to one or more **channels**
(e.g. WhatsApp), so you control both *what* fires and *how* it's
delivered.

## The reminder kinds

| Kind              | When it fires                                                      | Purpose                                                  |
| ----------------- | ------------------------------------------------------------------ | -------------------------------------------------------- |
| `invitation`      | On booking                                                         | Confirms the booking to the customer with the join link. |
| `reminder_24h`    | 24 hours before                                                    | "Your meeting is tomorrow."                              |
| `reminder_1h`     | 1 hour before                                                      | "Your meeting is in 1 hour."                             |
| `reminder_15m`    | 15 minutes before                                                  | Final nudge with the join link.                          |
| `cancellation`    | On cancel                                                          | Notifies the customer the booking was cancelled.         |
| `conflict_notice` | When an agent creates a DND window that overlaps existing bookings | Lets affected customers reschedule.                      |
| `custom`          | On demand                                                          | Ad-hoc reminder triggered manually or by the API.        |

A kind that isn't enabled in the preset is simply never fired — no
row is created, nothing is sent, nothing is logged.

## Channels

Each reminder kind can be wired to one or more channels. Supported
channels today:

* **WhatsApp** — the primary channel. Uses an approved WhatsApp
  template configured in the preset.
* **Genesys Cloud** — the pre-meeting dispatch to Genesys
  described in [Genesys Cloud integration](/guides/scheduled-calls/genesys-integration).

## Templates and WhatsApp app linking

A video app doesn't have its own WhatsApp number or template
library. To send WhatsApp reminders, the video app is **linked to
a WhatsApp app** — a separate app in the console that holds the
number, the provider configuration, and the approved templates.
Reminders are sent from that linked app's number, using its
templates.

The flow:

1. Configure the WhatsApp app with its number and approved
   templates (see [WhatsApp — Templates](/guides/whatsapp/templates/overview)).
2. Link that WhatsApp app to the video app.
3. In the video app's scheduling preset, map each reminder kind
   to the template to use from the linked app's library.

Templates must have the right variables for scheduling to fill in
— guest name, scheduled date/time, and the join link are the
common ones. The mapping is done per language if you support
multiple locales.

<Note>
  A video app without a linked WhatsApp app can't send WhatsApp
  reminders. The reminder kinds still exist and fire on the
  lifecycle, but the WhatsApp channel is unavailable until the link
  is in place.
</Note>

## Rescheduling and cancellation behavior

When a booking is **rescheduled**, the engine:

1. Cancels any pending reminders for the old time.
2. Re-plans the reminder schedule against the new time.

When a booking is **cancelled**, all pending reminders are
cancelled. If the preset has the `cancellation` reminder enabled,
that one fires.

## Retries

Reminders that fail to send (temporary network issue, rate-limit
on the provider, etc.) are retried automatically. After a few
failed attempts the reminder is marked as failed and logged on the
booking's timeline so an operator can see it.

<Note>
  The retry cadence and limits are operational details handled by
  the platform — you don't configure them per preset. If a reminder
  consistently fails it shows up on the booking's timeline and in
  the admin UI for follow-up.
</Note>

## Manual reminders

From the booking detail page (or via the API) you can trigger an
ad-hoc reminder at any time. It uses the `custom` kind and
whichever channel you pick. Useful when an agent wants to nudge a
customer right now rather than wait for the next scheduled
reminder.

## What's next

<CardGroup cols={2}>
  <Card title="Genesys Cloud integration" href="/guides/scheduled-calls/genesys-integration">
    The Genesys Cloud reminder and pre-meeting dispatch.
  </Card>

  <Card title="Webhooks" href="/guides/scheduled-calls/webhooks">
    Lifecycle events pushed to your systems.
  </Card>

  <Card title="Send a reminder via API" href="/api-reference/scheduled-calls/remind">
    Trigger a reminder programmatically.
  </Card>
</CardGroup>
