WhatsApp is the only Engage channel that supports two-way, AI-agent conversations, and it is also the channel with the most setup requirements. This article explains the Meta connection Engage relies on, how WhatsApp templates are approved by Meta, the approval statuses, and what to check when WhatsApp messages are not being sent.
Contents
The Meta connection
WhatsApp messages in Engage are sent via the Meta WhatsApp Business API, using the same Meta connection as MagicAI Chat. If your studio already uses MagicAI Chat on WhatsApp, the connection is already in place.
Setting up the Meta connection (Meta Business Account, WhatsApp Business Account, verified phone number, linking to the studio) is documented in its own article. See also: Setting up WhatsApp for MagicAI Chat.
Specific to Engage, make sure that:
- Templates are approved by Meta. Only a template Meta has approved (status Active) can be used in Engage. Approval is per WhatsApp Business Account: a template approved for one account cannot be sent from another. See the status overview below.
- MagicAI Chat is configured (optional). If you want WhatsApp messages delivered via the AI agent so members can reply and get an immediate response, an active MagicAI Chat configuration must exist. See also: Creating and editing trigger rules (Interlock with MagicAI Chat).
Template approval status
WhatsApp templates are created in the Engage Templates tab. The editor shows a live WhatsApp preview, supports placeholders for dynamic values (names, dates, membership details), and stores the template as localized text for the current studio locale.
Creating a WhatsApp template: body, placeholders, optional buttons and a live preview; templates start as drafts and need Meta approval before they can be used.
A default template is provided for each trigger and each channel, so every rule can send from the start. Edit these or create your own in the Templates tab.
WhatsApp templates can include call-to-action buttons: up to two per template, one that opens a URL and one that dials a phone number (for example, book a class or reactivate a membership). Meta's quick-reply button mode is deliberately not offered.
WhatsApp call-to-action buttons: one opens a URL, one dials a phone number.
Every WhatsApp template is reviewed by Meta before it can be sent. Each template carries one of these statuses:
| Status | What it means |
|---|---|
| Draft | The template was created but not yet submitted to Meta. It cannot be sent. |
| In review | The template has been submitted and Meta is reviewing it. It cannot be sent yet. Review usually completes within minutes but can take up to 24 hours. |
| Active | The template passed Meta review and can be assigned to Engage trigger rules and sent to members. |
| Rejected | Meta declined the template, typically for policy or formatting reasons. It cannot be sent. Check the rejection reason in Meta Business Manager, edit the template, and resubmit. |
The Templates tab list, showing each template's channel and status.
A rule with a template that is still in review or rejected will not deliver on WhatsApp until the template is Active. Meta can also revoke a template later (for example after a policy change), so check the template status first when a previously working rule stops sending.
When WhatsApp messages are not being sent
Check the Execution log for these reasons:
- No WhatsApp Business Account: the studio has no linked account. Complete the Meta connection setup (see Setting up WhatsApp for MagicAI Chat).
- Template in review or rejected: the template is not yet Active (still under Meta review), or was declined. Check the template status in Meta Business Manager.
- WhatsApp Business Account mismatch: the template belongs to a different account than the one linked to the studio. Recreate or re-approve the template under the correct account.
- Template archived: the template was deactivated in Meta Business Manager. Assign an active, approved template.
- No chatbot configuration: the channel is set to deliver via the AI agent but no MagicAI Chat configuration exists. Set one up, or remove the agent from the channel to send directly.
See also: Running triggers (schedule, preview and execution log) for the full list of execution-log statuses and backend skip reasons.