This page is a reference for the building blocks of a WhatsApp template — categories, headers, buttons, variables, and the submission lifecycle. For the step-by-step of creating and testing a template, see Templates.Documentation Index
Fetch the complete documentation index at: https://knowledge.flowella.io/llms.txt
Use this file to discover all available pages before exploring further.
Categories
Every template has exactly one category, set when you submit it to Meta. The category drives pricing and what content is allowed.| Category | Use it for | Notes |
|---|---|---|
| Marketing | Promotions, offers, event invites, re-engagement | Most expensive tier; subject to opt-in rules |
| Utility | Order updates, account alerts, reminders, follow-ups to a user-initiated flow | Cheaper than Marketing; content must relate to a specific transaction or request |
| Authentication | One-time passwords and account verification codes | Strict format; no marketing content allowed |
Header formats
A template’s header is optional. When present, it can be one of:- TEXT — short string, may include one variable.
- IMAGE — public HTTPS URL to a JPEG or PNG.
- VIDEO — public HTTPS URL to an MP4.
- DOCUMENT — public HTTPS URL to a PDF. You can supply an optional filename hint.
- LOCATION — latitude, longitude, name, and address. Useful for store visits or delivery confirmations.
Body and variables
The body is the main message text. Variables use double curly braces with a 1-based index:- Numbers must be sequential starting from
{{1}}— you cannot skip indexes. - Provide a sample value for every variable when you submit. Meta uses the samples to evaluate the template.
- Keep variables to short, predictable values. Long pasted blocks are a common rejection reason.
{{n}} syntax is used in TEXT headers and URL buttons (see below).
Footer
Optional plain text shown after the body. No variables, no formatting.Buttons
A template can include up to 10 buttons total, grouped as either quick replies or call-to-action — but not mixed in some combinations. Meta’s full rules vary by Cloud API version; in practice you will use:| Button type | What it does | Example |
|---|---|---|
| QUICK_REPLY | Sends a pre-set text reply back to your business | Yes, that's me |
| URL | Opens a web page. Can include a single variable in the URL | https://acme.com/orders/{{1}} |
| PHONE | Calls a phone number | +44 20 7946 0000 |
Submission lifecycle
When you submit a template from Flowella, it moves through these states:REJECTED
Meta declined the template. The rejection reason appears on the template page. Edit and resubmit.
Common rejection reasons
- Promotional content submitted as Utility — re-submit as Marketing.
- Variable samples that don’t match the body (for example, samples that contain links the body doesn’t justify).
- Body or header text that looks like spam (excessive capitalisation, “Click here”, “Free!!!”).
- Broken or unreachable media header URLs.
- Footer text that contradicts the body.

