Skip to main content
WhatsApp gives you a 24-hour window to reply freely once a customer messages you first — like a normal chat, type anything, hit send. Outside that window, WhatsApp won’t let you just type and send. You need a Message Template first — a message Meta (WhatsApp’s parent company) checks and approves before you’re allowed to use it. Think of it like a teacher checking your homework before you’re allowed to hand it in.
  • Why this rule exists: so businesses can’t spam people with unlimited messages.
  • The upside: once a template is approved, you reuse that same message again and again, for as many customers as you want — no re-approval needed each time.
Example:
  • You run a clothing store.
  • Every time an order ships, you want to tell the customer: “Your order has been shipped.”
  • Instead of typing that by hand for every single person, you write it once as a template and get Meta’s approval one time.
  • From then on, ChatSyncs sends it automatically — filling in each customer’s own name and a Variable like the order number or discount amount for them.

Variables are the whole point

Message Template builder with a Message Body using placeholders — Hi #User-Name#, Get #!Discount!# % OFF — and a live WhatsApp preview on the right showing those placeholders rendered as filled-in User-Name and Discount tags
A template only has to be written and approved once, but it goes out to every customer differently — that’s what makes it worth doing instead of typing each message by hand. Variables are how: a placeholder like #!Discount!# in the template body, filled in with a real value — a different one per customer, per send — the moment the message actually goes out. The full syntax for every type of placeholder is in Custom Fields, Variables, Name, and AI Rewrite further down — but since a Template Variable is the reusable one you’ll reach for most, here’s how to create one before anything else.

Create a Template Variable first

Why create one? A Custom Field only stores something permanent about a subscriber (their email, city). If what you need instead changes per message — a discount amount, an order total, a coupon code — and you want to reuse that same placeholder across multiple templates without redefining it each time, create a Template Variable once and insert it anywhere.
Message Templates page with the Variables tab selected, listing existing variables — email (Custom), system-fulfillment-status (System), system-coupon-code (System) — and a Create button
How to create one:
1

Open the Variables tab

Go to Chatbot Manager → Automation → Message Templates, then click Variables next to Templates.
2

Click Create

Create Template Variable modal with a Variable Name field filled in as Discount and a Save button
Enter a Variable Name with no spaces or special characters, e.g. Discount, OrderID, BookingID, CompanyName.
3

Save

The variable now appears in the list and can be inserted into any template’s Message Body using the Variables button in the toolbar.
If the value you need is instead something permanent about the customer (their email, city, or company) rather than something that changes per message, use a Custom Field instead of a Template Variable — see Template Variables vs Custom Variables — What’s the Difference?.
Insert a variable using the #!VariableName!# syntax — note this is different from a Custom Field’s single-# syntax:
Before sending, assign each variable a real value: The customer receives:
Template Variables let you personalize a single template per customer, reuse it across many subscribers, and avoid creating a near-duplicate template for every small change. This page now walks through building the template itself, step by step.

Prerequisites

  • A WhatsApp Business Account connected to ChatSyncs.
  • A clear idea of your message content — including any variables, buttons, or footer text you need.

Open Message Templates

1

Open Chatbot Manager

Go to Chatbot Manager.
2

Open the Automation tab

Select Automation.
3

Click Message Templates

Select Message Templates from the sub-tabs.
4

Click Create

Click Create and pick a template type.
Message Templates list with the Create dropdown open showing General Template, WP Template, Mixed Template, Carousel Media Template, Carousel Product Template, and Default Template
Six template types are available from the Create dropdown:
  • General Template — the standard single-message template builder.
  • WP Template — another single-message builder, mainly used for Marketing templates.
  • Mixed Template — supports all three template categories (Marketing, Utility, Authentication/OTP) from one builder.
  • Carousel Media Template and Carousel Product Template — swipeable multi-card templates; see How to Create and Use Carousel Media Templates for the full walkthrough.
  • Default Template — system-created templates you don’t build yourself.

General Template

Message Template builder showing Template Name, Locale, Template Category, Header Type, Message Body toolbar, Footer Text, button configuration, and a live preview panel
General Template is the standard builder — the same fields described under Mixed Template below (Template Name, Locale, Template Category, Header Type, Message Body, Footer Text, Buttons, live preview) apply here too.

Mixed Template

A Mixed Template can be submitted as Marketing, Utility, or Authentication (OTP) — useful when you want one builder for any category instead of switching tools. See Utility vs. Marketing Templates for help choosing the right one.
Template Category toggle with Utility, Marketing, and Auth/OTP options, and Header Type dropdown expanded showing No Header, Text, Image, Video, and Document
Fields you fill in: Every field has a length limit — see Character Limits for Media Message Templates before you write a long message.

Custom Fields, Variables, Name, and AI Rewrite

Message Body toolbar with four buttons — Custom Fields, Variables, Name, and AI Re-write — above a body reading Hi #User-Name#, Get #!Discount!# % OFF on your next purchase, using the pound-bang syntax for the Discount variable
The Message Body toolbar has four buttons, and each one inserts a different syntax — don’t mix them up:
Variables use #!...!#, not #...#. Typing #Discount# instead of #!Discount!# won’t be recognized as a Template Variable — use the Variables button to insert it correctly rather than typing the syntax by hand.
Example — a message built from all three placeholder types:
Before sending, #User-Name# resolves to the subscriber’s name automatically, and #!Discount!# resolves to whatever value you assign that Template Variable (see Add a reusable Template Variable below) — the same variable can appear more than once in one message. See Template Variables vs Custom Variables — What’s the Difference? for the full difference between a Custom Field and a Template Variable, and how each behaves when sending via the API.
Message Template builder with a saved template and a success toast confirming it needs WhatsApp approval before use
Saving the template shows a confirmation toast like the one above, confirming it’s been submitted for Meta’s review.

Buttons

Every builder has the same three Button options: None, Call To Action, or Quick Reply.
Call To Action button configuration with Button Type set to URL (with a Phone option in the dropdown), Button Text, and an Action Value field with its own Variables button, plus a second optional button row
Call To Action opens a Button Type dropdown — URL or Phone — plus Button Text and an Action Value (the URL or phone number itself). Action Value has its own Variables button, so the destination can be personalized per subscriber too, e.g. https://example.com/order/#!OrderID!#. Up to two Call To Action buttons can be added.
Quick Reply button configuration with three Button Text fields filled in as Thank You, Not Intrested, and an empty third field
Quick Reply instead adds up to three plain Button Text fields — short replies a customer taps instead of typing, e.g. Thank You, Not Interested.
WhatsApp live preview showing the message with Discount and User-Name placeholders filled in, the footer Powered by Chatsyncs, and two Quick Reply buttons: Not Intrested and Thank You
The live preview panel updates as you configure buttons, so you can confirm exactly how they’ll look before saving.

WP Template

WP Template builder showing Template Name, Locale, Template Category, Header Type, Message Body toolbar with WP Variables, Footer Text, and Call To Action / Quick Reply button configuration
WP Template is another single-message builder, mainly used for Marketing templates. It includes the same building blocks as the other builders:
  • Unique Template Name
  • Locale selection
  • Header options
  • Custom Fields
  • WP Variables (WP Template’s own variable picker, alongside Custom Fields)
  • AI Rewrite
  • Footer Text
  • Call To Action buttons
  • Quick Reply buttons
  • Live preview
Supported placeholders work the same as other builders — Custom Fields like #phone# or #email# (single #), and Template Variables like #!OrderID!# or #!BookingID!# (#!...!#) — see Custom Fields, Variables, Name, and AI Rewrite above for the full syntax reference. Common use cases: promotional offers, product launches, property marketing, service promotions, lead follow-ups.

Approval status & Sync Template

After saving, every template appears in the Message Templates list with a status — all custom templates must be reviewed by Meta before use:
Message Templates list with a Sync Templates button and Approved/Pending status badges highlighted
  • Pending — the status right after saving, before it’s been sent to Meta for review.
  • Submitted — sent to Meta and awaiting review; a template moves from Pending to Submitted once you click Sync Templates.
  • Approved — ready to use in Keyword Replies, Broadcasting, Sequences, WhatsApp Flows, and AI Agent automations.
  • Rejected — see Why Templates Get Rejected and How to Fix Them for the full status list (including Paused and Disabled), the fix, and how to resubmit.
Click Sync Templates any time to pull the latest status from Meta.
Meta usually reviews templates quickly, but a new WhatsApp Business account may take up to 24 hours or longer. If the status doesn’t update right away, click Sync Templates, wait a few minutes, and check again.

Using the template

Once Approved, send it via:
  • Broadcasting — a one-to-many send to a segment of your subscribers, see Broadcast Campaign.
  • Live chat — sent directly to one subscriber from the inbox.
  • Shopify & WooCommerce messages — automated order/shipping messages, if you’ve connected a store.
  • Keyword Replies, Sequences, WhatsApp Flows, and AI Agent automations — any automation that needs to message a customer outside the 24-hour window.

Broadcasting with Template Buttons

If a WhatsApp template contains buttons, it can be integrated with a Keyword Replies flow during broadcasting — tapping a template button hands the customer straight into that flow. Prerequisites:
  • A WhatsApp template with buttons, submitted and Approved by WhatsApp.
  • The Keyword Replies flow you want the button to trigger, already built.
Configure Action Button modal with 24 hours / Anytime messaging window options, a Select template field, and a list of flows to trigger
1

Open the Broadcast module

Go to Broadcasting.
2

Select the approved template

Pick the WhatsApp template with buttons.
3

Open Configure Action Button

Navigate to Configure Action Button.
4

Choose the messaging window

24 Hours (within the customer service window) or Anytime (non-promotional).
5

Select the Keyword Replies flow

Pick which flow the template’s button should trigger.
6

Save and start the broadcast

Save the configuration, then start the broadcast.
Example: Flow:
  • Only Approved templates can be used for broadcasting.
  • The Keyword Replies flow must be built and saved before sending the broadcast.
  • A template button is only the entry point — verify the assigned flow with a test broadcast before sending to production contacts.

Frequently asked

Go to Chatbot Manager → Automation → Message Templates → Create, pick a template type (General, WP, Mixed, Carousel Media, Carousel Product), fill in the name, category, body, and any buttons, then save. It’s submitted to Meta automatically and needs approval before use.
No — only if part of the message changes every time you send it (a name, an order number). A template with fully static text needs no variables at all.
Meta is still reviewing it. Click Sync Templates to pull the latest status — new WhatsApp Business accounts can take up to 24 hours or longer for the first review.
Use the Name button for the subscriber’s name (#User-Name#), a Custom Field for other subscriber data like an order number (#orderid#), or a Template Variable for a reusable placeholder (#!Discount!# — note the #!...!# syntax, different from a Custom Field’s single #). Assign each a real value before sending, and it’s automatically replaced per customer.
Yes — click AI Rewrite inside the Message Body (or a carousel’s Message Bubble/Card Body) to generate or improve the wording automatically.
All three are single-message builders with largely the same fields (Template Name, Locale, Category, Header Type, Message Body, Footer Text, Buttons, live preview) — pick whichever entry point you land on in the Create menu.
Yes — under Broadcasting with Template Buttons, use Configure Action Button to assign an approved template’s button to a specific Keyword Replies flow, so tapping it hands the customer straight into that conversation.
It needs Meta’s approval first. Check its status on the Message Templates list — see Why Templates Get Rejected and How to Fix Them if it shows Rejected.
  • A template can’t be used anywhere until it’s Approved — Keyword Replies, Broadcasts, Sequences, WhatsApp Flows, and AI Agent automations all require an approved template.
  • Status doesn’t refresh on its own — click Sync Templates to check Meta’s latest decision; it won’t update in real time.
  • A Rejected template needs a fix, not a resend — review the content against Why Templates Get Rejected and How to Fix Them before resubmitting.