Supported message types on WhatsApp Business API - Cloud API

Learn about the supported message types on WhatsApp Business API and how they can benefit your business communications with Cloud A.

Written By Frieda Yip (Super Administrator)

Updated at August 19th, 2024

WhatsApp Business API has a wider variety of message types compared to WhatsApp Business and Personal app. In this article, we explain the messages types you can send and receive using WhatsApp Business API, as well as their use cases. 

Sending messages

In SleekFlow, you can send the following message types via WhatsApp Business API:

  • Free-form text messages
  • Media messages
  • Template messages
  • Interactive messages

 

⚠️ All messages sent by you to the customer CANNOT be deleted or recalled on SleekFlow due to restriction from Meta.

 

 

Free-form text messages

Free-form text messages are messages that you can send during the customer service window. The character limit of each text message is 1,600. 

The table below outlines how to send free-from messages in different formats: 

Format Input Output
Bold This is a *bold* message
Italic This is an _italic_ message
Strike-through This is a ~strike through~ message
 
Monospace This is a ```monospace``` message
 
Bulleted list - This is a bullet list message
 
Block quote > This is a block quote message
 
Inline code This is an `inline code` message

You may apply multiple formats at the same time. To apply the formats outlined above, always add spaces before and/or after the special character in the message. Below are some examples explaining when and where you should add spaces. 

XX  = space
 

 

1. If you apply text formatting in the middle of the sentence, you should add spaces to both before and after the text


1 format

Input This is a *bold* message.
Outcome This is a bold message.


2 formats

Input Here is a _*special*_ discount for you! 
Outcome Here is a special discount for you!



2. If you apply text formatting in the beginning of the sentence, you should only add spaces after the text 

Input *SUMMER SALES* is coming! 
Outcome SUMMER SALES is coming!

 

3. If you apply text formatting before a punctuation (i.e ,.!@#$%^) in a sentence, you should only add spaces before the text
 

Input Please pay attention to *_Important service updates_*!
Outcome Please pay attention to Important service updates!

 

Media messages

You can send attachments in the following formats with WhatsApp Business API. Please note that the size limit of each attachment is 15MB.

Media type Format
Image
  • image/jpeg,
  • image/png
Video
  • video/mp4,
  • video/3gp
Audio
  • audio/aac
  • audio/mp4
  • audio/mpeg
  • audio/amr
  • audio/ogg
Document
  • text/plain, 
  • application/pdf, 
  • application/vnd.ms-powerpoint, 
  • application/msword,
  • application/vnd.ms-excel, 
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document,
  • application/vnd.openxmlformats-officedocument.presentationml.presentation,
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Stickers
  • image/webp

 

Template messages

Template messages are tools for you to open conversations with customers that are NOT within a customer service window. You have to draft a template in SleekFlow and get it approved before you can use it to open conversations. Once the template is approved, you may use the same template in any scenario to open conversation as many times as you want.

Before drafting your template, it is important to know the components of a template: 

  • Categories
  • Name
  • Language
  • Body
  • Header
  • Footer
  • Button

Categories

Categories relate to the objective you want to achieve with your message. You should always choose template categories that best describe your message content. Each template category corresponds to a conversation category, for example, you will open a Marketing conversation using a marketing template. To see how corresponding template categories impact pricing, please see our conversation-based pricing. 

There are 3 template categories:

  1. Marketing
    Choose the Marketing category when sending promotions or information about your products, services, or business. Other than that, the Marketing category will also apply to templates that cannot be categorized as Utility and Authentication, so it is a flexible template category that can achieve various goals.
    Examples: welcome messages, newsletters, offers, coupons, catalogs, new store hours (see more examples in the Body section of this article)
     
  2. Utility
    Choose the Utility category when sending messages about an existing order or account.
    Examples: order confirmations, account updates, receipts, appointment reminders, billing (see more examples in the Body section of this article)
     
  3. Authentication
    Choose the Authentication category when sending codes to verify a transaction or sign in.
    Examples: order confirmations, account updates, receipts, appointment reminders, billing (see more examples in the Body section of this article)

Name

Template names are the unique identifiers for templates in each WhatsApp Business API account (WABA). Identical template names are only allowed when two message templates are written in different languages.

A template name should be: 

  • within 512 characters
  • only using lowercase-text and numbers and 
  • without empty spaces between words

Examples: hello_1, beautyfest_vip_promo_202324, marketing_opt_out_with_privacypolicy

  • If you delete a template that has been sent in a template message but has yet to be delivered (e.g. because the customer's phone is turned off), we will attempt to deliver the message for 30 days, after which we will no longer attempt to deliver it
  • Names of an approved template that has been deleted cannot be used again for 30 days
 

Language

Language is a required field for a template. See Meta's list of supported languages below, or check out this article for more. 

Language supported (as of 30 June 2024)

Afrikaans Hausa Romanian
Albanian Hebrew Russian
Arabic Hindi Serbian
Azerbaigani Hungarian Slovak
Bengali Indonesiam Slovenian
Bulgarian Irish Spanish
Catalan Italian Spanish (ARG)
Chinese (CHN) Japanese Spanish (SPA)
Chinese (HKG) Kannada Spanish (MEX)
Chinese (TAI) Kazakh Swahili
Croatian Kinyarwanda Swedish
Czech Korean Tamil
Danish Kyrgyz (Kyrgyzstan) Telugu
Dutch Lao Thai
English Latvian Turkish
English (UK) Lithuanian Ukrainian
English (US) Macedonian Urdu
Estonian Malay Uzbek
Filipino Malayalam Vietnamese
Finnish Marathi Zulu
French Norwegian  
Georgian Persian  
German Polish  
Greek Portuguese (BR)  
Gujarati Portuguese (POR)  
  Punjabi  

Please note that the language indicated in this field should match with that used in the content of the template’s body, header, footer, and buttons. 

Body

Body is a required component of a template, where you write the main idea of your message. Please bear in mind that you should draft the message body in the template’s selected language. In the message body, you can insert plain text and variables.

We will illustrate the use cases of variables with 2 examples below:

Variables

Say you are planning to send out a birthday message to customers according to their birthday month. Below may be the template body you have in mind. 

Example 1

“January” in this message body is a value that will change according to the month of the birthday campaign. Values that will change based on the context are usually called Variables.

Variables are especially helpful when creating personalized or repetitive content. It can be a value that 

  • Will change along with the receiver of your message (e.g. membership number, booking date and time, etc.) according to a contact property, or 
  • Can be hard coded by scenario (i.e. Month, ZOOM links)

To use a variable in the message body, simply replace the value with {{number}}. See the example below. 

Example 2

Other than the birthday month, you may also want to include the customer's name to increase the intimacy of the message. This may be the message body you have in mind. 

When there are two or more variables, you should number the variables by order

For more template examples and use cases, see Meta for Developers site here.

Header

Headers are optional components that appear at the top of template messages. It not only allows you to display title text, but also insert multi-media. 

Each template is limited to one header component. Headers support the following formats:

  • Text: within 60 characters including variables, or
  • Media: images, videos, and documents that are smaller than 15MB. Click here to learn more about supported media formats.
     

Footers are optional components. It is a short line of text displayed at the bottom of your message template. Each template is limited to one footer component and they support the following format:

  • Text: within 60 characters, variables are not supported. 

Buttons

Buttons are optional components. The goal of adding buttons is to let customers respond to your message or take action. Currently, SleekFlow supports the following button types, and you can use only 1 type in each message template: 

Call-to-action

Call-to-action buttons aim to let your customers take action. Actions include:

  • Visiting a website with a static or dynamic URL
  • Making a phone call

You can create up to 2 call-to-action buttons in each message template. For each button, you can input text up to 20 characters. 

Quick reply

Quick reply buttons aim to let your customers respond to your message efficiently without typing. You can add up to 3 quick reply buttons for each message template. For each button, you can input text up to 20 characters. 

Interactive messages

Interactive messages are messages that enable you to use buttons and lists within a customer service window. They are NOT template messages (even though they look alike), therefore, you are NOT required to get approval from WhatsApp before sending them. The table below outlines the interactive message types we support: 

Message type Description Example
List messages Messages including a menu of up to 10 options. This type of message offers a simpler and more consistent way for customers to make a selection when interacting with a business.

Quick reply button messages

 

Messages including up to 3 options — each option is a button. This type of message offers a quicker way for customers to make a selection from a menu when interacting with a business.

Sending messages

In SleekFlow, other than plain text messages, you can also receive the following message types via WhatsApp Business API. The table below outlines the message types you can receive: 

Message type Description Example
Location message

When your customer shares a location message with you, you will receive a message containing:

  • Address
  • Name
  • Google map link of the location
     
Reaction to message

When your customer long taps a message to react to a message you sent with any emoji, you will receive a message containing:

  • Quoted message 
  • The emoji used in the reaction

When your customer removes the reaction, you will receive another message without the emoji used. 
 

Quoted reply

When your customer quotes a message you send, you will receive a notification containing:

  • Your customer’s text message
  • A preview of the quoted message
Stickers When your customer shares a sticker with you, you will receive an .WEBP image message 
Contact messages

When your customer shares a contact with you, you will receive a message containing:

  • Name of the contact
  • Phone number of the contact with area code
     

⚠️All messages sent by your customer to your number can be deleted or recalled on customer side. However, you will still be able to see the deleted message on SleekFlow.