Manage Your WhatsApp Message Templates
What is a Message Template?
WhatsApp Message Templates are specific message formats that your business can use to send out notifications, OTP , and promotion messages to people who have opted-in to receive WhatsApp messages. Before it can be sent to your audience using the broadcast feature in Kata.ai’s Business Dashboard, your message template will be reviewed and should be approved by Facebook.
Create a New WhatsApp Message Template
Watch the video tutorial below to learn how to create a message template.
- Go to the Message Template page by clicking from the left side navigation, and click +New Message Template on the top right of the page.
- Choose a category of your message template.
- Marketing : Send promotional offers, product announcements, and more to increase awareness and engagement.
- Authentication : Send codes that allow your customers to securely access their accounts.
- Utility : Send account updates, order updates, alerts, and more to share important information.
- Type in the name of the message template. The name can only be in lowercase alphanumeric characters (a-z, 0-9) and underscore “_”. Space, uppercase letters, and symbols are not allowed.
- Choose the language of your message template. You can select more than one language to create a message template in multiple languages. Click Next.
- Fill in all the required content fields for the languages you selected (see Message Template Content Structure section to get tips on how to fill the content). Once you fill all the required fields, click Submit. Your message template will be reviewed by Facebook, and you can check the status on the Message Template page. In the case of a rejected template message, you may reach out to our support team at support@kata.ai.
Message Template Content Structure (Marketing & Utility)
Header (optional)
A header can be a text or a media - image, video, or document. For a text header, the character limit is 60 characters and you can add a maximum of one variable (See variable section for more info).
Body
A body is where you add the content of your message. You can edit text formats, add emojis, and add variables (See variable section for more info). The character limit is 1.024 characters for the body section, with only letters, numbers, and emojis allowed. It shouldn’t have newlines, tabs, or more than four consecutive spaces.
Footer (optional)
A footer can be a closing sentence, or default info - such as an address, social media ID, email, etc. - about your company that you want to include in your message. For the footer section, the character limit is 60 characters.
Button (optional)
When creating a message template, you can add up to 10 buttons to encourage users to take specific actions. There are two types of buttons available: Custom and Call-to-Actions (CTA).
A Call-to-Action (CTA) button allows you to include a website link and/or a phone number. With the Visit Website option, you can choose between a static or dynamic URL. You can include up to 2 website buttons and 1 call button, with a maximum of 3 CTA buttons in total.
A Custom button (also known as a Quick Reply) allows your audience to respond instantly by tapping on predefined reply options. This is useful for gathering feedback, confirmations, or routing replies. When using this button type, you must define the payload behind each option so the system can capture and respond to the selected input correctly
If you include more than three buttons in your template, WhatsApp will display them in a button list format. The order in which the buttons are shown depends on the last button type the user interacted with (CTA or Quick Reply), while the order within each section follows your original setup.
Variable
Using variables in your message template is a way to personalize your message to your audience and to reuse your template message for different occasions. A variable is written in two enclosing curly brackets with a number inside a bracket, e.g.: {{1}}. It represents changing content and can be implemented in the text header and body content, as well as when you include a dynamic URL button on your message template.
Here is a sample of using variables in a message:
Your Order Has Been Shipped On {{1}}!
Hi, {{1}}! Your order with ID {{2}} is already on its way. Click below to track your order, or contact us if you have questions or problems.
You can use variables for cases such as when you want to mention your customers’ names, information on price, promoted items, promotion dates, location, etc. The contents for the variables should be provided in your contact data when you use the audience or contact as a recipient or the variables should be provided in the CSV format when creating a new broadcast using a certain message template.
Sample Variable
For all variables you created throughout your template message content, you have to add sample contents to help Facebook better understand the use case during the review process.
- After you fill the message template form, click Add Sample.
- A modal will appear. Fill in all the variable fields. You can also provide a sample for the media header (image, document, or video). After adding all samples, click .
Message Template Best Practices
-
Template messages with the floating parameters will not be approved by WhatsApp, please surround the parameter with context/information so it is clear what variable will be filled in the parameter:
“Welcome to Sejahtera Store
{{1}}”In this example, there is no clear information on what variable will be inserted in parameter
{{1}}The CORRECT way to create the variable: I. Your order number:
{{2}}” II. Here is your order total{{3}}” -
Template with spelling mistakes will not be accepted, example:
Instead of using two curly brackets, you mistakenly type the variable in one curly bracket
Example:
Correct:
{{2}}, Wrong:{2}Please type the parameter based on sequenced numbers
Example:
{{1}},{{2}},{{3}} -
Template message contains potentially abusive/threatening content is not allowed:
a. Threaten customers with a course of legal action will be rejected
b. Threaten the customer if they don’t pay their loan will also be rejected
-
Additional best practice guidelines are outlined here.
Message Template Content Structure (Authentication)
- Fixed Text (Required)
The message must contain a code placeholder in the body text.
Example:
<VERIFICATION_CODE> is your verification code.
-
Code Delivery Options, choose one method for delivering the code: a. Zero Tap b. One-Tap Autofill Button c. Copy Code Button
-
Optional Additions, you may include the following: a. Security disclaimer: For your security, do not share this code. b. Expiration warning: This code expires in
<NUM_MINUTES>minutes. c. Message validity period: Defaults to 10 minutes (after which the message will not be delivered if undelivered). -
App Setup Validation (Required for Zero Tap and One-Tap Autofill) :
To use Zero Tap or One-Tap Autofill, you must register your app with WhatsApp:
- You can register up to 5 apps.
- You must fill out all required fields to publish your message template. Required fields:
- Package name
- App signature hash (must be exactly 11 characters long) For more details, visit the official documentation: Authentication Templates – Meta for Developers
Best Practices
- Confirm the user's WhatsApp phone number before sending the one-time password or code to that number.
- Make it clear to your user that the password or code will be delivered to their WhatsApp phone number, especially if you offer multiple ways for the user to receive password or code delivery.
- When the user pastes the password or code into your app, or your app receives it as part of the one-tap autofill button flow, make it clear to the user that your app has captured it.
See also Best Practices for Authenticating Users via WhatsApp
Zero-Tap
Zero-tap authentication templates allow your users to receive one-time passwords or codes via WhatsApp without having to leave your app.
When a user in your app requests a password or code and you deliver it using a zero-tap authentication template, the WhatsApp client simply broadcasts the included password or code and your app can capture it immediately with a broadcast receiver.
From your user's perspective, they request a password or code in your app and it appears in your app automatically. If your app user happens to check the message in the WhatsApp client, they will only see a message displaying the default fixed text: < code > is your verification code.
Like one-tap autofill button authentication templates, when the WhatsApp client receives the template message containing the user's password or code, we perform a series of eligibility checks. If the message fails this check and we are unable to broadcast the password or code, the message will display either a one-tap autofill button or a copy code button. For this reason, when you create a zero-tap authentication template, you must include a one-tap autofill and copy code button in your post body payload, even if the user may never see one of these buttons.
Limitation
Zero-tap is only supported on Android. If you send a zero-tap authentication template to a WhatsApp user who is using a non-Android device, the WhatsApp client will display a copy code button instead. URLs, media, and emojis are not supported.
Best Practices
- Do not make WhatsApp your default password/code delivery method.
- Make it clear to your app users that the password or code will be automatically delivered to your app when they select WhatsApp for delivery.
- Link to our About security codes that automatically fill on WhatsApp help center articles if your users are worried about auto-delivery of the password or code.
- After the password/code is used in your app, make it clear to your app user that it was received successfully.
One-Tap Autofill
One-tap autofill authentication templates allow you to send a one-time password or code along with a one-tap autofill button to your users.
When a WhatsApp user taps the autofill button, the WhatsApp client triggers an activity which opens your app and delivers it the password or code.
Limitations
One-tap autofill buttons are only supported on Android. If you send an authentication template to a WhatsApp user who is using a non-Android device, the WhatsApp client will display a copy code button instead. URLs, media, and emojis are not supported.
Copy Code
Copy code authentication templates allow you to send a one-time password or code along with a copy code button to your users.
When a WhatsApp user taps the copy code button, the WhatsApp client copies the password or code to the device's clipboard. The user can then switch to your app and paste the password or code into your app.
Limitations
URLs, media, and emojis are not supported.