Product updates
30 Mar 2023: Integrate with Huggingface.co
28 Mar 2023: Important changes to template categories
23 Mar 2023: Answer conversations on mobile
20 Mar 2023: Act on the user's last interaction
17 Mar 2023: Scan the list for unassigned chats
10 Mar 2023: Template with buttons in stacks
9 March 2023: More data in BigQuery!
16 Feb 2023: More possibilities for scheduling stacks
13 Feb 2023: Automatically mark messages as DONE
3 Feb 2023: Search with quick picks or date&time filters
17 Jan 2023: Add hyperlinks to Playbooks
11 Jan 2023: Export specific responses from Stacks
21 Nov 2022: A new look user interface!
18 Nov 2022: Build with feedback
13 Oct 2022: Reminders are in Beta!
11 Oct 2022: Building blocks
10 Oct 2022: New Turn.io Developer Docs
19 Sept 2022: More fields available in the Data Export API
15 Sept 2022: Shorter messages are better
13 Sept: Changes to the contact details API endpoint
7 Sept 2022: Stack improvements
1 Sept 2022: Learn to Build with Stacks.
19 Aug 2022: Better human support with Message Collections
18 Aug 2022: Deprecating Goals
17 Aug 2022: Build for your audience
16 Aug: Pick a date range
28 July 2022: Custom voice notes
14 July 2022: Get Stacking! Build more complex services.
4 July 2022: Faster insights
29 Jun 2022: Reminders are live!
8 Jun 2022: Track your conversations
3 May 2022: Reach out with Reminders
21 Apr 2022: Payments made easy!
3 Apr 2022: Follow up at an exact local time
20 Mar 2022: Small changes, big wins!
8 Mar 2022: Security enhancements
16 Feb 2022: Add resources to Playbooks and export Contacts
26 Jan 2022: Try out emojis in buttons, but no more 'templates' in sandboxes
5 Jan 2022: Use buttons in threads
23 Nov 2021: Button messages
2 Nov 2021: Playbooks Launch
20 Sept 2021: The end of Chatbase
9 Sept 2021: Data Export API
9 August 2021: Thread data export
22 June 2021: You know best!
21 June 2021: Sample content for templates
17 June 2021: Important security improvements
8 June 2021: Community Playbooks (Alpha)
18 March 2021: Improved billing transparency
17 March 2021: Share the amazing work you do
8 March 2021: Contextual replies and profile settings that suit you
22 Feb 2021: Button automation
18 Feb 2021: Updates to the fallback channel
17 Feb 2021: Contacts and labels data added to BQ
10 Feb 2021: Temporary limitations while we do a Search infrastructure upgrade
5 Feb 2021: Snappier and easier-to-use modals
3 Feb 2021: Add media to templates
27 Jan 2021: Add media or stickers to custom replies
21 Dec 2020: A last big release to celebrate the year
2 Dec 2020: Delete a template, get more insights and send stickers via the API
17 Nov 2020: Delete a user message
23 October 2020: Insights
19 October 2020: Hidden numbers by default
8 September 2020: Contact Profile
11 August 2020: Learn in Turn
3 August 2020: Add a list to your Exact match automations
30 July 2020: Manage your message template spend
15 July 2020: Data storage and rejection reasons
10 July 2020: WhatsApp profile and Login
FAQs
General FAQs
What is an MAU (Monthly Active User)?
Can I use Turn.io in my country?
What is Turn.io?
Can I get a free trial?
What is Google-backed?
Product FAQs
Can I format content with bold, italics etc?
How to change our chat service display name?
My sandbox isn't working? How do I connect?
Can I attach more than one image, audio clip, video or document to a message?
My emoji trigger isn't working?
How do I extract data out of Turn.io?
Can I edit and/or delete a custom profile field?
What are 'goals'?
What are 'collections'?
How to work as a team
What media can I use in messages?
Why is my video not sending?
How to setup subscription billing
What is the difference between a member and an admin?
How do I add other contact fields?
I found a bug..
WhatsApp FAQs
Can I use WhatsApp Groups on the API?
Can you give me examples of approved message templates?
What languages are allowed for message templates?
Why has my template(s) been rejected?
How are conversations charged?
Example of user-initiated vs business-initiated conversations
Can I send a free-form message?
Are all conversations paid?
Developer FAQs
Get started!
Get a WhatsApp line: Step-by-step instructions, with a video
Your WABA application checklist
Display name guidelines
What is Business Verification?
Your Business Verification checklist
Help! I got an error whilst doing embedded sign-up?
Help! I'm struggling to get my business verified?
Help! I uploaded the wrong document for Business Verification?
Help! The "Start Verification" button is greyed-out?
Help! Why hasn't my display name been approved?
Help! Our display name got rejected?
Help! What happens if we're not verified within 30 days?
Help! I can see my number in Turn but it's not working?
Help! Can I have a WhatsApp number for a different country than my business registration?
Help! We are a government entity, how do we do Facebook business verification?
Help! What is a Facebook Business Manager Account?
Help! What number can I use on WhatsApp?
Help! What is a BSP?
What number do I need for my service?
Help! What is two-factor authentication (2FA)?
How to use Turn.io
Content
How to load content
How users engage with content
Structure and plan your content
Create your first menu
How to send custom replies
How to send custom voice notes?
How to add a button message
How to upload stickers
How to delete a message that a user sent?
Threads
The ABC of threads
How to create a thread
Different thread card types
How to add skip logic to your thread
How to use personalisation in threads
Start a thread when a user reply with a button.
Export your thread data
Create a sequential learning experience with Threads
Build and Stacks
What is Build? What are Stacks?
What can I do with the Alpha version of Build?
Where do I start with Build and Stacks?
Where do I find Stacks documentation?
Build for your audience
What to expect of Build while it is in Alpha?
Automation
How to set up basic automations
The available trigger types
The available action types
How to set up advanced automations
How to set up multiple language automation
How to set up a follow-up timer
Automation tips & tricks
Triggers explained: Message received STARTS WITH...
Triggers explained: Message received EXACTLY matches...
Triggers explained: Message received does NOT exactly match...
Triggers explained: Message received is a BUTTON PRESSED...
Triggers explained: Message received is from a specific COUNTRY...
Triggers explained: Message received is AUTOMATICALLY labelled...
Triggers explained: Message received from a specific CONTACT PROFILE......
How to send stickers in automation
How to set up a sequential content delivery experience using Automation and Custom Profile Fields
How to send 'Welcome back' message to returning users
Use a follow up timer based on local time
Reminders
How to send or schedule a reminder?
How many people can I send Reminders to?
Contact search examples (alpha feature)
Understanding Reminders' statuses and stats
Message templates
How to re-connect with users using message templates
Create and submit your template(s) for approval
Send message templates to users
How to add buttons to a template
How to add media to a template
Delete or copy a template
Contacts
Search and Label
Collections, Assign and Roles
How to create and use collections
How to assign or share a conversation
Team roles
Search for sent or received or all messages
How to add team members?
How to log in to your account
Overview of the Turn.io user interface
What is chat for impact?
The WhatsApp Business Platform
Three key rules of engagement
A closer look at the WhatsApp Business API
Understanding conversation-based pricing
Message types: Session vs. Template messages
Message template rules
Message template troubleshooting
Reasons why your template(s) gets rejected
You need opt-in to initiate messages
Human escalation path required
WhatsApp Terms & Privacy Policy updates
WhatsApp's quality rating and messaging limits
Examples of how to upgrade to the next tier
Important updates to template categories
Connect with your users on chat
Great ways of marketing your chat service
Use a ‘wa.me’ link and QR code to market your service
Get user consent in a WhatsApp conversation
Use automation to collect opt-in
Use the opt-in webform to collect user consent
Manage your online presence by updating your WhatsApp profile
Design an impactful solution
Create good chat service content
Varying interpretations of emoji
Changing behaviour is difficult. Here's some help!
Guiding and tracking
Set up a data connection to BigQuery
Understand your BigQuery data and queries
Conversation billing
How to top up your 'available amount' for conversations?
Example queries for your data
Insights
For developers
Turn.io API documentation
Integrations
Where do I find my credentials for the Message Template API?
How do I create message templates via the API?
Upload and send a sticker via the API
Replacing the Contact Export API
New to webhooks?
Custom Integrations
How to set up a RapidPro integration
Notify your team over email when someone needs urgent help
Getting data from the Contacts API endpoint
Spanish Articles
Una introducción a la WhatsApp Business API
Echar un vistazo más de cerca a la WhatsApp Business API
Tres reglas clave de participación
Tipos de mensajes: Mensajes de sesión versus plantilla
Necesita de adhesión para iniciar mensajes
Se requiere un proceso humano de escalamiento
Calificación de calidad y límites de mensajería de WhatsApp
Actualizaciones de los Términos de Servicio y la Política de Privacidad de WhatsApp
- All Resources
- The WhatsApp Business Platform
- Message template rules
Message template rules
Updated
by Neelke Stadler
Message templates are an important part of your WhatsApp tool kit, as you may only initiate chats by sending notifications via these structured templates.
If you’ve been using the WhatApp personal or business app, you might expect the API to work precisely the same. But there are significant differences – one being that there are different message types that you can send to users. Session messages are only valid for the 24 hours since a user last messaged you, if the session window expires you will need to use message templates.
Let's look at the rules for message templates.
General rules
When planning and creating your message templates, it’s important to keep the following rules in mind:
- While there’s no limit to the number of templates you can send at once, you can only send them to users who have opted-in to your WhatsApp service.
- The turnaround time for template approval from WhatsApp is roughly 2 to 3 days. It’s therefore essential to plan them in advance.
- Message templates cannot be changed or updated once they’ve been approved by WhatsApp. So, take your time to craft them. Also, make sure they add value to your users.
- Proofread your message templates carefully, as typos could mean that your users view the messages as spam.
- Highly personalised templates are more likely to be approved by WhatsApp.
- It’s possible to send the same message templates in multiple languages. Note, however, that only certain languages are currently supported and that you have to submit your own translations, and that the language you select must match the content of your message template (see example below).
- Your templates will have to fall into one of the following predefined WhatsApp categories: account update, alert update, appointment update, issue resolution, payment update, personal finance update, reservation update, shipping update, transportation update or ticket update. View examples of accepted use cases per category here.
- Make sure the links you use in your content point to a website that you own.
- Double-check that your message templates don’t contain content that violates WhatsApp’s Commerce Policy.
- Remember that you should never request “sensitive identifiers” such as ID numbers from your users and that threatening or abusive messages are simply not allowed.
Formatting rules
WhatsApp is also very specific about the structure and formatting of message templates:
- Your message templates should be text-based but can include numbers, special characters and emojis.
- Templates are restricted to 1,024 characters.
- You’ll have to add your variable parameters (for example, the bit of code that will pull in the user’s first name) carefully. Check that they have two curly brackets on the left side of the number and two on the right side (see example below), or else they won’t work.
- Steer clear of shortened links such as bit.ly, tinyurl or goo.gl.
Message template examples
The example below will give you a better understanding of what message templates typically look like:

This message template has a name (“issue_resolution_personal”) that clearly states its purpose. It’s also been typed using lowercase alphanumeric characters and underscores. Your message templates will have to be in the same format to be swiftly approved by WhatsApp.
You’ll also notice the “variable parameters” or “placeholder values”:
- {{1}} in the above example pulls in the person’s name.
- {{2}} adds the agent’s name.
- {{3}} adds the topic that the person was asking you about.
The message template has also been categorised under the WhatsApp’s “Issue Resolution” category and has two labels attached to it:
- “Approved” means that WhatsApp has approved this template.
- While you can send message templates in various languages, the “English (UK)” label confirms that this template should be used for your English-speaking users.
Now that you have a good understanding of what message templates are, have a look at how to create and submit templates and how to send templates in Turn.io.
If you are struggling to get you message templates approved we help you troubleshoot in this article.