wa_send_template
Send pre-approved WhatsApp template messages to recipients for outbound notifications, marketing, or first contact, overcoming the 24-hour customer service window.
Instructions
Send a pre-approved template message to a recipient on WhatsApp.
When to use: outbound notifications, marketing or utility messages where the recipient is outside the 24-hour customer service window, or any first-contact message.
Requirements:
The template must already exist and be in APPROVED status (use wa_get_templates to verify).
phone_number_idis the numeric ID of YOUR sending number (from wa_get_phone_numbers), NOT the destination phone.tomust be E.164 (digits only, country code first), e.g. 351912345678.components_jsonis required when the template has variables ({{1}}, header media, buttons).
Returns: the WhatsApp message ID (wamid) on success, which can be used with wa_get_message_status.
Limitations: templates with header media require uploaded media handles; delivery/read status is delivered asynchronously via webhooks — this tool returns only the accepted message ID.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient phone number in E.164 format (digits, country code first), e.g. 351912345678 | |
| language_code | Yes | Language/locale code of the template, e.g. en, pt_PT, es_ES | |
| template_name | Yes | Approved template name (lowercase, digits, underscores only) | |
| components_json | No | JSON array of components with parameter values, e.g. [{"type":"body","parameters":[{"type":"text","text":"Alice"}]}] | |
| phone_number_id | Yes | Numeric ID of the sending WhatsApp phone number (from wa_get_phone_numbers) |