Your guide to using message templates for WhatsApp Business API

With the Freshdesk Messaging – WhatsApp Integration, when your customers reach out to you on WhatsApp for help, your team responds to their messages from the Freshdesk Messaging interface. These messages are called Session messages. Your team has the ability to respond to these queries with the help of images, videos, GIFs!

WhatsApp Business API: Why Proactive Messaging?

With these Session messages, the only caveat is you have to work with a ticking time bomb. Each time an end-user sends a message to a WhatsApp Business Account, the business has a 24-hour “customer care window” to reply to the end-user with a message.

So, what happens if a customer asks a question during holidays or during the weekends when your team is out of office? Or What if you want to start a conversation proactively with your customers?

To tackle these exact scenarios, WhatsApp came up with Proactive messages to overcome exactly this.

GiF to show how proactive messaging works in the Freshchat - WhatsApp integration
WhatsApp is famous for being ad-free, and it follows the same rules for its proactive messages as well. To help you out, we decided to create a guide that will help you ace the WhatsApp Proactive messaging narrative 💪🏼

Here’s what you can find in this guide 👇

  1. Proactive messaging 101
  2. Template approval: Do’s and Don’ts
  3. Getting opt-ins for sending messages
  4. Sending Proactive messages within Freshdesk Messaging
  5. Charges involved in sending proactive messages

1. WhatsApp Business API: Proactive messaging 101

Proactive messages are a set of Highly Structured Message (HSM) template messages which can be sent to a customer multiple times based on their actions on your site/app. Businesses like yours can create these messages in 60+ languages, and customize it using variables which will allow you to send it to multiple customers at the same time.

WhatsApp approves only those templates that are of the utmost value to the customer. So any “sales-y” or promotional messages are strictly NOT allowed by WhatsApp.

2. WhatsApp message template approval: Do’s and Don’ts

Template Creation:

WhatsApp will do a thorough inspection of your template message while approving them, and therefore you need to follow these rules when you create message templates.

  1. The character limit is 1024, with only letters, digits, emojis allowed. It shouldn’t have newlines, tabs or more than 4 consecutive spaces. For templates containing images, videos, you can send us the files, after which we will take care.
  2. To use variables, a numbered placeholder to indicate the placeholder {{#}} must be used. The # represents the variable index.
  3. There should be 2 curly brackets to envelope the variable
  4. The template name should contain only lowercase alphanumeric characters, with the only special character allowed being the Underscore.
    Here’s an example: delivery_update1 (or) payment_update2
  5. The messages can contain only the below WhatsApp specified formatting 👇

Formatting rules set by WhatsApp for message templates

TIP 1:
First of all while naming templates, it’s generally advisable to give specific names to templates like “delivery_update1” rather than generic names like “template1”, therefore giving the templates more clarity to someone totally unrelated to your business.

Here’s a few examples that you can take a look at before drafting your templates: {{#}} indicates the type of variables

  1. Account updates
    Hi {{1}}, your account has been recharged with {{2}} pack. For invoice, please visit {{3}}
  2. Payment updates
    Hi {{1}}, your payment of {{2}} has been accepted. For more details, please visit {{3}}
  3. Personal Finance updates
    Hi {{1}}, Your savings account has been credited with {{2}}. Please click here {{3}} to find your updated statement.
  4. Delivery or shipping updates
    Hi {{1}}, Your order of {{2}} has been placed. Please click here {{3}} to track your order. <image attached>
  5. Booking or reservation updates
    Hi {{1}}, Thanks for booking with *Greenbus*. Here are the details 👇
    Passenger: {{2}}
    Arrival time: {{3}}
    Departure time: {{4}}
    You can reach us using the *Greenbus* helpline: +1(432) 134-1313
    Also, PFA your ticket 👇
  6. Ticket updates
    Hi {{1}}. Looks like your issue that was placed under ticket {{2}} has been resolved. Please reply to this message if you need more help
  7. Transportation updates
    Hi {{1}}, Your movie ticket for {{2}} has been cancelled. An amount of {{3}} has been refunded to your account.
  8. Issue resolution notification
    Hi {{1}}, looks like we missed your chat over the weekend. To continue the conversation, please reply with “Yes” or Hi {{1}}, we have an update on your issue pertaining to {{2}}. To fix the issue, please reply with “FIX”.
  9. Appointment notification
    Hi {{1}}, your appointment has been registered for {{2}} with _MH Hospitals_. To find more details, please click {{3}}. PFA a document containing the details of the appointment 👇
  10. Alert notifications
    Hi {{1}}, looks like your account was logged into at {{2}} from {{3}}. Click here {{4}} to review this.
  11. Auto reply
    Hi {{1}}, thanks for your message. One of our representatives will help you in a few minutes.

TIP 2: Better to use the appropriate text before the variable to clarify what will be inserted.  Example: Please find your ticket here {{2}}.

Sending Templates for approval:

After drafting your template messages, you can send it to us in a spreadsheet file. Our team at Freshworks will send it to WhatsApp for approval. This process usually takes around 1-2 days after which your template should be approved for use.

While the templates are undergoing the approval process, you can start setting the API at your end, by looking at our API documentation here.

Rejection of Templates:

Sometimes, even after meticulously preparing the template, you might find that WhatsApp has rejected a few of your templates because of one of the following reasons 👇

i) Promotional content:

Templates rejected by WhatsApp because of a lack of conformation to the rules

ii) Wrong formatting:

WhatsApp rejects templates that have wrong spellings or if the variable has wrong or less number of curly brackets or if the templates have floating parameters.

For example:
Hi {{1}}
Ticket information: {{2}
Other information: {{3}}


3. Getting explicit opt-ins from your customer:

WhatsApp in accordance with the GDPR ruling, tasks businesses with getting explicit customer opt-ins outside of WhatsApp, so that the businesses like yours can send them Proactive messages.

There are various methods of getting the opt-in from your customers:

  • Using a checkbox on your website/app during transactions
  • Hyperlinking an email signature
  • Hyperlink in an SMS,
  • QR code.

WhatsApp opt-ins


4. Sending Proactive messages within Freshdesk Messaging:

You can send proactive messages from within the Freshdesk Messaging interface after a sales transaction or a support transaction. All you need to do is

⚡ Install the Proactive messaging Marketplace app
📲 Type in the recipient’s phone number 📲
💬 Select the proactive message type 💬
⌨️ Populate the respective placeholders ⌨️
🈹🔤 Choose the respective language and hit send 🈹🔤

As simple as that! 🎊

Proactive Messaging marketplace app, that will allow businesses to send proactive messages from within the Freshchat agent interface

5. Charges involved:

In addition to the pricing laid by a Business Service Provider like Freshworks, WhatsApp has decided to monetize their messaging service, by charging businesses when they send proactive messages, based on the message volume and also based on the destination country. . You can find more information on the Pricing table here.

Well, before you start creating your templates and send it for approval, you need to get your WhatsApp Business API application up and running. And if you’re interested in getting one with Freshdesk Messaging, you can apply right here to get your application up and running.

P.S: Huge shout-out to Rafi for the illustrations and Akshay for the GIF!