Before you can use your WhatsApp message templates to reach out to your customers, you will need to learn more about getting started with WhatsApp message templates. If you have already gone through that article, we can use your WhatsApp message templates.

You can also refer to this set of WhatsApp Message Templates FAQs for more details.


What are the different types of message templates?

You can create three types of message templates as per your specific requirements:

  1. Text templates: These templates are built with just plain text messages.
  2. Rich media templates with attachments: These templates include images, documents, and videos as attachments.
  3. Call-to-action & Quick Replies templates: These are interactive templates with buttons for customers to interact with.

How to create WhatsApp message templates and get them approved?

Step 1: Share your Message Template with us

Start working out your message templates keeping in mind the template guidelines from WhatsApp. You need to share the message templates as a document or on a spreadsheet. Make sure to include the template names, template content, template languages, and template categories. This should be documented in a tabular format, as shown in the example below.

Template categoryTemplate nameLanguageHeader
(attachment type)

Hi {{1}}, we apologize for the inconvenience caused. We have initiated a refund of {{2}} for order {{3}}. Please find your invoice in the document attached.


Hi {{1}}! We have an update on your issue about {{2}}. If you would like to continue having this conversation, please reply with "YES".



Hi {{1}}! Your travel itinerary for trip {{2}} is now ready. Please refer to the attached image for more info.



Thanks for purchasing {{1}}. If you need assistance to activate your account, please send us a message or refer to the self-service video available below.

  • In these examples, the variables are {{1}}, {{2}}, and {{3}}. Note how they are all in the same format, with a numerical placeholder starting at {{1}} and with two sets of curly braces. If you want to display the same variable twice, please use the same label for both instances.
  • Refer to the WhatsApp message template FAQs to check the complete list of supported languages.

  • For plain text, just mention the header attachment type as none.

  • For rich media templates with images, videos, or doc attachments, you need not share the content that you will attach. It will be sufficient if the header attachment type is mentioned in the table.

  • For interactive button templates, you can choose between using Call-to-actions & Quick replies.

Quick Reply Buttons: 

Quick replies allow your customers to respond with a simple text message by clicking on one of the available buttons. 

  • You can have up to three buttons in a quick reply template.
  • The character limit for each button text is 20.

Here is an example of how a set of quick reply buttons will look like:

To create such a template, you will need to submit it in the following format:

Template categoryTemplate nameLanguageHeader
(attachment type)
BodyButton 1Button 2Button 3




Upcoming Trip {{1}}

This is a reminder for your upcoming {{2}} trip on {{3}} at {{4}}. We would like to confirm if you can make it.  

YesNoWill Confirm Later

Call to action buttons: 

Call-to-Actions (CTAs) allows your customers to perform an action with the click of a button. We currently support calling a number or visiting a website.

  • You can have up to two CTAs in one message template
  • The character limit for each button text is 20.

  • Both the phone number and the website fields are static, and you will need to share them when you submit your templates for approval. Dynamic website URLs are not yet supported.

  • The character limit for the phone number field is 20, and the website field is 2000.

Here is an example of how CTA buttons will look like:

To create such a template, you will need to submit it in the following format:

Template categoryTemplate nameLanguageHeader
(attachment type)
BodyButton text (website)Website URLButton text (phone call)Contact number (with country code)




Hi {{1}},thanks for shopping with us! 

Your payment for order ID {{2}} was successful.

Track Confirm Later+1234567890

Step 2: Submit the templates for approval from WhatsApp

When you submit these templates to our team, we will submit them to WhatsApp for approval. While this approval process might take some time, you can begin setting up the necessary APIs on your end. For example, you can start setting up your API triggers to send templates using the outbound message API. You can also refer to our API documentation here for more capabilities.

Once a message template is approved, we will share the template id and the namespace. These are unique identifiers for your WhatsApp account. You can start using your APIs with these unique identifiers, and to access the API, you should generate an API token from your Freshchat account. Learn how to generate an API token from Freshchat

Step 3: Building your API and sending the message template

There are three ways to send Message Templates when you use Freshchat:

  1. Within your product/website code:
    Depending on how you've set up your website, you can directly call the API you have set up and send the Message Templates, as seen in the examples above.

  2. By using the API library in the Freshchat bot builder:
    You can configure the API action in the API library of the bot builder. Learn more about configuring API actions in the bot builder.

  3. With the WhatsApp Proactive Messaging custom app:
    With this app, your agents can send Message Templates to your customers directly from the agent inbox. Learn more about using the WhatsApp proactive messaging app.

Your customer experience with these messages is defined by how you set up your APIs. These include how variables are dynamically filled or what your agents see of this interaction. This is defined based on the attributes you use for your APIs. To learn more about setting up APIs, please refer to our API documentation.

Offering context to your agents

You can even choose to set up your APIs so that you can help your agents with more context.  When you set up your API, the storage attribute can be used to help your agents identify if your customers have replied to a Message Template or if they reached out on their own. Two values that can be passed to the storage attribute:

  • "storage":"None"
    This will not reconstruct the Message Template but will show "Proactive message was sent to the user" in the conversation. This can be used if the customer is expected to share any confidential information.

  • "storage":"conversation"
    This will reconstruct your Message Templates ssage and any applicable replies to help your agents with enough context in the agent view.

    • Customer view:

    • Reconstructed message in the agent view