Skip to main content

Messaging & Templates

WhatsApp Message Templates

Templates are pre-approved messages required for:
  • Starting a new conversation with a contact
  • Messaging contacts who haven’t replied in the last 24 hours
  • Sending broadcasts
Templates must be approved by Meta before use. Approval typically takes 24-48 hours.

Creating a Template

  1. Go to Templates → Create Template
  2. Fill in:
FieldDescription
NameInternal identifier (lowercase, underscores)
CategoryMARKETING, UTILITY, or AUTHENTICATION
Languageen_US, en_GB, hi, ar, etc.
Header(Optional) Text, image, video, or document
BodyMain message content — supports {{1}}, {{2}} variables
Footer(Optional) Small text at the bottom
Buttons(Optional) Call-to-action or quick reply buttons
  1. Preview the template on the right panel
  2. Click Submit to Meta for approval

Template Categories

CategoryUse CasesConversation Cost
MARKETINGPromotions, offers, newslettersCharged per conversation
UTILITYOrder updates, account alerts, shippingCharged per conversation
AUTHENTICATIONOTP, verification codesCharged per message

Template Variables

Templates use numbered variables {{1}}, {{2}}, etc. for personalization. These are substituted at send time. Example template body:
Hi {{1}}, your order {{2}} has been confirmed!
Expected delivery: {{3}}
Example substitution:
{
  "components": [{
    "type": "body",
    "parameters": [
      { "type": "text", "text": "John" },
      { "type": "text", "text": "#ORD-12345" },
      { "type": "text", "text": "March 28, 2026" }
    ]
  }]
}

Template Sync from Meta

If you’ve created templates directly in Meta Business Manager:
  1. Go to Templates → Sync from Meta
  2. All approved templates are imported automatically
Or sync an individual template with the Sync button on the template card.

Rejected Templates

If Meta rejects your template, you’ll see a rejection reason on the template card:
Common Rejection ReasonFix
Contains promotional content in UTILITY categoryChange category to MARKETING
Variable placeholder at start/end of messageAdd text before/after {{1}}
Prohibited content (medications, gambling, etc.)Remove violating content
Duplicate of existing templateRename or modify content
Click Edit & Resubmit to fix and resubmit without creating a new template.

Template Buttons

Templates support up to 3 buttons:
Button TypeDescription
Quick ReplyContact taps to send a predefined reply
Call to Action — URLOpens a website URL
Call to Action — PhoneCalls a phone number

Template Preview

Use the mobile preview toggle to see how the template will appear on a WhatsApp mobile device before submitting.

Sending Templates

From Chat:
  1. Open a conversation
  2. If the 24h window is closed, only the template picker appears
  3. Select a template, fill in variables, and send
From Broadcasts: See Broadcasts & Campaigns Via API:
POST /api/whatsapp-api/send
Authorization: Bearer YOUR_API_KEY

{
  "to": "+919876543210",
  "type": "template",
  "template": {
    "name": "order_confirmation",
    "language": "en",
    "components": [{
      "type": "body",
      "parameters": [
        { "type": "text", "text": "John" },
        { "type": "text", "text": "#ORD-12345" }
      ]
    }]
  }
}