Create your bot
Basics - Essentials to build a bot
Variables in Landbot - Getting Started
Landbot system Variables
Builder's keyboard shortcuts and mechanics! ๐
Builder Interface
Supported Browsers
Guidelines ๐ 5 best practices for chatbot design in Landbot ๐ค
How to "debug" (troubleshoot) your bot's flow to spot possible errors (for non coders)
Build a bot
Blocks and flow operations
AB Test block (randomize flow)
Buttons block
Buttons block
Reply Buttons block (WhatsApp)
Default Output Explained
How to open a new URL in another tab (window)
How to set up Multiple Choice questions
Code Block (Javascript)
Conditions block
Conditions block
Conditions block II (with Dates, Usage and Agents variables)
How to ask a question based on a variable not being set (empty URL params)
Flow operations
Global Keywords ๐
Keyword Jump
Keyword Options ๐ Assign keywords to buttons (WhatsApp and Facebook)
Lead Scoring block
Persistent Menu
Jump To block
Formulas block
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
Goals block
Goodbye block
Media Block
Multi-Question block (Create a Form)
Note block
Question blocks
Question: Address block
Question: Autocomplete block
Question: Date block
Question: Email block
Question: File block
Question: Name block
Question: Number block
Question: Phone block
Question: Picture Choice block
Question: Rating block
Question: Scale block
Question: Text block
Question: URL block
Question: Yes/No block
Send a Message block
Send an Email block
Set Variable block
Starting Point block and First Message
Business Hours block
List Buttons Block (WhatsApp)
Collect Intent block
Bricks
Bot 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
Landbot in Wix
Chats - Livechat and Human Takeover
Design (bots for Web)
Share & Embed
Account Settings and Billing
Billing
Teammates - Add extra agents (seats) to your Account
Subscription Section
Payment FAQ ๐ณ
Fair Use Policy
Account Settings
Account Settings
Account Homepage
Dashboard
Roles & Permissions for Teammates
Agent Status and Log out
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
Notifications section
Integrations with Landbot
ActiveCampaign
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
Update Multiple Records in Airtable Using a Loop
Calendly
Carrd
DeepL
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
External API REST
Dynamic Data (Arrays)
Webhook Block Dashboard
Webhook block (External API REST)
How to TEST your Http Request (Webhook block)
How to POST, GET (and more) with Landbot
Facebook Pixel
Google Analytics
Google Adwords
Google Maps
Google Maps API Key for Address block
Extract Data With Google Maps Geocoding API
Calculate Distances With Google Maps API
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
Google Tag Manager
HubSpot
IFTTT
Integromat
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.com (formerly Integromat) trigger
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
Integrately
Intercom
Vonage
Mailchimp
OCR
OpenAI
Create a JSON format response from OpenAI in WhatsApp
FAQs block
How to build a FAQ chatbot with GPT-3
GPT-4 in Landbot
Fine-Tune GPT3 with Postman
OpenAI
Prompt Engineering for GPT-3
Build a Customer Service Bot with ChatGPT and Extract Information
Pabbly
Paragon
PDF Monkey
Pipedream
Salesforce
Segment
Sendgrid
Slack
Stripe
Squarespace
Sharetribe
Shopify
Store Locator Widgets
How to display the near location of your store in WhatsApp (with Store Locator Widgets)
How to display the near location of your store for Web bots (with Store Locator Widgets)
Webflow
Wordpress
Xano
Zendesk
Zapier
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
Trigger Automation block
WhatsApp Channel
Getting started with the WhatsApp Integration
WhatsApp Testing
Facebook Business Verification - Best Practices ๐ฌ๐ง
Adding a WhatsApp number to your account
WhatsApp Channel Settings
Growth Tools for WhatsApp
Opt-in, Templates and Campaigns
Parent Bot/Linked Bot - Add a main bot to your WhatsApp number
How to get Opt-ins (Subscribers) for your WhatsApp ๐
WhatsApp Campaigns ๐
WhatsApp's Message Templates
Send WhatsApp Messages with Landbot API
Audience block
Recognise the users input when sending a Message Template with buttons
Audiences
Create Opt-ins (Subscribers) using Landbot API
Opt-In block for WhatsApp ๐
Opt-in Check Block
WhatsApp Bot Creation - Best Practices and compatibility guide
Build a WhatsApp Bot - Best Practices and User guide
Build a WhatsApp Bot - Best Practices for Developers
WhatsApp bots - Feature Compatibility Guide
Types of Content and Media you can use in WhatsApp ๐ผ
WhatsApp - How to direct a user through a different bot flow on their second visit
WhatsApp - Get user out of error message loop
Javascript in WhatsApp
How to calculate the number of days between two selected dates (WhatsApp)
Creating a Loop in WhatsApp
AI in WhatsApp
Send Automated Message Templates based on Dates
Enhancing WhatsApp Bots with Delayed Responses Using External APIs
Different ways to format numbers with JS (WhatsApp)
Notify Teammates of Chat via WhatsApp
Creating a Simple Cart in WhatsApp
1. WhatsApp Article Directory
2. WhatsApp Integration FAQ's
Customize and embed your WhatsApp Widget
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)
How to create an API chat bot and set up the Hook Url
Building a Slack APP Bot with Landbot APIChat and Node JS
Build a Telegram Bot with Landbot APIChat and Node JS
Duplicating bots
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
CSS and Design Customizations
Dynamic Customizations
How to change Avatar dynamically (Landbot v3)
Dynamically Change a Bot's Background
Dynamically Change Any Style
Embed Customizations
How to "send" a user to a specific point in the flow with Javascript and with the API
Modifying Embed Size
Load script and display bot on click button
How to launch a Landbot by clicking a button
Open LiveChat bot as soon as page loads (3 ways)
Change Landbot custom CSS dynamically from parent page onload
CSS Customization Examples
CSS Customization Examples: "Back to School" Theme
CSS Customization Examples: Call To Action: WhatsApp
CSS Customization Example: "Lead Gen"
CSS Customization Examples: "Translucid"
CSS Customization Examples: "Minimalist" Theme
CSS Customization Examples: Carrd Embed Beginner
Make Persistent Menu Appear During the Flow
CSS Customization Examples: Video Bubble
CSS Customization Examples: CV Template
Design Customizations
How to use Google Fonts in Landbot
CSS for Typewriter Effect
Proactive Message Customizations with Javascript and CSS
Landbot v3 - Web CSS - RTL
Hide time stamp (under avatar)
How to remove Landbot branding
HTML Template for Emails
Widget/Bubble Customizations with Javascript and CSS
Detect if a visitor is on Mobile/Tablet or Desktop
Customized display in the bot
How to display an HTML Table and a List in Landbot v3 web
Progress Bar Workaround
Add a Chart (with Chart JS library) in your Landbot
How to embed a .gif file inside a message
Different ways to embed Videos in Landbot
Pop up modal to embed third party elements
Display video and hide button to continue until video has ended
Components CSS Library
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
Recommended Image Sizes
Dynamic Data CSS
Form Block CSS
Multi Questions CSS
Get started guide for CSS Design in Landbot
Landbot APIs
APIs
Create an SMS bot with ClickSend and API Chatbot
reply from Slack: How to create an integration to allow agents reply WhatsApp users from Slack (with Node JS)
MessageHooks - Landbot Webhooks
Javascript and SDK
Workarounds and How To's
Building Tips & How to's
How to build an event registration Landbot (to be used in one screen by many attendees) (web only)
How to redirect user to another url in your site with Livechat open to continue conversation
How to let user select a time of booking (with a minimum 45 minutes notice)
Dynamic Data in WhatsApp (Get Index Array selection)
Get the array's index of the user selection and extract information from array
How to redirect visitors to a URL (web only)
How to add a Click-to-Call/Email/WhatsApp button
How to disable a bot
Airtable usecase: Create an event registration bot with limited availability
Get the time between certain messages
How to calculate the number of days between two selected dates
Reservation bot with Airtable
Workarounds & Codes
How to Detect Visitors Browser
Proactive message on mobile
Conditional Welcome (Non-embedded bots)
Conditional Welcome: Direct the Flow of Your Bot Based on External Parameters
Two-Step Email Verification
Different ways to format numbers with JS
Trigger Event if User Abandons Chat
Calculate Distances in WhatsApp
Customized Behavior in Mobile Browsers
Trigger Event if User Abandons Chat Using AWS
Launch Bot On Exit Intent
Display Bot During Business Hours Only (Livechat & Popup)
Delete Customer Data in Flow
Cookie consent banner (full page / full page embed)
Add Captcha Verification (Non-Embedded Bots)
Trigger a Global Keyword with JS (web v3)
Create a Scale out of Buttons - Workaround
How to pass WordPress logged in user data to Landbot
Create Dynamic Shopping Cart with JS and CSS
Set the flow depending on the url path (for embedded landbots)
Generate a URL that has variables from user answers
Resume flow based on external process with Landbot API (Request, Set, Go)
Popup on Exit Intent
Embed Google Maps
Detect if bot was opened
Launching a bot depending on browser language
How to set up questions with a countdown
Creating Masks for User Input (2 examples)
Set a timer to get the time spent during the flow
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
- Opt-in, Templates and Campaigns
- WhatsApp's Message Templates
WhatsApp's Message Templates
Updated
by Jonathan Goodfellow
- 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 Channel > WhatsApp Business/WhatsApp Pro > 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 small 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.ย
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 exact same message template name.
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 was 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 and 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 accountย8472693
. โ - Helloย
Johnathan Smith
, this is an update on your accountย0018472693
. โ

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 30MB.

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) 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

b) 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:


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.
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 menu in the side menu, and the choose whether you want to see the Error Logs ot Sent Templates 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.