System guide
Message Templates
Create templates, check their status, and use template drafts to quickly create templates across multiple WABA accounts — all from Resources → Message templates.
A WhatsApp message template is a message format that Meta provides to its Business customers and that must be pre-approved before it can be used. Likewise, when a business proactively messages a user it has not contacted in the last 24 hours, it can only send template messages. Messages sent through the system's broadcast feature are also templates. This page covers how to create a template, check its status, and use template drafts to quickly create templates across multiple WABA accounts.
Template scope
A template belongs to one specific WABA account. Open Resources → Message templates and pick the account you want to manage from the WABA selectorat the top of the list — the page always shows templates for the selected account. If you manage more than one WABA, switch the selector to see each one's templates separately.
Templates you create are submitted to Meta right away; once Meta finishes its review and assigns a quality rating, that information — along with delivered and read counts — is updated into the list.
Template list
Here is what each column in the template list shows:
| Column | What it shows |
|---|---|
| Template name | The template name. Names must be unique within the same WABA and language. |
| Language | The language the template is written in. |
| Category | Authentication, Utility, or Marketing. |
| Meta status | Meta’s review result for this template (see below). |
| Quality | Meta’s quality score based on user feedback. |
| Delivered | Number of messages successfully delivered in the selected time range. |
| Read rate | Percentage of delivered messages that were opened in the selected time range. |
| Last edited | When the template was last modified. |
| Allow agent use | When on, agents can send this template manually from the workbench. |
| Meta template ID | The unique identifier Meta assigned to this template. Click to copy. |
| Source | Templates imported from the library show Library; manually created ones show Manual. |
Creating a template
Select a WABA, click Create template, and start with the basic information. What you fill in afterwards depends on the category you choose.
Basic information
| Field | Description |
|---|---|
| Template name | Lowercase letters, numbers, and underscores only (for example order_status_update). Must be unique within the same WABA and language. |
| Language | The language the template is written in. |
| Category | Authentication (one-time codes), Utility (transactional updates), or Marketing (promotions). Different categories require different fields. |
Creating an OTP (Authentication) template
Authentication templates deliver one-time passcodes. Their structure is largely fixed:
| Field | Description |
|---|---|
| Code delivery | Zero-tap autofill, one-tap autofill, or copy code — decides how the customer receives or enters the passcode. |
| Security recommendation (optional) | Adds a line advising the customer not to share the code. |
| Add expiry time (optional) | Adds a line stating the code expires after a set number of minutes. |
| Button | The copy / autofill button is generated automatically — no manual button design required. |
| Message validity period | 30 seconds to 15 minutes, default 10 minutes. |
Creating a Marketing template
Marketing templates promote products and offers and can include a full header, body, footer, and buttons:
| Field | Description |
|---|---|
| Header (optional) | None, Text, Image, Video, or Document. Media headers can be dragged in or chosen from the media library. |
| Body (required) | The main message. Supports numbered ({{1}}, {{2}}) or named ({{name}}) variable placeholders. Provide a sample value for each variable. |
| Footer (optional) | One short line of text shown below the body. |
| Buttons (optional, up to 10) | Beyond 3 buttons WhatsApp shows them as a list. Supports Visit website, and Quick reply (see below). |
| Message validity period (optional) | 12 hours to 7 days, default 12 hours. |
Button types
| Button type | What it does | You provide |
|---|---|---|
| Visit website | Opens a link | Button text and a URL (static, or dynamic with a sample URL) |
| Quick reply | Sends a preset reply back when tapped | Button text |
Review status and quality
After you submit, Meta reviews the template and reports back a status.
| Status | Meaning |
|---|---|
| Pending | Submitted and awaiting Meta's review |
| Approved | Cleared by Meta and ready to send |
| Rejected | Meta declined it; cannot be sent until fixed and resubmitted |
| Paused | Meta paused it, usually due to poor quality |
| Disabled | Turned off and not sendable |
| Pending deletion | Meta is processing a deletion; not usable |
Once a template has sent enough messages, Meta assigns it a quality rating based on how customers respond. It shows next to approved templates:
| Quality | Meaning |
|---|---|
| High | Good delivery and customer reception |
| Medium | Average performance |
| Low | Complaints or poor delivery; revise the template |
| Unknown | Not enough sends yet to rate |
Editing templates
You can edit the content of an approved or pending template — header, body, footer, buttons, and validity period — and saving resubmits it to Meta for review. Name, language, and category remain locked. Rejected, paused, and disabled templates cannot be edited in place; to recover a rejected template, extract it to a draft (below) or create a new one, fix the issue, and submit again.
Default header media
For a template with an image, video, or document header, you can set a default media file so that broadcasts and API sends do not have to pass an image parameter every time. In the preview panel, choose use the sample from creation to set the sample image you submitted to Meta for review as the default, or choose from the media library to pick another file as the default.
Allowing agents to use a template
The Allow agent use toggle controls whether agents can pick this template inside a live conversation. Turn it off for templates meant only for campaigns or API sends.
Using template drafts
A template draft is a template content definition stored at the organization level (not under any WABA), and a draft is never submitted to Meta. Think of it as a mold for producing message templates — its main purpose is reusing templates across different WABA accounts: names are free-form (any language), every field stays editable, and nothing goes to review. Open Resources → Template drafts.
- Create a draft — the flow is exactly the same as creating a message template; the only difference is that a draft is not submitted to Meta for review.
- Extract to draft — run this on an approved template in the list to generate an editable draft, then adjust it and save it as a draft.
- Clone to WABA — from a draft, pick a target WABA (and organization, if cloning across organizations), give it a Meta-compliant name, optionally change the language, then Clone & submit. This creates a brand-new template under that WABA and submits it to Meta.
Send message
Once a template is approved you can use it three ways: choose Send message from the Action menu on the template list page, send it to many recipients at once as a campaign, or send it through the public API from your own systems. The latter two flows are covered in their own chapters.