Templates
Create and manage Meta-approved message templates — required for all business-initiated WhatsApp conversations.
Why Templates Are Required
WhatsApp Business API enforces a strict policy: you can only send a free-form message to a contact who messaged you within the last 24 hours (the customer service window). Outside that window — or for the very first outbound message — you must use a Meta-approved template.Note
Templates must be submitted to Meta and approved before use. Text-only templates typically take minutes to a few hours. Media templates may take longer. Status is shown in the Templates list.
Template Categories
| Category | Use case | Initiates conversation? |
|---|---|---|
| Marketing | Promotions, offers, broadcasts, newsletters. | Yes |
| Utility | Order updates, shipping notifications, OTPs. | Yes |
| Authentication | One-time passwords and login verification codes. | Yes |
Warning
Choose the correct category — submitting a promotional template as "Utility" can cause rejection or account suspension.
Start From the Template Library
Writing a template from scratch means learning Meta's rules the expensive way: a rejected template cannot be edited, only recreated under a new name, so each mistake permanently burns a name. The library exists to skip that.- Nearly 300 ready-made templates, organised by industry and by what the message is for.
- Every entry is already valid: numbered variables, sample values for each one, an opt-out on every marketing template, and no URL in a marketing body.
- Picking one opens the normal create form with everything filled in — the wording, the buttons and the example values are all yours to edit before submitting.
- Anything the library could not know for you — a link, a phone number, a sample image for a media header — is listed as a setup note on the template and again at the top of the form.
Note
Festival greetings are the one case worth planning ahead: Meta's review queue slows noticeably in the fortnight before Diwali, and a greeting approved on the day of the festival is worth nothing. Submit those two to three weeks early.
Creating a Template
1
Go to Templates → New Template
Click New Template. Enter an internal template name — lowercase letters, numbers, and underscores only (e.g.
order_shipped_v2). This name cannot be changed after submission to Meta.2
Select category and language
Pick Marketing, Utility, or Authentication. Select the language for this variant. You can submit additional language variants of the same template name after approval.
3
Build the template body
Write your message. Use double braces for personalization variables:
Hi {{1}}, your order #{{2}} has shipped!
Expected delivery: {{3}}.
Track it here: {{4}}Variables are numbered sequentially starting at {{1}}. When creating a campaign, you map each variable to a contact field (name, phone, email, or any custom field cf1–cf10) or a static value.4
Add header (optional)
A header appears above the body. Choose one type:
For media headers, you supply the actual file or URL at campaign creation time — not during template setup. This lets you reuse one template with different documents per campaign.
| Header type | Notes |
|---|---|
| Text | Short title line — supports one variable {{1}}. |
| Image | JPEG or PNG. When used in a broadcast, provide the image via Upload or URL. |
| Video | MP4. Provide URL or upload when launching the broadcast. |
| Document | PDF. Provide URL or upload when launching the broadcast. |
5
Add footer (optional)
A short disclaimer or branding line displayed below the body in lighter text. Footers do not support variables.
6
Add buttons (optional)
| Button type | Description |
|---|---|
| Quick Reply | Tap-to-reply (up to 3). The contact's tap is received as a normal message. |
| Call to Action — URL | Opens a URL. Supports a dynamic suffix: https://yoursite.com/{{1}} |
| Call to Action — Phone | Dials a phone number directly from WhatsApp. |
| Flow | Opens a WhatsApp Flow embedded form. Requires a published Flow. |
Tip
URL buttons with
{{1}} in the URL let you send per-recipient deep-links — map the variable to a contact's custom field (e.g. tracking token or order ID) when launching the broadcast.6
Submit for approval
Click Submit to Meta. Status changes to Pending while under review, then Approved or Rejected. Only Approved templates can be used in broadcasts.
Template Quality Rating
Meta rates templates based on user feedback (blocks, reports):- Green — High quality. No restrictions.
- Yellow — Medium quality. Template may be paused if the rating drops further.
- Red — Low quality. Template is paused. Review content and audience targeting, then resubmit.
Tip
A dropping quality rating is a signal to review your audience or message content — not to send more messages faster.
Template Formatting
- Bold: wrap text with *asterisks* — e.g. *Hello*
- Italic: wrap with _underscores_ — e.g. _important_
- Strikethrough: wrap with ~tildes~ — e.g. ~old price~
- Monospace: wrap with ```backticks``` — e.g. ```code```
- Emojis are supported and count toward the 1,024-character body limit.
- Line breaks are preserved exactly as written.
- HTML tags are not supported — WhatsApp renders plain text with the above markup only.