Want to Use WhastApp API?

Creating a WhatsApp Message Template

Picture of Mumble Team

Mumble Team

May 25, 2026| זמן קריאה: 6 דקות

Overview

A message template is a pre-written text message that Meta approves before you can send it to customers. It’s the only way to initiate a conversation with a customer who hasn’t written to you in the last 24 hours, which means that without message templates there are no campaigns, no proactive reminders, and no opening messages. This article explains how to build a message template in Mumble without getting it rejected, and what to do if you’re rejected anyway.

Background: why you need an approved message template

Meta divides the world into two types of message. As long as the customer wrote to you in the last 24 hours, you can reply to them with any free-form message. Once 24 hours have passed, or when it’s a customer who never wrote, you may only send a message whose structure and content were approved in advance by Meta. That’s the message template. Without it, the message won’t be sent.

Beyond being a technical requirement, the message template’s category also determines the price Meta charges for each conversation. Marketing messages are more expensive than service messages. Choosing the wrong category is the most common reason for rejections, and also the most common reason for bills higher than expected.

Where to find it

In Mumble’s main menu, go to the “Templates” section. The page shows all existing templates with three filter tabs at the top by status:

  • Approved. Templates that passed Meta’s approval and are available to send.
  • Pending. Templates already submitted for review that haven’t received a response yet. Meta usually approves or rejects within a few minutes to 24 hours.
  • Rejected. Templates Meta rejected. You can see why and start a new template in its place.

Below the status filter there’s also a filter by category: UTILITY, MARKETING, AUTHENTICATION. New templates are added through the purple plus button in the corner.

The creation steps

Clicking the + button opens a creation form with the following fields:

Template name

Up to 30 characters, English only, no spaces. If you want to separate words, use an underscore, for example abandoned_cart_reminder or welcome_new_lead. The name is used as an internal identifier only; the customer doesn’t see it, but it must be unique within the account. If you try to create a template with a name that already exists, Mumble will return an error.

Category

  • UTILITY. Service messages that relate to an action the customer took. An order status update, an appointment confirmation, an appointment reminder, a payment verification OTP. Cheaper in Meta’s pricing.
  • MARKETING. Marketing messages, promotions, launches, surveys. More expensive. Even a message that’s 90% service-related but contains a single marketing sentence will be classified as Marketing.
  • AUTHENTICATION. A one-time verification code only. No branding and no marketing text. Allowed only for OTP codes.

When in doubt, split it into two separate templates. One purely service-related, and one marketing. It’s cheaper and also gets approved faster.

Language

One language per template. You cannot mix Hebrew and English in the body of the message (apart from a few technical words familiar in Hebrew, such as URL). If you want to send to an English-speaking audience, create a separate template in English with a different name.

Header type

An optional header that appears at the top of the message:

  • Text. A short text line. Cannot contain variables, only fixed text.
  • Image. A single image. JPG or PNG recommended.
  • Video. A short clip.
  • Document. PDF, Word, Excel.
  • Audio. A voice file.
  • No header. If you want the message body to start right away.

Message body

The text the customer sees. Up to 1024 characters. You can add dynamic variables in the format {{1}}, {{2}}, {{3}}, and so on. The variables are filled in at send time based on each customer’s data. Example: “Hi {{1}}, your order {{2}} is on its way.”

Three rules Meta checks automatically, and if you break them the rejection comes immediately:

  • You may not start or end the body with a variable. Write “Hi {{1}}” and not “{{1}}, welcome.”
  • You may not place two variables adjacent to each other. If you need to, put a comma, a period, or a space with a word between them.
  • A variable’s content cannot contain line breaks, tabs, or 4 consecutive spaces. This is a rule about the variable’s content at send time, not about the template itself, but it’s worth knowing.

Footer

A short text line that appears at the bottom of the message. Optional. Contains no variables. Mainly useful for a short legal notice or for explaining how to opt out.

Buttons

You can add up to 10 buttons in a single message, in combinations of three types:

  • Quick Reply. A button that, when the customer taps it, sends the message back to Mumble as a reply. Very useful in the chatbot for branching, and for marking choice options (yes/no, interested/not interested).
  • URL link. Directs the customer to an external website. One URL button is allowed per message.
  • Phone. Opens a phone call to the number you set. One phone button is allowed per message.

Opt-out word picker (for marketing messages)

When you add a Quick Reply button to a marketing message, there’s a special picker of words that Meta and Mumble automatically recognize as an opt-out. Choosing through this picker fills in both the button text and the footer according to the message’s language. Why this matters: only words from this picker cause Mumble to automatically remove the customer from marketing campaigns. If you write “Remove” or “Stop” freely, the button will work but Mumble won’t perform an automatic opt-out.

After saving

Clicking Save submits the template for Meta’s approval. The template enters the “Pending” tab until approval or rejection is received. Approval usually takes a few minutes, but can take up to 24 hours. When it’s done, the status updates to “Approved” or “Rejected.” Approved templates are immediately available to send in a campaign, in the chatbot, or from the chat.

A critical point to understand up front: a message template cannot be edited after it’s created. This isn’t a Mumble limitation but a Meta one. If you want to change a single line of text after it’s approved, you have to delete the template and create a new one with a different name. So it’s worth taking an extra minute to check before saving.

Examples

Utility, simple

Name: order_shipped
Category: UTILITY
Body: “Hi {{1}}, your order {{2}} has shipped. Tracking number: {{3}}. Thank you for ordering with us.”
Footer: empty
Buttons: a URL button to a tracking page.

Marketing, with an image and opt-out

Name: black_friday_2026
Category: MARKETING
Header: Image (the sale banner)
Body: “{{1}}, our annual Black Friday sale is now on. Up to 40% off all products, today only.”
Footer: filled in automatically through the opt-out picker
Buttons: URL to the store + Quick Reply with the word “Stop” from the picker.

Authentication, OTP

Name: login_otp
Category: AUTHENTICATION
Body: “Your one-time code: {{1}}. The code expires in 10 minutes.”
No header, no footer, no buttons. AUTHENTICATION does not allow branding or marketing content.

Common issues

The template was rejected with the reason “Wrong category”

Reason: you set UTILITY but the body has a sentence Meta saw as marketing, or vice versa. Fix: delete the existing template (you can’t edit it) and create a new one with a different name. If all the content really is service-related, make sure there’s no sentence inviting the customer to any action unrelated to the action they performed.

The template was rejected because of a variable at the start or end of the body

Reason: the text starts with {{1}} or ends with a variable. Fix: add fixed words around it, such as “Hi {{1}}” at the start, or “Best regards, the team” at the end.

The template was rejected because of a suspicious link

Reason: you used a shortened URL (bit.ly, tinyurl, and the like), or a domain Meta doesn’t recognize. Fix: use the full URL of your own domain. If you must use a short URL, use one on your own domain (a custom short link on your domain).

The template has been “Pending” for 24 hours

Reason: sometimes Meta takes longer under load. Fix: make sure your number is active and that your account quality is healthy (the WhatsApp account status card on the main page). If the status is still pending after 48 hours, contact Mumble support.

You want to fix a single comma and have to delete the whole template

Reason: that’s how Meta set it up. There’s no editing a template after creation. Fix: delete it, create one with a similar but slightly different name (for example order_shipped_v2), and wait for approval. It’s worth taking the opportunity to check that everything is right before the new save.

Related articles

The bottom line

A good message template starts with choosing the right category, continues with a body that doesn’t start or end with a variable, and ends with one last check before saving — because once Meta has accepted it you can no longer edit it, only start over.

Picture of Mumble Team

Mumble Team

מאמבל מתמחה בשינוי תקשורת עסקית באמצעות פתרונות וואטסאפ חדשניים. עם התמקדות באופטימיזציה של מכירות, ניהול לידים ואוטומציה של אירוסי לקוחות, Mumble מעצים עסקים לצמוח בצורה חכמה ומהירה יותר. עם תשוקה ליעילות וחדשנות, הצוות ממשיך להגדיר מחדש איך חברות מתחברות עם הלקוחות שלהן.