Skip to content
Meta Business PartnerStep-by-step guide

How to create a message template on the WhatsApp Business API

Message templates are the pre-approved messages you use to start conversations, send order updates, deliver OTPs and run campaigns on the WhatsApp Business API. Every business-initiated message that lands outside the free 24-hour service window has to be a template that Meta has reviewed and approved. This tutorial walks you through creating your first template inside InfiQ — from picking the right category to naming variables, adding buttons and submitting for approval — plus the mistakes that get templates rejected or quietly throttled. If your WhatsApp Business API account is already live with InfiQ, you can have a working template approved and sending within the hour.

Minutes to 24 hours
Approval time
Marketing, Utility, Authentication
Categories
Positional {{1}}, {{2}}, {{3}}
Variable format
Up to 1024 characters
Body limit
Per delivered message, by category
Billing
No-code dashboard builder
Setup skill

What you'll do

Create a WhatsApp message template by choosing the correct category (marketing, utility or authentication), writing header/body/footer text with numbered variables like {{1}}, adding any quick-reply or call-to-action buttons, then submitting for Meta approval. Category drives both approval and billing — WhatsApp bills per delivered template message, so pick utility over marketing wherever the message genuinely qualifies.

Step 1 — Choose the right template category

Category is the single most important decision you make, because it drives both whether your template is approved and how much each delivered message costs. WhatsApp bills per delivered message by category, so mislabelling a template can quietly inflate your spend or get it rejected outright. In the InfiQ dashboard, open Templates and click Create Template, then pick the category that honestly matches the message's purpose.

  • Marketing — promotions, offers, product launches, re-engagement and anything designed to drive a sale. Highest rate, and requires clear opt-in.
  • Utility — transactional follow-ups tied to a specific action the customer took: order confirmations, shipping updates, payment receipts, appointment reminders. Lower rate than marketing.
  • Authentication — one-time passcodes and login/verification codes only, using Meta's authentication template format with the built-in copy-code button.
  • Don't disguise a promotion as a utility message to save cost — Meta re-categorises templates it judges wrongly labelled, and repeated mismatches hurt your quality rating.

Step 2 — Write the header, body and footer

A template is built from up to four parts: an optional header, the required body, an optional footer, and buttons. Give the template a lowercase, snake_case name (for example order_shipped_v2) and select the language you're submitting — you create a separate language version for each locale you send in. Write natural, specific copy: Meta rejects vague, spammy or placeholder-looking text, and messages that read like a genuine business notification sail through review far more often.

  • Header (optional) — a short line of text, or a media header (image, video or document). Text headers support one variable; media headers need a sample file at submission.
  • Body (required) — the main message, up to 1024 characters. Insert variables as numbered placeholders {{1}}, {{2}}, {{3}} in order, with no gaps.
  • Footer (optional) — a short static line, often used for 'Reply STOP to opt out' on marketing templates.
  • Keep the ratio of variables to fixed text reasonable — a body that is almost entirely {{1}} {{2}} {{3}} looks like spam and is commonly rejected.

Step 3 — Add variables and sample values

Variables let one approved template serve thousands of personalised sends. WhatsApp uses positional placeholders — {{1}}, {{2}} and so on — which you map to real data (customer name, order ID, tracking link, OTP) at send time. During creation you must supply a realistic sample value for every variable so Meta's reviewers can see the message in context. Samples that are obviously fake ('test', 'xxxx', 'asdf') are a frequent, avoidable cause of rejection.

  • Number variables sequentially with no skipped indices — {{1}} then {{2}}, never {{1}} then {{3}}.
  • Provide meaningful samples: {{1}} = 'Aarti', {{2}} = 'IQ-84213', {{3}} = 'https://track.example.in/84213'.
  • Never put an OTP or verification code in a marketing or utility body — use the dedicated authentication template type instead.
  • Avoid leading or trailing whitespace around a variable and never place two variables side by side with no separating text.

Step 4 — Add buttons (optional but powerful)

Buttons turn a static notification into an action. WhatsApp supports quick-reply buttons that send a predefined text response back to you, and call-to-action buttons that open a URL or dial a phone number. In InfiQ you add these in the Buttons section of the template builder; they are reviewed as part of the template, so URLs and labels need to be legitimate and match the message.

  • Quick reply — up to a handful of tappable options like 'Track order', 'Talk to agent' or 'Not now', ideal for triggering the next step of an automated flow.
  • Call-to-action — a 'Visit website' button (static or a dynamic URL with a {{1}} suffix) or a 'Call phone number' button.
  • Authentication templates use a special one-tap copy-code button rather than custom buttons.
  • Keep button labels short and honest — a 'Claim ₹500' button on a template with no such offer will be rejected.

Step 5 — Submit, then test before you scale

When the template looks right, click Submit for approval. Most templates are reviewed within minutes to a couple of hours, though it can take up to 24. InfiQ shows the live status — Pending, Approved or Rejected — and surfaces Meta's rejection reason so you can fix and resubmit fast. Once approved, send a real message to your own number first to confirm the variables map correctly and the buttons work, then roll out gradually.

  • Test with your own WhatsApp number using live variable values before any bulk send.
  • If the number is new, warm it up — start with lower volumes and grow as your quality rating and messaging tier climb, rather than blasting on day one.
  • Watch delivery and read status plus your template's per-template quality rating in the dashboard; a template flagged low-quality can be paused by Meta.
  • Version your changes with clear names (order_shipped_v2) instead of editing meaning inside an already-approved template.

Do this in InfiQ now

Talk to InfiQ

Want us to set this up with you?

Tell us where you’re stuck — we’ll walk you through it and get you live.

Step 1 of 2
WhatsApp

Protected by invisible spam checks · replies within 1 working day

Frequently asked questions

How long does template approval take?+
Most WhatsApp message templates are approved within a few minutes to a couple of hours. Meta allows up to 24 hours, and authentication or media-heavy templates sometimes sit at the longer end. InfiQ shows live Pending/Approved/Rejected status so you're never guessing.
Why do I even need a template — can't I just message customers?+
Outside the free 24-hour service window that opens when a customer messages you, every business-initiated message must be a pre-approved template. Templates are how WhatsApp keeps proactive messaging trusted and spam-free, and they're required for order updates, reminders, OTPs and campaigns.
Which category should I pick, and does it affect cost?+
Pick the category that genuinely matches the message: marketing for promotions, utility for transactional follow-ups, authentication for OTPs. It matters for cost because WhatsApp bills per delivered message by category — utility is cheaper than marketing, but mislabelling a promo as utility gets it re-categorised and can hurt your quality rating.
How do variables like {{1}} work?+
Variables are positional placeholders you write into the template ({{1}}, {{2}}, {{3}}) and fill with real data — name, order ID, tracking link — at send time, so one approved template personalises thousands of messages. You supply a realistic sample for each during creation so Meta can review the message in context.
Why was my template rejected?+
The most common reasons are the wrong category, placeholder-looking sample values, too many variables relative to fixed text, misleading button labels, or promotional content lacking clear opt-in. InfiQ shows Meta's exact rejection reason so you can correct and resubmit quickly.
Can I edit a template after it's approved?+
Minor edits to an approved template are possible but trigger re-review, and changing the meaning is risky. The safer practice is to create a new versioned template (for example order_shipped_v2) so live sends never break while the new version awaits approval.
Do I need a developer to create a template?+
No. Creating and submitting templates in InfiQ is fully no-code through the dashboard builder. You'd only touch the API if you want to programmatically create templates or wire variables into a custom automation, and InfiQ's India-based support can help either way.
Can I add images, buttons or a copy-code OTP button?+
Yes. Templates support text or media headers (image, video, document), quick-reply buttons, call-to-action buttons for a URL or phone number, and a dedicated one-tap copy-code button on authentication templates for OTPs.