18 min read

Message templates

Read and filter the templates on your WhatsApp Business account, open one in detail, submit a new one to Meta for approval, delete one safely, and compare two side by side — the whole template module in one guide.

Message templates

A template is a message Meta has approved in advance, and it is the only thing you may send to someone who has not written to you in the last 24 hours. This guide covers the whole module: reading and filtering the list, one template in detail, submitting a new one for approval, deleting one, and comparing two side by side. Everything here is a view onto your WhatsApp Business account at Meta — the dashboard stores no templates of its own.

Your templates at a glance

The list

Every template on your WhatsApp Business account, as Meta currently has it. Each card is a small preview of what the message will actually look like in WhatsApp — header, body, footer and buttons — above the name, the status and the category. Click any card to open it in full.

Video walkthrough — 5 steps, 0:11. Pick a step to play just that part.
The template list: a grid of cards, each previewing the real message above its name, status and category

Where everything else lives

The buttons at the top of the page are the rest of the module: the builder, and the side-by-side comparison. They are links, not actions — nothing is submitted by pressing one. On an account with a Business ID a third button appears here, opening Meta's own template manager in a new tab.

The buttons at the top of the template list, linking to the builder and to the comparison page

The four counters

These describe your whole account, not what the filters below are showing. They are computed over every template Meta returned, so they stay put while you search and filter — which is what makes them useful as a running total.

Four counters above the list, describing every template on the account

One card, explained

The green bar and chat bubble are a preview, not a screenshot of a real message: a numbered placeholder is shown as [1] so you can see where the personalised bits go. Underneath, the badges are status, category and language, and the small icons on the bottom row say which parts the template has — header, body, footer, buttons.

One template card in close-up: the message preview above, then the status, category and language badges and the component icons

Searching

Search matches the template's name and its category — not the message text. It filters as you type, and it combines with the two dropdowns beside it.

The search box above the grid, with the list narrowed to the matching templates

Filtering by status

The status dropdown narrows the list to one kind of template: approved, pending, rejected or disabled.

Video walkthrough — 2 steps, 0:08. Pick a step to play just that part.
The status dropdown open, listing the four template statuses

Only the ones awaiting review

Choosing a status reloads the list immediately — there is no second Apply step. Note that the counters above are unchanged: they still describe the whole account.

The list filtered to pending templates, with the counters above still showing the account totals

Filtering by category

Meta sorts every template into one of three categories, and they are not interchangeable: Utility is for transactional messages a customer expects, Marketing for promotion, and Authentication for one-time codes. The category affects what Meta will approve and how much a send costs.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The category dropdown open, offering Utility, Marketing and Authentication

Filtering by language

A template is identified by its name and its language together, so the same campaign translated three ways is three separate templates. This narrows the list to one of them. The dropdown lists only the languages your account actually uses, so it is short and it is never wrong.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The language dropdown open, listing only the languages the account uses

Forcing a fresh read

Answers from Meta are cached for five minutes, so a template you created at Meta's own site can take that long to appear. Refresh skips the cache and asks Meta again — it is the only control in the module that does. Everything else is happy to serve you the cached answer.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The Refresh button in the row of controls above the template grid

How many to a page

Twenty-four templates to a page by default. Lowering it is the quickest way to see the pager, which only appears when there is more than one page to move between.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The per-page dropdown open, offering how many templates to show at a time

Moving between pages

The pager sits under the grid and says exactly where you are. Paging keeps your search and filters — it re-asks for the templates only, not the whole page.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The pager beneath the grid, showing which page of templates you are on

When nothing matches

A search with no matches says so and suggests loosening the filters. This means what it says: your filters matched nothing. It is not what you see when the connection to WhatsApp fails — that case has its own message, in an alert, naming the problem.

Video walkthrough — 1 step, 0:06. Pick a step to play just that part.
The empty state: a message saying no templates matched, suggesting you loosen the filters

One template in detail

The detail page

Opening a template shows it rendered inside a phone, the way the message will arrive. Everything above the phone is the template's own metadata: category, language, status and Meta's id for it. The Delete button in the corner is the only destructive action in this module.

Video walkthrough — 3 steps, 0:07. Pick a step to play just that part.
A template detail page: the metadata strip above, the message rendered inside a phone below

The information strip

Category, language, status and Meta's id. The id is what the address bar carries, which is the thing to quote when someone at support asks which template you mean. There is no creation date here because Meta does not publish one for message templates — better an absent field than an empty one.

The information strip: category, language, status and the Meta id of the template

The preview

A faithful mock-up: the header in bold, the body beneath it with the placeholders left in, the footer in grey, and the buttons as WhatsApp draws them. What you cannot see here is the real content of a variable — that is supplied when you send.

The template drawn inside a phone frame, with its header, body, footer and buttons

A template still under review

A template awaiting Meta's decision looks the same but carries a PENDING badge, and it cannot be sent yet. There is no progress indicator and nothing to press — Meta answers when it answers, usually within minutes.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
A template detail page carrying a PENDING badge while Meta reviews it

Deleting a template

Delete removes the template from your WhatsApp Business account at Meta, not just from this dashboard, and the dialog says the part that catches people out: Meta reserves the name for about thirty days afterwards, so you cannot immediately submit a corrected version under the same name. Pick a new name, or wait.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The delete confirmation, warning that Meta reserves the template name for about thirty days

Submitting a new template

The builder

The form is on the left and a live preview on the right, updating as you type. A body is added for you because every template must have one; the header, footer and buttons are optional and go on with the three small buttons at the top of the components box.

Video walkthrough — 2 steps, 0:09. Pick a step to play just that part.
The template builder: the form on the left, the live preview on the right, with an empty body component ready

Name, language and category

The name is how you will refer to this template everywhere else in the platform, and Meta's rules for it are strict: lowercase letters, numbers and underscores only, starting with a letter. The tick at the end of the field confirms the name is acceptable. Choosing a category changes the length allowed for the message — the line under the dropdown tells you which limit now applies.

The first three fields of the builder: template name, language and category

When the name breaks the rules

Capitals and a space are not allowed in a template name. Leave the field and it tells you so, under the input and in the panel on the right, which lists everything still standing between you and a submittable template. Create Template stays disabled until that list is empty.

Video walkthrough — 1 step, 0:14. Pick a step to play just that part.
An invalid template name flagged under the field and repeated in the validation panel on the right

The message itself

Write the message and mark the personalised parts with numbered placeholders — a number wrapped in double curly braces, {{1}} then {{2}}, counting up from one. The counter turns amber near the limit and red past it. Two rules catch people out: a message may not begin or end with a placeholder, and the numbers must run in order from the first one.

Video walkthrough — 3 steps, 0:17. Pick a step to play just that part.
The body component in the builder, with the message text and its character counter

The four kinds of header

A header is optional and there can be only one. Text is a short bold line above the message; the other three replace it with an image, a video or a document. A template cannot have both a text header and a media header.

The header component offering four formats: text, image, video and document

A media header wants a sample

Choosing Image, Video or Document swaps the text field for an upload area. The file you put here is used only for Meta's review — the real attachment is chosen when you send the message.

A media header selected, showing the upload area for the sample file Meta reviews

Buttons

Up to three, of two kinds: a quick reply sends its own text back to you as a message, while a URL button opens a link. Each label is capped at 25 characters, and the counter beside the heading tracks how many you have left.

Video walkthrough — 1 step, 0:06. Pick a step to play just that part.
The buttons component with a quick reply and a URL button, each with its label counter

Removing the body

Every component can be taken off again with the cross in its corner — including the body. It is the one component you cannot do without, so the builder replaces it with a prompt to add it back rather than letting you submit.

Video walkthrough — 1 step, 0:05. Pick a step to play just that part.
The builder with the body removed, showing a prompt to add it back

The live preview

The panel on the right redraws with every keystroke. It fills your placeholders with sample values — the first one becomes a name like John Doe — so you are reading the message as a customer would, not the template as Meta stores it. Underneath it, a running verdict lists everything still wrong. It is the same verdict that governs the Create button, so when the panel says the template is valid, the button is live.

Video walkthrough — 2 steps, 0:16. Pick a step to play just that part.
The live preview panel with placeholders filled by sample values, and the validation verdict beneath it

Submitting

Create Template stays disabled until the name, the category and the body are all valid. Pressing it hands the template to Meta and returns you to the list, where it appears at once with a PENDING badge. It cannot be edited afterwards — a change means a new template under a new name.

The Create Template button, now enabled because every check has passed

Compare

Comparing templates

Compare puts two or more templates side by side, up to four at a time, so you can read their wording against each other. It starts empty: nothing is chosen for you. It compares content, not performance — for delivery figures, use Meta's own insights.

Video walkthrough — 3 steps, 0:11. Pick a step to play just that part.
The compare page before anything is chosen, with empty template slots

Choosing what to compare

Each slot is one template. Add a slot with the button beside the dropdowns, and clear the whole comparison with the other. Only templates on the connected account are offered.

A comparison slot dropdown open, listing the templates on the connected account

Two templates, side by side

With templates chosen, the page draws their content next to each other so wording, length and button choices line up for reading. Remove one with the cross on its column.

Two templates in adjacent columns, their wording and buttons lined up for comparison

Reference

What each screen does underneath, for anyone who needs to know exactly what a button touches.

Where your templates actually live

There is no templates table in this application. Every screen in this module asks Meta's Graph API for your account's templates on the spot, and the id in a template's URL is Meta's id, not a row number here. That has three consequences worth knowing before anything looks broken: the list can be slower than the rest of the dashboard, it needs your Meta business connection to be alive, and a template created at Meta's own WhatsApp Manager appears here without anything being synced.

Answers are cached briefly to keep the page usable — five minutes for your account's own template list, thirty minutes for Meta's shared library. Creating a template through this dashboard clears that cache immediately, so a template you just submitted appears at once. One created at Meta's site can take up to five minutes to show up here.

Note: The list page loads in two stages on purpose: the page frame arrives first and the templates follow, which is why the counters start as grey bars. That is the page working, not hanging.

A template's detail page also needs the account it belongs to carried in the address, not just the template id. Every link inside the app adds it for you, so this only bites if you copy a link out of the address bar and hand it to a colleague.

What each status means

StatusWhat it meansCan you send it?
APPROVEDMeta reviewed it and accepted it.Yes.
PENDINGSubmitted, waiting on Meta. Usually minutes, sometimes a day.No.
REJECTEDMeta refused it. Fix the content and submit under a new name.No.
DISABLEDSwitched off after the fact — normally for poor quality feedback.No.

The status filter offers all four even when your account has none of a given kind, so choosing Rejected and getting an empty list is the filter working. The four counters above the list always describe your whole account and never the filtered view.

Only an approved template can go out to people who have not written to you recently, which is what bulk campaigns send: a campaign picks one approved template and fills its placeholders for every recipient.

The limits the builder enforces

The create form checks these as you type, before Meta ever sees the template. Marketing templates get a shorter body than the others because Meta treats them differently.

PartLimit
Name512 characters, and only lowercase letters, numbers and underscores.
Header text60 characters. One header per template, and it may be text or media, never both.
Body550 for Marketing, 512 for Utility and Authentication. 1024 until you pick a category.
Footer60 characters.
ButtonsUp to 3, each labelled at most 25 characters. Quick replies and URL buttons cannot be mixed freely.

Note: A media header needs a sample file at submission time. It is used only for the review — the real image, video or document is attached when you send the message, not here.

When something goes wrong upstream

Because every screen here reads from Meta, the interesting failures are Meta's. The list page distinguishes three of them and says which one it hit, in an alert above the grid, instead of showing you an empty account.

What happenedWhat you seeWhat to do
Too many requestsA plain notice that WhatsApp is rate-limiting the account.Nothing. It clears on its own, usually within minutes.
The connection expiredA red alert with a link to reconnect the account.Reconnect. This is the only case where reconnecting helps.
Anything elseA red alert saying WhatsApp could not be reached.Try again shortly; if it persists it is not something this page can fix.

Note: The distinction matters more than it looks. Being told to reconnect a working account costs you an OAuth round-trip and fixes nothing, so the rate-limit notice deliberately does not offer it.

What this dashboard cannot do

Editing an existing template is not possible from here, and it is not possible at Meta either — Meta treats the name plus the language as the template's identity. A correction is a new template under a new name. Deleting is possible, from the detail page, and it deletes at Meta.

Note: After deleting, Meta reserves the name for about thirty days. If you delete a template intending to resubmit a fixed version immediately, pick a different name.

Meta's shared template library is not browsable from this dashboard. The button on the list page opens Meta's own library in a new tab, which needs your Business ID — if your account was connected without one, that button and the whole Meta shortcuts panel are hidden rather than shown empty.