Safravo Logosafravo.com
Channels

WhatsApp Message Templates

Create, submit, and send pre-approved WhatsApp message templates.

To protect users from spam, Meta requires businesses to use Message Templates when initiating a conversation or responding outside the 24-hour window. Templates must be approved by Meta before they can be sent.


Template categories

When creating a template, choose one of the following categories:

CategoryUse case
MarketingPromotions, product announcements, abandoned cart reminders
UtilityOrder updates, appointment reminders, account alerts
AuthenticationOne-time passwords (OTP) for login and account security

Choosing the wrong category is one of the most common reasons for rejection. Make sure the content matches the category.


Create and send a template

Create the template

Go to Settings → Templates in the dashboard and click Create Template. Fill in the following fields:

FieldNotes
NameLowercase letters, numbers, and underscores only. e.g. order_confirmation
CategoryMarketing, Utility, or Authentication
LanguageSelect the language for this template
HeaderOptional. Text (up to 60 chars) or Media (Image, Document, Video)
BodyMain message content (max 1,024 chars). Use {{1}}, {{2}} etc. for dynamic variables
FooterOptional small text (max 60 chars)
ButtonsOptional. Quick Reply (up to 3) or Call to Action (up to 2)

Submit for review

Click Submit for Review. Meta typically reviews templates within 2–24 hours. Track the status in Settings → Templates:

StatusDescription
PendingUnder review by Meta
ApprovedReady to send
RejectedMeta declined the template — see common rejection reasons below
PausedTemporarily disabled due to low quality reports from users
DisabledPermanently disabled due to repeated quality issues

You cannot edit a template once it is submitted. If you find an error, create a new template with a different name. Repeatedly submitting rejected templates can negatively impact your WhatsApp Business Account quality rating.

Send via the API

Once approved, use POST /v1/messages/templates. The quickest way to build the correct payload is to call GET /v1/templates and copy the send_example field directly into your request.

See Messages API → Send a template message for full examples in Node.js, Python, PHP, Go, and Ruby.

{
  "to": "+254712345678",
  "template_name": "order_confirmation",
  "language": "en",
  "components": [
    {
      "type": "body",
      "parameters": [
        { "type": "text", "text": "Jane" },
        { "type": "text", "text": "ORD-12345" }
      ]
    }
  ]
}

Common rejection reasons


Best practices

Keep messages concise — WhatsApp users prefer short, actionable content. Personalise with variables where possible, as templates with personalised content have higher engagement rates. Avoid aggressive marketing language, which leads to rejections and low quality ratings.

On this page