Documentation
Sign inGet started

WhatsApp templates

Business-initiated WhatsApp messages are sent from a template — a pre-approved message that WhatsApp has reviewed for its category. A template carries fixed text plus {{n}} variables, so a send only supplies the values that change (an OTP code, an order number) and WhatsApp assembles the final message. Today every WhatsApp send names a template; free-text and other message types will follow.
Templates are Bird-managed today. The WhatsApp MVP is a catalogue of templates Bird has registered with WhatsApp; you send from it rather than authoring your own. The Templates page shows what's available and exactly how each one renders.
The WhatsApp Templates page in the Bird dashboard: a search box with Status and Category filters above a table of approved templates (bird_otp, bird_signin_alert, bird_appointment_reminder, bird_delivery_update), each row showing its Status, Name, an en Language, a Category of authentication or utility, and a Bird-managed WABA

Browsing templates in the dashboard

The Templates tab, under WhatsApp, lists every template available to your workspace. Search by name and filter by status or category to find one.
Each row shows the fields you need to pick and send a template:
  • Status — the template's WhatsApp review state. Approved templates are live and sendable; Pending, Rejected, Paused, Disabled, In appeal, Pending deletion, and Limit exceeded track a template's standing with WhatsApp.
  • Name — the template reference (for example bird_otp). This is what you pass as template.name when sending.
  • Language — the language the template is registered in (e.g. en, pt_BR).
  • Categoryauthentication, utility, or marketing. The category governs how WhatsApp treats the message, which sender number Bird uses, and, with the destination country, the price.
  • WABA — the WhatsApp Business Account the template belongs to; Bird-managed templates are marked accordingly.
Click a row to open the template's detail.

The template detail

The detail view renders the template the way a recipient sees it — a WhatsApp-style message bubble with the body text, any {{n}} variables highlighted, and the template's buttons — so you can confirm the wording and layout before you send.
Alongside the preview is a ready-to-run cURL example: a complete POST /v1/whatsapp/messages call for that template, pointed at your region's host, with a components array pre-filled with the template's example values. Copy it, swap in your API key and real values, and send.

Listing templates from the API

GET /v1/whatsapp/templates returns the catalogue. Reading templates needs an API key with the whatsapp_management scope:
Exemple de code
curl https://us1.platform.bird.com/v1/whatsapp/templates \
  -H "Authorization: Bearer bk_us1_..."
Each template carries its name (the reference you send by), language, category, status, and its components — the header, body, and button parts, each with the example values that show how its {{n}} variables are filled. Read a template's components to know which parameters a send must supply.

Sending with a template

Name the template in the send's template object and fill its variables through components — see Sending WhatsApp messages for the full payload:
Exemple de code
curl -X POST https://us1.platform.bird.com/v1/whatsapp/messages \
  -H "Authorization: Bearer bk_us1_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+15551234567",
    "template": {
      "name": "bird_otp",
      "language": "en",
      "components": [
        { "type": "body", "parameters": [{ "type": "text", "text": "481920" }] }
      ]
    }
  }'

Next steps