Skip to main content
Flowella WhatsApp templates list
WhatsApp templates are pre-approved message formats that let you send structured messages to your contacts. They are essential for reaching people outside the 24-hour customer service window — for notifications, updates, reminders, and more. Templates can include rich media such as images and videos, dynamic text variables, and interactive buttons.

What templates are and why they need Meta approval

Because WhatsApp templates are sent outside the standard conversation window, Meta reviews every template before it can be used. The approval process ensures messages meet WhatsApp’s quality standards and business policies. Common rejection reasons include overly promotional language, misleading content, or poor grammar, so it pays to keep your copy clear and focused on genuine value for the recipient. Once Meta approves a template, you can use it in Flowella workflows, automated flows, campaigns, and manual inbox sends. Any changes to a template’s structure require resubmission — but dynamic variables let you personalise each message without additional approvals.
Approval is often near-instant. Meta runs an automated first-stage review that clears most templates within minutes, but anything routed for human review can take up to 48 hours. Submit ahead of time so a slower review never blocks a production send.
Looking for a quick reference on categories, header formats, button types, the {{n}} variable syntax, or the submission lifecycle? See Template reference.

Creating a template

Choose a starting point

Clicking New Template (or navigating to /{org}/templates/new) opens a chooser with three ways to start:
  • Build your own — write the message yourself. Pick one of two options:
    • Standard message — open the blank editor for a template with an optional header, body, footer, and buttons.
    • Carousel (marked NEW) — open the carousel editor to build a scrollable set of image or video cards. See Build a carousel template.
  • Meta Library — browse Meta’s own catalogue of prebuilt utility templates. These are pre-vetted by Meta and usually approved quickly.
  • Flowella Templates — a curated catalogue of starter templates that showcase Flowella capabilities (Flow buttons, coupons, re-engagement, and so on).
Carousel stays turned off until you connect a WhatsApp number. Every card needs its own image or video, and Flowella uploads that media to Meta through your connected number. Hover over the disabled option to see a tooltip that explains this.
You can deep-link straight to a specific option with the entry query parameter: ?entry=meta, ?entry=flowella, ?entry=scratch (standard message), or ?entry=carousel. The onboarding setup guide’s Create your first template step uses ?entry=meta to land directly on the Meta Library.
Both galleries render shared WhatsApp preview cards so what you see while browsing matches the way templates render in the templates catalog — same header, body, and buttons preview. The Meta Library gallery lets you search Meta’s utility template catalogue and add templates without rewriting them.
  • Search — type to filter by name; results are debounced and cached for about an hour per WABA.
  • Language filter — by default the gallery is filtered to the WhatsApp language derived from your organisation’s content locale (set under Settings → Organization). Toggle All languages to browse every Meta locale.
  • Open one as draft — click Open as draft on a card to instantiate that template as a local draft and jump straight into the editor. Nothing is submitted to Meta until you click Publish.
  • Multi-select add — tick the checkbox on multiple cards, then click Create drafts () to instantiate all selected templates at once. On success, Flowella returns you to the templates list.
Library selections always open as local drafts in your WABA. You can rename, edit variables, add buttons, or change categories before publishing — the Meta Library entry is just a starting point.
The Flowella Templates gallery lists curated starters maintained by Flowella (order-status flows, coupon promos, appointment reminders, and so on). Pick a starter to prefill the editor with a ready-to-personalise draft, then publish to Meta when you’re happy. Behind the scenes the gallery drops you into the editor via ?starter=<slug>.

Fill in the editor

1

Name your template

Enter a descriptive name that reflects the template’s purpose.
Use lowercase letters, numbers, and underscores only — for example, order_confirmation or appointment_reminder. Spaces and special characters are not allowed by Meta.
2

Add a visual header

Optionally add an image or video as the template header to make your message more engaging.
Header media is optional but recommended. Images must be under 5 MB and videos under 10 MB. Videos should be under 60 seconds and open with an engaging frame.
3

Write your message body

Enter the main body text for your template. Keep it clear, concise, and relevant to your audience.
Use double curly braces to add dynamic variables — for example, Hi {{1}}, your order {{2}} is ready for pickup!. These are replaced with real contact data when Flowella sends the message.
Avoid overly promotional language. Meta’s review looks for messages that provide clear value to the recipient.
4

Add a button

Click Add a button to your template to include an interactive element.
Buttons give contacts a clear next step and increase engagement. You can add up to three buttons per template.
5

Select the button type

Choose the button type that fits your use case:
  • Call-to-action button — directs users to a website or phone number.
  • Quick reply button — lets users respond with predefined text.
  • URL button — sends users to a specific web page.
You can mix button types on the same template. For example, combine a URL button labelled “View Order” with a quick reply button labelled “Contact Support”.
6

Set the button value

Enter the action or destination for the button — for example, a phone number for a call button or a URL for a link button.
7

Add button text

Enter the label that will appear on the button. Make it action-oriented and clear — for example, “Learn More”, “Contact Us”, or “Get Started”.
Button text has a 25-character limit. Use short action verbs and make it obvious what happens when the button is tapped.
8

Create the template

Click Create Template to save and submit your template.
Submitting the template sends it to Meta for review. This is often near-instant, as most templates clear Meta’s automated review within minutes, though some are routed for human review and can take up to 48 hours.
During review, Meta checks for policy compliance. Ensure your template provides clear value to recipients and avoids promotional language that could lead to rejection.
9

Wait for approval

Submitted templates land in the Pending state. Most clear Meta’s automated review within minutes; some are routed for human review.
Meta tells you approval may take up to 12 hours and Flowella will email you as soon as the status changes. You don’t need to keep refreshing the page.
Once Meta approves the template, you can use it in Flowella workflows, automated flows, the inbox, and bulk sends. A carousel template sends one message bubble followed by a row of cards that the recipient scrolls sideways. Each card has its own image or video, optional text, and buttons. Use a carousel to showcase several products, offers, or options in a single marketing message. Prerequisites: a connected WhatsApp number, and an image or video file for every card.
1

Open the carousel editor

Click New Template, then click Carousel on the Build your own card. The editor opens with a Carousel · cards badge next to the template name.
2

Write the message body

Enter the body text that appears in the message bubble above the cards. The category is locked to Marketing. Carousels have no header, no footer, and no message-level buttons. Buttons sit on each card instead.
3

Set the card structure

Under Card structure, choose the Media type for all cards: Image or Video. Every card uses the same media type. Turn on Card body if you want text on each card. When you turn it on, every card needs body text, up to 160 characters per card.
4

Add card buttons

Under Card buttons, add up to 2 buttons. Each button is a Quick reply, Link, or Phone number. Every card gets the same button types in the same order. You set each button’s label, link, or phone number on the card itself, so each card can point somewhere different.
5

Fill in each card

A new carousel starts with 2 cards. Click Add card to add more, up to 10 cards. On each card, upload the image or video, write the card text, and set the button labels and values.
6

Check the preview and publish

The preview shows the cards as a sideways strip, the way WhatsApp displays them. Click Publish to submit the carousel to Meta.

Manage cards

  • Reorder — drag a card by its handle. To use the keyboard, focus the drag handle and press the up or down arrow key. You can also use Move up and Move down.
  • Duplicate — click Duplicate to copy a card. Flowella copies the text, buttons, and variable samples, but clears the media. Upload a new image or video on the copy.
  • Delete — click Delete to remove a card. A carousel needs at least 2 cards.
If you change the number of cards on a template you already submitted, Flowella warns you that the template goes back to WhatsApp for review. Click Change card count to continue or Cancel to keep the current cards.

Card media

Flowella checks each file before it uploads. If a file has the wrong type or is too large, the card shows the error right away, for example This image is over 5 MB. JPEG and PNG card images must be 5 MB or smaller. If an upload fails, click Retry on that card. WhatsApp crops card images to a wide shape. If you upload a portrait image, Flowella warns that the top and bottom may be cut off. Use landscape images, or keep the important content in the middle.

Rules Flowella checks before you submit

Flowella checks the carousel against WhatsApp’s rules and highlights the card that needs fixing. For example, if a card has no media, Flowella highlights that card and shows Card 3: has no image. Every card needs its own uploaded image before you can submit.
  • The carousel has 2 to 10 cards.
  • Every card has uploaded media of the same type.
  • Either every card has body text or none do. Card body text is 160 characters or fewer, and every variable has a sample.
  • Every card has the same number of buttons, with the same types in the same order. Labels can differ.
  • A link button can contain one variable, at the end of the URL, with a sample value.
You choose between a standard message and a carousel when you create the template. You cannot turn a carousel into a standard template, or a standard template into a carousel. To switch, create a new template.
For the full list of WhatsApp’s carousel rules, see Carousel templates.

Catalogue actions menu

Every template in the catalogue has a 3-dot actions menu, in both the grid (card) and list (table) views. The menu gives you the same actions in both views, so you no longer need to open the editor for routine tasks. Send and Statistics deep-link to the matching tab on the template detail page via the tab query parameter (?tab=send, ?tab=statistics), and Submit for approval appends ?submit=1 to open the submit dialog. These URLs are shareable — paste one in a message to send a teammate straight to the right tab.
Screenshot review: the templates list screenshot above predates the 3-dot actions menu. Update it once new captures are available.

Copy the Meta template ID

Once a template has been submitted to Meta, it has a Meta template ID. You need this ID when configuring API sends, debugging webhooks, or cross-referencing a template in Meta Business Manager. You can copy it from two places:
  • Catalogue — open the 3-dot menu and click Copy template ID.
  • Template detail — the info card in the editor header shows a Template ID row (next to Last updated and Updated by) with a copy button.
Both show a “Template ID copied” toast on success. Local drafts that haven’t been submitted yet have no Meta ID, so the action is disabled for them.

Delivery-health pills on the templates list

Every row on the templates list can show a delivery-health pill in addition to the usual status badge. The pill flags templates that WhatsApp has stopped delivering, so you can spot them without opening each editor. Paused and disabled pills replace the normal status badge; the Quality: Red pill shows alongside it. When Meta lifts the pause, restores the template, or brings quality back to Yellow/Green, the pill clears automatically on the next sync.

Pacing pauses vs quality pauses

Flowella classifies every Meta pause into one of two kinds, and the recovery path differs:
  • Pacing pause — WhatsApp temporarily held the template after early negative feedback on a marketing send. Flowella shows an Unpause button next to the pill. Click it to ask Meta to restore the template. Review the content before unpausing; Flowella never unpauses automatically.
  • Quality pause — WhatsApp paused the template for quality violations. These arrive in escalating instances, shown as Quality pause 1/3, 2/3, and so on. The first pause lasts about 3 hours and the second about 6 hours; a third violation disables the template. There is no Unpause button for quality pauses. Wait for the pause to expire, and don’t edit or resubmit while it’s active, because that sends the template back into Meta review and extends the outage.
Disabled templates cannot be unpaused from Flowella. Edit or appeal them in WhatsApp Manager. Pause, disable, and quality-RED transitions also fire notifications (TEMPLATE_PAUSED, TEMPLATE_DISABLED, TEMPLATE_QUALITY) so you find out even if you’re not on the templates page. Opt in or out under Notification preferences; the full event list is in Notification events.

Meta status history

Open any Meta-backed template and switch to the Statistics tab. Below the send-log tiles you’ll see a Status history section that lists every recorded transition Meta has reported for this template — approvals, pauses, disables, quality changes, and category re-classifications — with a timestamp and the source field that changed. Use this as an audit trail when you’re investigating a delivery-health pill or answering “when did this template flip?” in a support conversation.
Status history only appears for Meta-backed templates (not local drafts) and is nested inside the Statistics tab. Earlier versions rendered it below the editor’s action bar — it now lives with the rest of your delivery analytics.

System-managed reopen templates

Flowella’s flowella_reopen_* templates (Service, Update, Offer) power the Inbox Reply tab and the one-tap Re-engage CTA. In the Templates catalogue these system-managed reopen templates now carry a System badge on both the card and list views so you can spot them at a glance. You can still edit the framing text under Settings → Reply templates, but system reopen templates cannot be deleted — the Delete action in the catalogue’s 3-dot menu and the delete button inside the template editor are disabled with a tooltip explaining why. To stop using a kind, toggle it off in Reply templates instead.

Editor behaviour

The template editor is designed to never lose work.
  • Auto-save — every change to the name, language, category, channel, or components saves after a ~1-second pause. A sticky footer action bar shows the current save state (Saving…, Saved, or Unsaved changes).
  • Publish is gated by save — the Publish button stays disabled until the latest auto-save completes, so you can never submit a half-saved draft to Meta.
  • Body line breaks and footer spaces are preserved across tab switches and saves — what you type is what Meta receives.
  • Quick Reply buttons start empty with a placeholder. Saving or publishing a template with an empty Quick Reply text is blocked by inline validation (BUTTON_TEXT_REQUIRED).
  • Category dropdown shows only the selected label when closed; opening it reveals Meta-aligned descriptions, a recategorisation note, and a link to the Template reference.

Testing a template

To test a template before using it with real contacts, open the template and switch to the Send tab.
1

Open the Send tab

From Templates, click the template you want to test, then select the Send tab.
2

Enter your number

Under Test Template, choose the country code and enter the WhatsApp number you can receive messages on.
The number must be in international format with the country code — for example, +44123456789.
3

Fill any required variables

Provide a value for each template variable. For Coupon code templates, enter the literal codes you want to send — the template’s sample value is placeholder only and never used at send time.
4

Send the test

Click Send Test.
You can send a test even while the template is still pending approval from Meta. Testing lets you see exactly how the message will appear to contacts before using it in production.
5

Verify on device

Open the message on your device and confirm the header media, body formatting, and buttons render correctly. Check on both iOS and Android if possible.
You can send an approved carousel from a test send, a bulk send, the Inbox, the Flowella API, and HubSpot.
  • Card media — if you don’t provide media for a card, Flowella sends that card’s approved sample image or video. Test sends, bulk sends, Inbox sends, and HubSpot sends always use the approved sample media.
  • Per-card values — through the API, pass one carouselCards entry per card, in card order. Each entry can set the card’s media (mediaUrl or mediaId), card body variables (bodyParameters), and button values (buttonParameters).
  • Same cards for every recipient — a bulk send uses the same card media and card values for every recipient. Message body variables can still differ per recipient.
In this example, card 1 uses a custom image and fills the variable at the end of its second button’s link with summer. Card 2 uses a custom image. Button index is zero-based.

Bulk send

The Send tab also lets you send an APPROVED template to many recipients in one job — useful for marketing announcements, batched reminders, or any structured outbound that doesn’t fit in the inbox.

Building the recipient list

The recipient list editor sits below Test Template in the Send tab.
  • Add rows manually — one row per recipient, with a phone column and one column per template variable.
  • Import a file — click Import file and pick a .csv or .xlsx file. File import is the only way to add recipients in bulk; pasting rows is not supported.
  • Download a sample file — click Download sample file and choose Excel (.xlsx) or CSV (.csv). Flowella generates a starter file with the correct column headers for the selected template (phone + each variable). Use it as the basis for your own list.
  • Remove rows with the row-level delete action.
Phone numbers must be in full international format (+447700900000). See Phone number format.

Import file requirements

  • Formats — .csv and .xlsx are accepted. Legacy .xls files are rejected; save them as .xlsx or .csv first.
  • Limits — files must be under 10 MB and contain at most 50,000 recipient rows.
  • Excel workbooks — Flowella reads the worksheet named Recipients if present, otherwise the first sheet. Phone numbers stored as Excel numbers import as full digit strings (never scientific notation), and date or number cells import as they display in Excel.
  • CSV quoting — quoted fields are parsed per RFC 4180, so commas and line breaks inside quotes, doubled quotes (""), and the UTF-8 BOM from Excel’s “CSV UTF-8” export all work. Empty padding rows that Excel appends are dropped automatically.

Schedule and throttle

  • Schedule — send immediately, or pick a future date and time.
  • Throttle — choose how many messages per second Flowella dispatches to Meta. Throttle below your phone number’s messaging limit tier to avoid spikes that hurt quality score. See Messaging limits.

Watching the job run

Once you click Start send, the Statistics tab on the same template shows a live progress banner and job summary tiles: total queued, sent, delivered, read, failed, and suppressed. While a job is running, the banner and send log refresh automatically every few seconds. You don’t need to switch tabs or refocus the window to see new progress. If you open the Statistics tab partway through a job, the banner reappears with the current progress. The Suppressed state is used when Flowella drops a row because the same (template, phone) pair was already sent inside the dedupe window. This prevents accidental duplicates if you re-import a recipient file or re-run a schedule. You can leave the page — the job continues to run server-side and a notification fires when it completes.

Sends are held while a template is paused or disabled

If you start a bulk send (or trigger a send through the v1 API or a HubSpot send form) while the template’s latest Meta status is Paused or Disabled, Flowella creates the job in a held state instead of dispatching it. Nothing is sent and nothing is lost.
  • Paused templates — held jobs resume automatically as soon as Meta restores the template to Active. Flowella’s pause/restore notifications include how many jobs were held and for how long. Unpause pacing pauses from the templates list, or wait for a quality pause to expire.
  • Disabled templates — held jobs stay parked. Edit or appeal the template in WhatsApp Manager before sending again.
  • Test sends and inbox sends are refused outright while the template is paused or disabled, with a toast explaining why.
Separately, WhatsApp itself can hold an individual marketing message for quality assessment after accepting it. These rows show as Held in the send log. If early recipient feedback is negative, WhatsApp drops the held message; it is not delivered and not charged.

Failed sends and Resend unsent

If a job finishes without reaching every recipient, Flowella marks it Failed instead of reporting an inflated completed count. The progress banner stays visible with the message Bulk send finished with unsent recipients and a Resend unsent button. Click Resend unsent to requeue only the recipients who never received the message. Recipients that were already sent are not messaged again, so there’s no risk of duplicates.

Per-send Details column

Every row in the Statistics → Send log has a Details column that explains the outcome in plain English instead of a Meta error code. The Details copy resolves the failure reason from meta_webhook_logs and the persisted delivery payload, so post-send Meta failures (for example, payment method 131042) are surfaced just like pre-send job failures. Status badges are localized to your account’s UI language.

Template reference

Categories, headers, buttons, variables, and the submission lifecycle.

Template variables

Syntax, sample values, HubSpot mapping, and rejection traps.

Media headers

What media formats and sizes WhatsApp accepts in template headers.

Template rejected

Common Meta rejection reasons and how to fix them.

Pricing & categories

How template category drives Meta’s per-message pricing.

Workflow actions

Send your approved templates from a HubSpot workflow.
Last modified on October 5, 2026