Build a bot
Getting started
Basics and builder
Fields in Landbot - Getting Started
Builder's keyboard shortcuts and mechanics! 🏗
Builder Interface
How to "debug" (troubleshoot) your bot's flow to spot possible errors (for non coders)
Starting Point
How to disable a bot
Bricks
Bot's Settings
Bot General Settings
Second Visit Settings
Custom System Messages
Hidden Fields (Get params / UTMs from url and use it as variables)
Landbot native SEO & Tracking tools
Typing Emulation (Message Delay)
Build it for me!
Getting started - build a bot
Messages, Questions and Logic & Technical blocks
Messages
Media Block
Media block
How to display images with a variable URL source
How to embed a .gif file inside a message
Different ways to embed Videos in Landbot
Display video and hide button to continue until video has ended
Send a Message block - Simple Message
Goodbye block
Question blocks
Date Block
How to avoid visitors selecting specific days of the week
Question: Date block
How to calculate the number of days between two selected dates
Email Block
Form Block
Scale Block
Buttons block
How to set up Multiple Choice questions
Multi-Question block
Question: Address block
Question: Autocomplete block
Question: File block
Ask for a name
Question: Number block
Question: Phone block
Question: Picture Choice block
Question: Rating block
Question: Text block
Question: URL block
Question: Yes/No block
Logic & Technical blocks
Code Blocks
Dynamic Data
Dynamic Data (Arrays)
Get the array's index of the user selection and extract information from array
Formulas
How to Perform Basic Calculations
Get started with the Formulas block
Formulas Blocks Dashboard
Formulas - Regex
Formulas - Date
Formulas - String
Formulas - Logical
Formulas - Math
Formulas - Object
Formulas - Comparison
Formulas - Array
Persistent Menu
Trigger Automation
Webhook
Webhook Block Dashboard
Webhook block (External API REST)
How to TEST your Http Request (Webhook block)
Landbot System Variables
Set Variable
Any of the above Output
Global Keywords 🌍
Keyword Jump
Lead Scoring block
Jump To block
AB Test
Conditions block
Conditions block II (with Dates, Usage and Agents variables)
Close Chat block
How to ask a question based on a variable not being set (empty URL params)
Business Hours block
Custom Goals
Note block
Share & Embed
Redirect Users
How to open a new URL in another tab (window)
How to redirect visitors to a URL (web only)
Conditional Welcome (Non-embedded bots)
How to add a Click-to-Call/Email/WhatsApp button
Redirect User Based on Language Input (DeepL)
Generate a URL that has variables from user answers
Popup on Exit Intent
Share
Customized Embed Actions
How to redirect user to another url in your site with Livechat open to continue conversation
How to Detect Visitors Browser
Customize and embed your WhatsApp Widget
Modifying Embed Size
Conditional Welcome: Direct the Flow of Your Bot Based on External Parameters
Detect if bot was opened
Customized Behavior in Mobile Browsers
Load script and display bot on click button
Launch Bot On Exit Intent
Display Bot During Business Hours Only (Livechat & Popup)
Open / Close a Web bot (embedded)
Launching a bot depending on browser language
How to pass WordPress logged in user data to Landbot
Set the flow depending on the url path (for embedded landbots)
How to launch a Landbot by clicking a button
Open LiveChat bot as soon as page loads
Detect if a visitor is on Mobile/Tablet or Desktop
Embed
Embed the bot into your Website
Embed Landbot in an iframe
Landbot in Wix
Landbot in your web with Google Tag Manager
Landbot in Webflow
Embed in Sharetribe
Landbot in Shopify
Embedding Landbot in Carrd
Landbot in Wordpress
Landbot in Squarespace
Customizing the Proactive Message
Design section (web bots)
Verification & Security
Account Settings and Billing
Billing
Account Settings
Account Settings
Account Homepage
Dashboard
Common reasons for not receiving account activation email
Privacy and Security
Landbot's Privacy & Security Policies
Compliance with the GDPR - General Data Protection Regulation
Landbot's Abuse Policy - How to Report an Abusive Use of Landbot
Delete Customer Data in Flow
Teammates
Agent Status and Log out
Roles & Permissions for Teammates
Teammates - Add extra agents (seats) to your Account
Notifications section
Startup Discounts
NGOs and Educational Organizations Discount
Human Takeover & Inbox
Integrations with Landbot
Native Integrations
Airtable
Airtable integration block
Get data filtered from Airtable with a Brick- Shop example
20 different ways to GET and filter data from Airtable
How to add/update different field types in Airtable (POST, PATCH & PUT)
How to Create, Update, Retrieve and Delete records in Airtable (POST, PATCH, GET & DELETE)
Get more than 100 items from Airtable
Insert Multiple Records to Airtable with a Loop
How to Get an Airtable Token
Advanced filters formulas Airtable block
Airtable usecase: Create an event registration bot with limited availability
Update Multiple Records in Airtable Using a Loop
Reservation bot with Airtable
Calendly
Dialogflow
Dialogflow & Landbot course
Dialogflow & Landbot intro: What is NLP, Dialogflow and what can you do with it?
Dialogflow & Landbot lesson 1: Create your first agent and intent in Dialogflow
Dialogflow & Landbot lesson 2: Get the JSON Key
Dialogflow & Landbot lesson 3: Setting up of Dialogflow in Landbot
Dialogflow & Landbot lesson 4: Training phrases and responses for a FAQ
Dialogflow & Landbot lesson 5: Entities and Landbot variables
Dialogflow & Landbot lesson 6: Redirect user depending on Dialogflow response parameters (intent, entities and more)
Learn more about Dialogflow - Courses and communities
Integrations > Dialogflow Block
How to extract parameters from Dialogflow response with Formulas
Dialogflow Integration Dashboard
Dialogflow in Unsupported Languages (& Multilingual)
Dialogflow - How to get JSON Key
Google Sheets
Google Sheets (Insert, Update and Get data)
How to use Google Sheets to create a simple verification system for returning visitors
How to Upload Document & store link
How to give unique Coupon Codes (with Google Spreadsheets)
Google Sheets Integration Dashboard
How to insert a new row with data and formulas in Google Sheets
How to use Google Spreadsheet as a Content Management System for your bot
Hubspot
MailChimp
Salesforce
Segment
SendGrid
Slack
Stripe
Zapier
How to Configure the Landbot and Zapier Integration Using the Zapier Block
Zapier Integration Dashboard
How to insert a row to Google Spreadsheet by Zapier
How to generate a document with PDFMonkey by Zapier
Send WhatsApp Message Templates from Zapier
How to send an email with Gmail by Zapier
Get Opt-ins (Subscribers) from Facebook Leads using Zapier
How to extract data from an external source with Zapier and use it in Landbot
Zapier trigger
How to complete a digital signature flow by Zapier
Make a survey with Landbot and display the results in a Notion table using Zapier
Zendesk
Non-Native Integrations
ActiveCampaign
Google Calendar
Google Fonts
Google Maps
Embed Google Maps
Google Maps API Key for Address block
Extract Data With Google Maps Geocoding API
Calculate Distances With Google Maps API
Google Meet
IFTTT
Integrately
Intercom
Make
Connecting MySQL with Make.com (formerly Integromat)
How to upload a file to Google Drive using Make.com (formerly Integromat)
Send WhatsApp Message Template from Make (ex Integromat)
Make Integration With Trigger Automation Block
How to send an email through Sendinblue by Make.com (formerly Integromat)
Get Opt-ins (Subscribers) from Facebook Leads using Make (ex Integromat)
How to extract data from an external source with Make.com and use it in Landbot
OCR
Pabbly
Paragon
Pipedream
PDF Monkey
Store Locator Widgets
Xano
Zendesk
WhatsApp Channel
Getting started!
WhatsApp Testing
Build a WhatsApp Bot - Best Practices and User guide
Build a WhatsApp Bot - Best Practices for Developers
Types of Content and Media you can use in WhatsApp 🖼
1. WhatsApp Article Directory
2. WhatsApp Integration FAQ's
Adding & Managing your WhatsApp Channel
Facebook Business Verification - Best Practices 🇬🇧
WhatsApp Number Deletion (WA Channel management)
Adding a WhatsApp number to your account
WhatsApp’s Messaging Policy: New Accepted Industry verticals
Meta processes guide: FBM verification, Official Business Account (OBA) requests, Appeals
Additional Number integration: Limitations and Requirements (Number integration)
Existing WhatsApp Number Migration
Key Insights for Migrating to WhatsApp Business API Cloud
How to's, Compatibility & Workarounds
WhatsApp bots - Feature Compatibility Guide
WhatsApp - How to direct a user through a different bot flow on their second visit
WhatsApp - Get user out of error message loop
Getting Subscribers: Opt-in, Contacts
How to get Opt-ins (Contacts) for your WhatsApp 🚀
WhatsApp Quality - Best Practices
Opt-In block for WhatsApp 🚀
Opt-in Check Block
WhatsApp Channel Settings
Parent Bot/Linked Bot - Add a main bot to your WhatsApp number
WhatsApp Channel Panel (Settings)
Growth Tools for WhatsApp
Duplicating bots
Messaging and contacting your users
WhatsApp Campaigns 💌
WhatsApp's Message Templates
Audience block
WhatsApp Marketing Playbook: Best Practices for Leadgen
Audiences
WhatsApp for Devs
How to calculate the number of days between two selected dates (WhatsApp)
Creating a Loop in WhatsApp
Recognise the users input when sending a Message Template with buttons
Trigger Event if User Abandons Chat
Calculate Distances in WhatsApp
Send Automated Message Templates based on Dates
Trigger Event if User Abandons Chat Using AWS
reply from Slack: How to create an integration to allow agents reply WhatsApp users from Slack (with Node JS)
Set Up a Delay Timer in Bot
Notify Teammates of Chat via WhatsApp
Native blocks for WhatsApp
Other Channels - Messenger and APIChat
Facebook Messenger
The Facebook Messenger Ultimate Guide
Types of content you can use in Messenger bots 🖼
How to Preview a Messenger bot
Facebook Ad connected to Messenger Bot
API Chat (for Developers)
AI in Landbot
Non-native AI Features
Create a JSON format response from OpenAI in WhatsApp
Connect OpenAI Assistant with Landbot
AI in WhatsApp
How to build a FAQ chatbot with GPT-3
GPT-4 in Landbot
OpenAI
Prompt Engineering for GPT-3
Build a Customer Service Bot with ChatGPT and Extract Information
Native AI Features
Metrics and Data Management
Metrics Section
How to export the data from your bots
Export data: How to open a CSV file
Bot's Analyze Section
For Developers & Designers
JavaScript and CSS
CSS and Design Customizations
Design Customizations
Advanced (Custom CSS & Custom JS)
Components CSS Library Index
Background Class CSS
Identify Blocks CSS
Buttons Class CSS
Header Class CSS
Media Class CSS
Message Bubble Class CSS
Miscellaneous Classes CSS
CSS Customization Examples: "Back to School" Theme
Get started guide for CSS Design in Landbot
CSS Customization Examples: Call To Action: WhatsApp
CSS Examples: Lead Gen
CSS Customization Examples: "Translucid"
CSS Customization Examples: "Minimalist" Theme
Dynamic Data CSS
Form Block CSS
CSS for Typewriter Effect
CSS Customization Examples: Carrd Embed Beginner
Dynamically Change a Bot's Background
Proactive Message Customizations with Javascript and CSS
Landbot v3 - Web CSS - RTL
Multi Questions CSS
CSS Customization Examples: Video Bubble
Dynamically Change Any Style
CSS Customization Examples: CV Template
Change Landbot custom CSS dynamically from parent page onload
Widget/Bubble Customizations with Javascript and CSS
JavaScript
How to change Avatar dynamically (Landbot v3)
Javascript in WhatsApp
Javascript in Landbot v3
Different ways to format numbers with JS
How to display an HTML Table and a List in Landbot v3 web
Trigger a Global Keyword with JS (web v3)
Create Dynamic Shopping Cart with JS and CSS
Add a Chart (with Chart JS library) in your Landbot
Different ways to format numbers with JS (WhatsApp)
Pop up modal to embed third party elements
Landbot API
Send WhatsApp Messages with Landbot API
How to "send" a user to a specific point in the flow with Javascript and with the API
APIs
Create Contacts (Opt-ins) using Landbot API
MessageHooks - Landbot Webhooks
Resume flow based on external process with Landbot API (Request, Set, Go)
Tracking
Google Analytics - Track Events (Not embedded)
Google Analytics - Track Events (Embedded)
Meta Pixel - Track Events (only Embedded)
How Track Google Analytics Events in Landbot with Google Tag Manager (GTM)
Google Adwords - How to track Google Adwords in Landbot
Set a timer to get the time spent during the flow
Workarounds and How To's
Workflows
How to build an event registration Landbot (to be used in one screen by many attendees) (web only)
How to let user select a time of booking (with a minimum 45 minutes notice)
Send Files Hosted in Landbot to Your Google Drive with Make
Two-Step Email Verification
Skip the Welcome Message
Fixing Web Bot Loading Issues for iOS Devices in Meta Campaigns with Disclaimers
Progress Bar Workaround
How to set up questions with a countdown
Creating a Simple Cart in WhatsApp
More Topics
Table of Contents
- What is a Message template?
- When to use Message templates for WhatsApp messaging?
- Guidelines to Request a MessageTemplate
- Sample Message Templates
- How to request a template
- Template's Approval Status
- Adding a translation
- Preview
- WhatsApp Template Message Tiers and Limits
- Logs
- Template Sent
- Error Log
- FAQ
- After sending a message template, I received both a "failed" and a "delivered" notification. Does this mean the message failed to display?
- Do message templates support emojis?
- Is there a limit to the number of parameters in a message template?
- Is media supported in message templates?
- Is there a maximum number of message templates allowed per WhatsApp business account?
- What are the reasons message templates might be rejected?
- What should I know about creating a language pack translation?
- What's the cache time of a language pack?
- Why is a link in a message template sometimes not rendered as clickable on the recipient phone?
- Why is modifying or deleting message templates not supported?
- All Categories
- WhatsApp Channel
- Messaging and contacting your users
- WhatsApp's Message Templates
WhatsApp's Message Templates
Updated by Hajar
- What is a Message template?
- When to use Message templates for WhatsApp messaging?
- Guidelines to Request a MessageTemplate
- Sample Message Templates
- How to request a template
- Template's Approval Status
- Adding a translation
- Preview
- WhatsApp Template Message Tiers and Limits
- Logs
- Template Sent
- Error Log
- FAQ
- After sending a message template, I received both a "failed" and a "delivered" notification. Does this mean the message failed to display?
- Do message templates support emojis?
- Is there a limit to the number of parameters in a message template?
- Is media supported in message templates?
- Is there a maximum number of message templates allowed per WhatsApp business account?
- What are the reasons message templates might be rejected?
- What should I know about creating a language pack translation?
- What's the cache time of a language pack?
- Why is a link in a message template sometimes not rendered as clickable on the recipient phone?
- Why is modifying or deleting message templates not supported?
Prefer watching than reading? No problem, we've got you covered 👇
What is a Message template?
A Message Template is required for proactive/outbound messaging in WhatsApp.
WhatsApp must approve your Message Template before you can start sending them to users.
They are necessary because of the limitations defined by WhatsApp, according to how it accepts the brands to use their API channel.
When to use Message templates for WhatsApp messaging?
If a customer initiates messaging with you, Facebook will not charge you for any WhatsApp messages (including Templated Messages) that you send to that customer for up to 24 hours following the last message that the customer sends to you ("Customer Care Window"). Any message you send to your customers beyond the Customer Care Window must be a Template Message. WhatsApp does not charge for incoming messages from the customer side or outgoing messages from the company side as long as they are sent within the 24-hour time window.
Important: starting in February 1st, 2022, WhatsApp fees will not be related to template messages anymore and will be charged according to the new Conversation-Based model. Further details here.
Guidelines to Request a MessageTemplate
Since Message templates can be either Approved ✅ or Rejected ❌ by WhatsApp, it is important to keep some things in mind.
The first is that all Message Templates are approved case-by-case, so a template that was approved for one company may be rejected for yours.
It might also take a few attempts to get your Message Template approved.
WhatsApp's Guidelines
In order to have a higher chance ✅ to get your Message templates approved, make sure that:
- your use cases for messaging comply with WhatsApp's Business Policy and WhatsApp Commerce Policy.
- make sure your Message Template fit the use case you have submitted.
- make sure you select the template category that best suits your use case.
WhatsApp will very likely reject ❌ your template if :
- It contains brands asking for reviews or surveys
- It contains content that violates WhatsApp’s Commerce Policy
- It contains potentially abusive or threatening content
- The template is formatted incorrectly
Keep in mind that message templates are intended to provide a better user experience rather than marketing campaigns.
Sample Message Templates
By default, Meta provides 6 sample Message Templates that will appear in your account. These are Templates created by Meta as examples of the kind of Templates allowed on the platform, and you are free to use them in your Testing!
Due to Meta Policies, it is not possible to delete these Templates at this time.
How to request a template
Message Templates Section
To manage or request Message Templates, you must access the Message Templates section, available in the WhatsApp Business or WhatsApp Pro channels.
To access it, click on WhatsApp > Your WhatsApp channel > Message Templates:
Go to the Message template section and click the button in the top right corner which says "Request Message Templates"
This will open a window that will ask for all the template details.
Below you'll find an explanation of each field you need to fill out.
Template name
When creating a message template, it is mandatory to give it a name.
It is advised to use a name that reflects the template’s content.
This name must have no more than 512 characters and may only contain lowercase letters, numbers, and underscores.
No other characters or white space are allowed.
You can't use the same name for more than one template.
Example
order_confirmation123 ✅
Order_Confirmation123 ❌
order confirmation 123 ❌
Category
When submitting a message template, it is required to choose a category.
This makes it easier for WhatsApp to review and approve a template by providing context for how the message template will be used.
The category values are described below:
- Marketing conversations – Send promotional offers, product announcements, and more to increase awareness and engagement;
- Utility conversations - Send account updates, order updates, alerts, and more to share important information.
- Authentication conversations – Send codes that allow your customers to securely access their accounts (one-time passwords) -> Not available at the moment
Language
When creating a new message template, you must choose a language code. The language codes are described here.
A message template can be created in as many languages as desired. However, when translating the template into multiple languages, please be sure to use the same message template name.
You can also choose to start a Message Template from scratch or edit a pre-existing Template:
Parameters
When we want to use variables collected from the users, we can use this placeholder to submit them in Templates - {{number_parameter}}
Example: {{1}}, {{2}}...
When using parameters in Message Templates, you'll be able to add a sample text value for each parameter before submitting it:
Once it is approved, when sending the template to your users, you can add the variables to the template by typing @name_of_variable to add dynamic values:
Please bear in mind the following limitations:
Limitations | Example |
The Header field can only have 1 parameter. | {{1}} from Landbot. ✅ {{1}} from Landbot. {{2}} ❌ |
It is not possible to use parameters in the Footer | Alexander Gao from Customer success. ✅ {{1}} from {{2}}. ❌ |
For the Buttons Call-to-action, it is not possible to send variables in the phone number option. The parameters can only be added to the Website Call-to-action. | |
The numbers (parameters) have to be added in ascendent order, starting from 1. | Hi {{1}}, I'm {{2}}. Welcome to {{3}}. How are you? Visit our website: {{4}}. ✅ Hi {{0}}, I'm {{1}}. Welcome to {{2}}. How are you? Visit our website: {{3}}. ❌ Hi {{1}}, I'm {{3}}. Welcome to {{4}}. How are you? Visit our website: {{5}}. ❌ It is possible to repeat the same variable in different sections of the template, as long as you follow the ascendent order in each section. |
Header
The header is optional and you can choose between these 4 options when adding the header to your Message template:
- Title (text)
- Image
- Documents
- Video
- No header
Title (text)
The text header has a limit of 60 characters, including parameters.
For example, this header contains 44 characters not including parameters:
Hello {{1}}, this is an update for your account.
Which means that both parameters combined can only be 16 characters long when sending this template.
If you try to add more characters, the message will fail.
For example:
- Hello
Johnathan
, this is an update on your account8472693
. ✅ - Hello
Johnathan Smith
, this is an update on your account0018472693
. ❌
Image and Documents
You can create a message template with an image/document header.
The image/document must have a size of less than 30MB and must be publicly accessible.
Video
Now it's possible to add Videos in your header!
Only MP4 files are supported and the size must not exceed the 16MB.
Body
The body is mandatory.
The body of a message template should only contain text, parameters, emojis, and formatting (bold, italic, strikethrough, and monospace).
There is no limit to the number of parameters allowed in the body but when sending the message template, the total number of characters can't exceed 1024.
If using parameters in the body, they may contain many characters as long as the total body length does not exceed the aforementioned 1024 characters.
Footer
The footer is optional.
When creating a message template, you may include a footer at the end of the message.
A footer may only contain text. No parameters, emojis, or formatting are allowed.
A footer has a limit of 60 characters.
Buttons
The Buttons are optional.
There are two different kinds of buttons that may be added to a message template:
- call to action
- quick reply.
If you wish to send a call to action, you may not send a quick reply in the same template and vice versa.
a) Quick reply (buttons)
A quick reply button can allow the customer to easily respond to a message template with up to 3 predefined answers.
For quick reply buttons, all that is required is the button text (max. 25 characters).
This quick reply can then be used to trigger one or another flow in the bot.
Example:
b) Call-to-action
- A Call-to-action button can allow the customer to call a specific phone number or go to a specific URL.
- If using a phone number call-to-action, the button text (max. 25 characters), and phone number are required fields for template creation.
- If using a URL call to action, the button text (max. 25 characters) and URL are required fields for template creation.
However, when using a URL, it is possible to add a parameter at the end to customize the URL. To add a parameter to the URL, simply add {{1}} to the end. - Once set, the call-to-actions can not be changed.
- Additionally, a single message template can have a maximum of 1 phone and 1 URL call-to-action button each.
Here’s an example of each type:
URL - call-to-action:
- Button text: Click here for more
- URL: https://www.yourwebsite.com
URL - with parameter call to action:
- Button text: Click here for more
- URL: https://www.yourwebsite.com/{{1}}
Phone - call to action
- Button text: The text that will appear in CTA (max. 25 characters)
- Phone Number: Number introduced with country code
Meta has also introduced the option to include two URL buttons instead of just one, so this option was added as well to 360 Dialog.
Template's Approval Status
Once you have requested your template it will show up in the list along with its current status.
You'll only be able to contact users with the Templates that have already been Approved.
STATUSES:
- Active: Formerly known as Approved
- In Review: Previously known as Requested
- Rejected: Same as before, indicating rejected templates
- Paused: Indicates a template paused by Meta, akin to Rejected status
- Disabled: Indicates a disabled template, similar to Rejected status
- Appealed: Designates a template under appeal after rejection and is in review, sharing the same status as In Review
- Pending Deletion: Reserved for templates being deleted by Meta
Adding a translation
Preview
From the preview section, you can check how the template will look before you send it
WhatsApp Template Message Tiers and Limits
Messaging limits determine the maximum number of business-initiated conversations you can initiate using each of your phone numbers in a rolling 24-hour period. A business-initiated conversation begins when the first template message is delivered to a customer and ends 24 hours later.
Unverified businesses are limited to 250 business-initiated conversations in a rolling 24-hour period.
Verified businesses with a business phone number with an approved display name can initiate conversations with the following number of unique customers in a rolling 24-hour period:
- 1K unique customer
- 10K unique customers
- 100K unique customers
- An unlimited number of unique customers
This amount starts at 1K unique customers and scales automatically based on phone number status, phone number quality rating, and how often the business initiates conversations with unique customers.
Logs
Here you'll find all the information related to Message Templates that you have sent, as well as the Error Logs for Templates that did not send correctly for some reason.
You can access this area under the Logs option in the side menu, and then choose whether you want to see the Error Logs or Template Sent details in the dropdown menu at the top of the page.
Template Sent
Here you can:
You can filter by Message Template:
You can filter by dates:
Also, you can export a CSV file with the Message Template Log to the email associated with your Landbot account:
Error Log
Here you will find all the error logs of your Message Templates with the User Name, User Phone Number and the Error Message, explaining why the message failed.
FAQ
After sending a message template, I received both a "failed" and a "delivered" notification. Does this mean the message failed to display?
Yes, when sending a message template, if it failed to display on the receiving end, you will receive a "failed" status callback with "structure unavailable" in the error object indicating that the message could not be displayed. Depending on the recipient, you may also receive a "delivered" status callback which simply indicates that the message was delivered to the recipient after which the recipient failed to display the message.
Do message templates support emojis?
Yes, message templates support all WhatsApp messaging characters and formatting including emojis, bolding, italics, etc. For emojis, you will need to use the emoji character (copy/paste) rather than its unicode equivalent.
Is there a limit to the number of parameters in a message template?
There is no limit to the number of parameters allowed in a message template.
Is media supported in message templates?
Using media in message templates is not currently supported, but is in development.
Is there a maximum number of message templates allowed per WhatsApp business account?
The maximum is 250 message templates per WhatsApp business account.
What are the reasons message templates might be rejected?
Reasons a message template might be rejected include:
- Contains potentially abusive content such as abusive language or spam-like content
- Does not match the selected tag type
- Formatted incorrectly
What should I know about creating a language pack translation?
If you create a translation in a new language you need to translate all the elements you use into that language. Otherwise, you might get "structure unavailable" errors since recipient's phone can't find an element it expects for the language it's in. These structure unavailable errors are seen when sending template messages using fallback policy.
If creating language translations is not an option for you at this moment, You can use deterministic policy to avoid these errors.
What's the cache time of a language pack?
It is currently 7 days. If a cache has not been updated for longer than 7 days, it will pull the latest language pack from the server regardless of whether the element already exists in the pack or not.
Why is a link in a message template sometimes not rendered as clickable on the recipient phone?
A link will only be rendered as clickable if the recipient has already saved your business number as contact or you have an Official Business Account.
Why is modifying or deleting message templates not supported?
The device will first load from cache, and if an element exists, it will unpack the message using that message template. So instead of modifying message templates, it's safest to simply add a new one with a different element name. That will guarantee that the language pack gets re-downloaded when it can't find that element. Storage costs of message templates are negligible so there's no absolute need to delete message templates.
See Sending Message Templates — Language for more information.