Skip to content

Templates overview

Templates are pre-approved WhatsApp messages. Every message you want to send to a contact who hasn’t written to you recently must be a template that Meta has reviewed and approved. Once approved, a single template can power thousands of personalized messages — in campaigns, automations, and directly from the inbox.

This page explains the rules behind templates. When you’re ready to build one, head to Create a template.

Why WhatsApp requires templates

WhatsApp distinguishes two directions of conversation:

  • The contact writes to you first (or replies to you): you can answer freely — any text, image, or document, no approval needed. This is what you do in the Inbox.
  • You write to the contact first (business-initiated): WhatsApp only allows messages from a fixed, pre-approved template. Meta reviews every template before it can be sent.

This rule is why WhatsApp stays a channel people actually read: businesses can’t send arbitrary cold messages, so open rates stay far above email. The trade-off is that your outbound messages — campaign sends, reminders, follow-ups — need to be written and approved in advance.

The 24-hour window, precisely

Whenever a contact sends you a message — a text, a button tap, a reply to a campaign — a 24-hour customer service window opens. The clock starts at their most recent inbound message and resets every time they write again.

  • Window open: you can send free-form messages — regular text, emojis, images, documents. No template needed. In the Inbox you’ll see Window: open (24h) in the contact panel and a normal message box.
  • Window closed: free-form sending is blocked by WhatsApp. The Inbox composer switches to a template picker with the note “The 24h window is closed — you can only send an approved template.” Sending an approved template is the only way to restart the conversation.

A useful consequence: if your template includes a Quick reply button and the contact taps it, that tap counts as an inbound message — the 24-hour window opens and you (or your automation, or the AI agent) can chat freely.

Categories: Marketing, Utility, Authentication

When you create a template you choose one of three categories. The category affects how strictly Meta reviews it and what Meta charges per message — Meta bills WhatsApp message costs directly, and Nybero displays them for you (see WhatsApp costs).

CategoryUse it forNotes
MarketingPromotions, offers, newsletters, product launches, re-engagementThe most expensive category. Content may be promotional, but must respect opt-in rules.
UtilityUpdates about something the contact requested or booked: appointment and webinar reminders, order confirmations, account noticesSignificantly cheaper than marketing. Must not contain promotional content — a discount code in a shipping update gets it rejected or reclassified.
AuthenticationOne-time passcodes and login verificationOnly for verification codes. Not relevant for most marketing use cases.

Meta can reclassify your template. If you submit a template as Utility but Meta’s review decides the content is promotional, Meta moves it to Marketing — and bills it at the marketing rate. Nybero shows the category Meta actually assigned, with a reclassified by Meta badge on the template so you always see what you’re really being billed. More on this in Approval & rejections.

Variables and placeholders

Templates support placeholders that are filled in per recipient at send time. In Nybero you work with named variables like {{Name}} or {{Time}} — much easier to read than the numbered {{1}}, {{2}} placeholders WhatsApp uses internally. Nybero converts your named variables to the numbered format automatically when submitting to Meta.

Two kinds of variables:

  • Contact fieldsContact name and Phone number. These fill in automatically from the contact record for every recipient. No typing needed at send time.
  • Custom variables — anything you define, e.g. {{Date}}, {{WebinarTitle}}, {{Time}}. You provide the value when you send (once per campaign, per automation step, or per inbox message).

Every variable needs a sample value when you create the template — Meta’s reviewers see the sample, not the placeholder, so realistic samples speed up approval.

Templates that were created outside Nybero (directly in Meta’s WhatsApp Manager) are imported automatically and show numbered variables like {{1}}.

Template statuses

Every template in Templates → Manage templates carries a status that is synced automatically with Meta:

StatusMeaning
In reviewSubmitted to Meta, waiting for the review result. Usually minutes to a few hours.
ApprovedReady to send — usable in campaigns, automations, and the inbox.
RejectedMeta declined it. The rejection reason is shown on the template. Fix and resubmit as a new template — see Approval & rejections.
PausedMeta temporarily paused it, usually because of quality issues (blocks/reports). Paused templates can’t be sent.
DisabledPermanently disabled or deleted at Meta. Not sendable.

While you’re still writing a template, the wizard also keeps a local draft in your browser (“Draft saved”) — that’s just your unsent work in progress, nothing has gone to Meta yet.

Where approved templates are used

  • Campaigns — send one approved template to a whole segment or list, with delivery stats. Only opted-in contacts receive campaign sends.
  • Automations — the Send template step sends an approved template to each contact who reaches that step, e.g. a webinar reminder 15 minutes before start.
  • Inbox — when a conversation’s 24-hour window has closed, the composer lets you pick an approved template to restart it. Inside the window, the template button (📋) is also available if you prefer a structured message.

Contacts who have opted out (for example by replying STOP) never receive templates — Nybero blocks it everywhere. See Opt-in & opt-out.

Worked example: one template, three uses

Say you run webinars and get this template approved (built step by step in Create a template):

webinar_reminder_15min · Utility · English (US)

Hi {{Name}}, your webinar “{{WebinarTitle}}” starts in 15 minutes. Tap the button below to join — we start on time! Button: Join now (URL)

The same approved template now works in three places:

  1. Automation: a Send template step fires 15 minutes before each webinar slot — Name fills automatically per contact, WebinarTitle is set once in the step.
  2. Campaign: you send it manually to the “Registered — Thursday” segment right before the session.
  3. Inbox: a contact asked about the webinar three days ago (window closed) — you send the template to reach them again, and their reply reopens the window.

Next steps