WhatsApp Message Templates
A message template is a WhatsApp message that Meta has reviewed and approved in advance. It is the only thing you can send to a customer who hasn't written to you in the last 24 hours, and the only way to start a conversation yourself — order confirmations, shipping updates, appointment reminders, campaigns.
You create, edit and delete templates in Flowera. Meta still reviews every one, but you never have to leave the app to write them.
The Templates page is about ready-made flows. This page is about WhatsApp message templates.
Where to find them
- Open Credentials and switch to the Connected Accounts tab.
- On the row of your WhatsApp number, press the template icon — Manage Templates.
The dialog lists every template of that number's WhatsApp Business Account, in every language, with search by name, category and language. Templates you made in Meta's own WhatsApp Manager show up here too — Flowera reads them live from Meta. An account with more than 1,000 templates shows the first 1,000 and a notice; manage the rest in WhatsApp Manager.
Don't have a number connected yet? See WhatsApp credentials.
Reading the list
Each template shows its status:
| Status | What it means | Can it be sent? |
|---|---|---|
| Pending | Meta is reviewing it | No — wait |
| Approved | Ready to use | Yes |
| Rejected | Meta turned it down; the reason is shown next to it | No — edit and resubmit |
| Paused | Meta paused it after customers reported or blocked it | No — edit it, or wait for Meta |
| Disabled | Meta switched it off for good | No |
| In appeal | You appealed a rejection | No — wait |
| Limit exceeded | Your account hit its template limit | No |
| Archived | Archived in WhatsApp Manager | No |
| Being deleted | Deletion is in progress | No |
Two more details may appear beside the status:
- Quality: GREEN / YELLOW / RED — how customers are reacting to the template. Red means many recipients report or block it; Meta pauses templates that stay there.
- Rejected: … — Meta's reason for a rejection, such as
INVALID_FORMATorPROMOTIONAL(a utility template that reads like marketing).
The eye icon shows the template's full content.
Creating a template
Press Create New. The editor has your settings on the left and a live WhatsApp-style preview on the right.
Start from a preset
Quick Start Templates fill the editor with a working example you can adapt:
| Preset | Category | What you get |
|---|---|---|
| Order Confirmation | Utility | Name, order number and delivery date, plus a Track Order button |
| Shipping Update | Utility | Name and tracking number, plus a Track Package button |
| Appointment Reminder | Utility | Name, date and time, plus Confirm / Reschedule buttons |
| Verification Code | Authentication | A one-time-code template (see below) |
| Promotion | Marketing | Name, discount and expiry date, plus a Shop Now button |
| Product Carousel | Marketing | A swipeable strip of catalog products |
| Blank Template | Utility | An empty editor |
Basic information
- Template Name — lowercase letters, numbers and underscores only (
order_confirmation). It can't be changed later. - Category — Utility (updates about something the customer already did), Marketing (offers, promotions, anything else), or Authentication (one-time codes). Meta may move a template to another category when it reviews it, which changes what each message costs.
- Language — the language the text is written in. Each language is a separate template: to send
order_confirmationin English and Turkish, create it twice under the same name.
Header (optional)
| Header type | Notes |
|---|---|
| None | — |
| Text | Up to 60 characters; may contain one variable |
| Image | JPEG or PNG, up to 5 MB |
| Video | MP4, up to 16 MB |
| Document | PDF, up to 100 MB |
| Product (catalog) | Only with a View Product button |
If a text header contains a variable (Your order {{1}} has shipped), fill Example value for the
header variable as well. Meta refuses the template without it, so the editor won't submit until it is
filled in.
For an image, video or document header you upload a sample file. Meta looks at it during review — it is never what your customers receive. When the flow sends the template, the WhatsApp tool asks for the real file as a public link.
Message body and variables
The body holds up to 1024 characters. Use Insert Variable to add placeholders — {{1}}, {{2}} and
so on, up to 10 — wherever the message changes per customer: a name, an order number, a date.
Every variable needs an example value. Meta reviews the template with your examples filled in, and rejects it without them. Two more rules Meta applies:
- The body can't start or end with a variable.
{{1}}, your order is readyis rejected;Hi {{1}}, your order is ready.is fine. - Variables are numbered in order, without gaps.
Footer and buttons (optional)
The footer is a short line of up to 60 characters under the message. You can add up to 3 buttons:
| Button | What it does |
|---|---|
| Quick Reply | A tappable reply; your flow receives it as a message |
| URL | Opens a link. The link may end in one variable (https://shop.com/track/{{1}}), which needs an example |
| Phone Number | Calls your number |
| View Catalog / View Items / View Product | Opens your product catalog in WhatsApp |
When a URL button's link ends in a variable, fill Example value for the URL variable with a sample
of the part that replaces it (ORD-12345). Like every other example, Meta refuses the template
without it.
A catalog button has to be the only button on the template. Catalog and product-carousel templates have a few more rules, which the editor enforces for you — see Selling from your catalog.
Verification code templates
Choose the Verification Code preset, or the Authentication category, to send one-time codes. Meta writes the text of these itself — "123456 is your verification code." — so there is no body to fill in. You only choose the options:
- Code expires after (minutes) — 1 to 90 minutes, shown under the message.
- Add "For your security, do not share this code."
The message always has a Copy code button. Your flow supplies the code each time it sends.
Submitting
Press Create Template. The template goes to Meta for review and shows as Pending; most reviews finish within 24 hours. Once it's Approved it appears in the WhatsApp tool's Select Template dropdown.
Editing a template
Press the pencil icon on the template's row. Meta allows editing only Approved, Rejected and Paused templates — for any other status the pencil is greyed out.
- The name and language can't change. To change them, create a new template.
- The category can't change once the template is approved.
- Saving sends the template back to Meta for review.
An approved template can't be sent until Meta approves it again — usually minutes, at most a day. Flows that send it fail in the meantime. Meta also limits approved templates to one edit per 24 hours (and 10 per 30 days). If you change the number of variables, the header type or the buttons, update the flows that send the template as well.
A few templates use features the editor can't display — named variables ({{first_name}}), coupon-code
buttons, or media carousels. Flowera tells you when you open one; edit those through an AI assistant
instead (see below).
Deleting a template
Press the delete icon on the row. This deletes that language only — other languages with the same name stay.
- Approved templates can't be deleted from this dialog. Meta blocks a deleted approved template's name for 30 days, so this is deliberately harder to do by accident.
- Disabled templates can't be deleted at all — Meta doesn't allow it.
- Deleting can't be undone, and any flow still sending the template will fail.
When Meta changes a template
Meta reviews templates and can pause or disable one, or move it to another category, at any time — usually because recipients reported it. The workspace owners get a WhatsApp template needs attention notification, in the app and by email, when Meta:
| Meta… | The notice includes |
|---|---|
| Rejects a template | Meta's reason and recommendation |
| Pauses a template | The kind of pause — for 3 hours, for 6 hours, or a pacing pause, which does not lift by itself and must be unpaused in WhatsApp Manager — and Meta's description |
| Flags a template for low quality (quality drops to RED) | That a pause may follow |
| Disables a template | Meta's reason |
| Changes the category, or announces that it will | The old and new category, and the date for an announced change |
Edits to a template — in Flowera or in WhatsApp Manager — are only logged; they don't send a notice.
Automations that send the template keep firing, so check them: every send of a paused or disabled template fails until it can be sent again. A category change changes what each message costs. See Failure handling.
Webhook setup (admins)
These notices come from Meta's template webhooks. Meta delivers them only to the Meta app's default callback URL — it ignores any per-account override URL — and only for the fields ticked in the Meta App Dashboard → WhatsApp → Configuration. Tick all four:
message_template_status_updatemessage_template_quality_updatetemplate_category_updatemessage_template_components_update
A local or ngrok setup is not the app's default callback URL, so it never receives template webhooks — the notices only work on the environment that URL points to.
With an AI assistant
Everything on this page — listing, creating (presets and header samples included), editing and deleting — is also available through the Flowera MCP server, so an AI assistant can do it for you. It can also edit the templates the editor can't display, and it wires an approved template into a flow with every variable filled in. Before it creates, edits or deletes anything it shows you exactly what will happen and waits for your go-ahead. See Build via MCP → WhatsApp templates.
Troubleshooting
| Symptom | Likely cause |
|---|---|
Template rejected as PROMOTIONAL / wrong category | The text reads as marketing. Pick Marketing, or remove the sales wording |
Rejected as INVALID_FORMAT | A variable at the very start or end of the body, a missing example, or a URL variable that isn't at the end |
| The pencil is greyed out | The template is Pending, Disabled or another status Meta doesn't allow editing |
| Template doesn't appear in the WhatsApp tool | It isn't approved yet, or it belongs to another number's Business Account. Refresh the dropdown after approval |
| "A template with this name already exists" | Names are unique per language. Pick another name, or edit the existing one |
| Can't reuse a name you deleted | Meta blocks the name of a deleted approved template for 30 days |
Related
- WhatsApp tool — sending a template from a flow
- WhatsApp channel — the 24-hour window and when you need templates
- WhatsApp credentials — connecting a number
- Batch runs — template campaigns at scale