WhatsApp
Message types

Message types

There are two types of messages when using WhatsApp for business communications: templates and free-form messages. The type you use depends on who initiates the chat and the time frame of the conversation.

  • Templates - Preformatted messages approved by Meta.
  • Free-form - Standard free-flowing messages that support all media types

The message type depends on who initiates the conversation and is it within the messaging window. Regulation dictates that you must stick to preapproved message templates when messaging customers outside of window.

Message templates

Message templates ensure that business-initiated communication follows WhatsApp guidelines. They contain predefined text and are preformatted. These templates can be reused when the same message needs to be sent multiple times.

When you send a message template, you can send the template identifier (template name) instead of the message content.

Templates can contain placeholders. When you send the template message, you can replace the placeholders with values or personalized information.

Template headers can contain media that provide additional information. You can also make interactive templates by registering buttons as part of the message.

WhatsApp Message Template

Message templates can be classified into three categories to facilitate different types of business-initiated interactions: Marketing, Utility, and Authentication template. Each category serves distinct purposes and includes various subcategories to cater to specific communication needs.

1. Marketing template

Designed for business-initiated interactions to promote products or services to end users who have opted in. These templates are used to send relevant offers, announcements, and other promotional content. Any business-initiated conversation that is not authentication or utility falls under this category.

Subcategories:

  • Text and rich media template: Includes plain text messages and those enhanced with images, videos, or other multimedia elements to engage users.
  • Carousel template: Allows businesses to showcase multiple products or services in a single message, enabling users to browse different options by swiping.
  • Limited-time offer template: Designed for promotions available for a short period, creating a sense of urgency and encouraging quick action from recipients.
  • Coupon code template: Used to send discount codes or special offers to users, encouraging them to make a purchase or take advantage of a deal.
  • Flow template: Guides users through a series of steps or processes, such as signing up for a service or completing a survey.
  • Multi-product message template: Enables businesses to showcase multiple products, each with titles and product IDs, and includes optional thumbnail images. The template supports clickable buttons for user interaction and optional URL management features like shortening and tracking. Available only via WhatsApp API (opens in a new tab).
  • Catalog template: Allows businesses to send messages featuring a product catalog with clickable buttons for user interaction and includes optional thumbnail images. It supports URL management features like shortening and tracking. Available only via WhatsApp API (opens in a new tab).

To send catalog template messages, you must enable commerce settings in your WhatsApp Manager:

  1. Go to WhatsApp Manager on Meta.
  2. Under Account Tools, find Catalog and click on it.
  3. Select the business phone number.
  4. Enable both options:
    • Show catalog icon in chat header
    • Show "Add to cart" button on product pages and chat
WhatsApp - enable Commercial settings
NoteIf you cannot access your WABA, contact our Support (opens in a new tab) to gain access or enable those options.

2. Utility template

Utility templates facilitate business-initiated conversations related to transactions, such as post-purchase notifications and recurring billing statements. These messages are typically event-triggered, allowing businesses to follow up on end user actions or requests. Utility message types must include specifics about the active or ongoing transaction, account, subscription, or interaction to which they relate.

Use cases:

  • Invoice delivery and reminders
  • Payment updates
  • Alerts
  • Account updates
  • Order/shipping updates

Subcategories:

  • Text and rich media template: Similar to marketing templates, these can include plain text and multimedia elements to provide detailed transactional information.
  • Carousel template: Useful for presenting multiple updates or information in a swipeable format.
  • Flow template: Helps guide users through processes related to their transactions, such as tracking an order or updating account details.

3. Authentication template

Authentication templates support business-initiated conversations that facilitate user authentication through one-time passcodes. These templates are essential for various steps in the login process, and ensure secure and verified access to user accounts and services.

Use cases:

  • Account registration
  • Account recovery
  • Security checks
NoteWhen you create an authentication template through our web interface, the button type is automatically set to URL. If you create it through the API, you must manually set it to URL type. Otherwise, you will get an error.

Message templates include the following sections:

The first step in sending notifications is to create and register your message templates and then submit the templates to Meta for approval.

Make sure you are familiar with the template guidelines, as well as the limitations below.

Template names can contain only lowercase alphanumeric characters and underscores (_). They cannot contain other characters or white space.

Header

Headers are optional. You can use headers to provide additional information to end users.

Headers can contain the following:

  • Text
    • Maximum of 60 characters, can include 1 placeholder.
  • Image
    • Maximum file size: 16 MB.
    • Supported file types: .jpg, .jpeg, .png.
  • Video
    • Maximum file size: 16 MB.
    • Supported file types: .mp4.
  • Document
    • Maximum file size: 16 MB.
    • Supported file types: .pdf.
  • Location
NoteDirect link to media must be used in order to be displayed correctly. YouTube links are not considered direct links. Your link must end with an extension, such as .mp4.

Body

The body section is mandatory. The body must follow these guidelines:

  • Can contain only text and emojis.
  • Can be registered either as plain text or as text with placeholders.
  • Can contain a maximum of 1,024 characters.
  • Must not contain newlines, tabs, or more than 4 consecutive spaces.
  • If you add sample content to one parameter, you must also add sample content to all other parameters.

Footer

Footers are optional. They must follow these guidelines:

  • Can contain only text.
  • Cannot contain placeholders.
  • Can contain a maximum of 60 characters.

Buttons

Buttons are an optional part of a WhatsApp template, allowing customers to respond to messages or take specific actions directly from the chat. You can create 10 buttons from various categories within a template. Buttons are interactive components which enable users to quickly select options and perform actions.

Quick reply button

  • Provides customers with predefined responses they can send with a single tap.
  • You can add up to 10 quick reply buttons per template.
  • Can contain a maximum of 25 characters.

Call button

  • Allows customers to call a specified business phone number directly from the chat.
  • Only one call button is allowed per template.
  • The phone number can contain a maximum of 20 characters and must be in the international format starting with a plus sign (+).

Click to URL

  • Lets customers open a specified URL in their web browser.
  • You can add up to two URL buttons per template.
  • The text for each URL button can contain a maximum of 25 characters, while the URL itself can be up to 2,000 characters long. The URL can include a single placeholder at the end.

Copy code

  • Allows customers to copy a code, such as a coupon code, to the clipboard with a single click.
  • The text for each copy code button can contain a maximum of 25 characters.
NoteButtons must be organized into two groups: quick reply buttons and non-quick reply buttons.
whatsapp_buttons

Text and rich media template

  • Send single text-only or rich media messages with buttons.
  • Classified as a Marketing or a Utility template.

Carousel template

  • Send a message with up to 10 carousel cards, text, and buttons.
  • You can define media (image or video) and button types for all your cards.
  • Classified as a Marketing or a Utility template.
  • Can be created via the template editor or WhatsApp API (opens in a new tab).

Limited time offer template

  • Send time-bound offers with expiration dates for offer codes.
  • You can define the offer heading, expiration date, and button types.
  • Classified as a Marketing template.
  • Can be created via the template editor or WhatsApp API (opens in a new tab).

Coupon code template

  • Send discount codes with a button to quickly copy the code.
  • You can add a button to copy the code. The code can contain a maximum of 15 characters.
  • Classified as Marketing template.
  • Can be created via the template editor or WhatsApp API (opens in a new tab).

Flow template

  • Send a message with a button that initiates a predefined flow.
  • You can create a button that allows customers to trigger the flow by entering the Flow ID.
  • Can be created via the template editor or WhatsApp API (opens in a new tab).

Authentication template

  • Send one-time verification code.
  • Add your message and a security recommendation to users not to share the code with anyone.
  • Choose how users can copy the verification code:
    • Create a button to copy the code.
    • Create a button for one-tap autofill (Android only): the code will automatically be copied to the app when you tap the button. For this to work, you must enter Android app's package name and signature hash.

To use an authentication template for the authentication copy code button via WhatsApp API (opens in a new tab), you must set the button type as URL with the authentication code value as the parameter (if you create the template through our template editor, the URL will automatically be set as the button type). Here is an example:

json
{
  "messages": [
    {
      "from": "441134960000",
      "to": "441134960001",
      "messageId": "a28dd97c-1ffb-4fcf-99f1-0b557ed381da",
      "content": {
        "templateName": "template_name",
        "templateData": {
          "body": {
            "placeholders": [
              "Authentication Code Value"
            ]
          },
          "buttons": [
            {
              "type": "URL",
              "parameter": "Authentication Code Value"
            }
          ]
        },
        "language": "en_GB"
      },
      "callbackData": "Callback data",
      "notifyUrl": "https://www.example.com/whatsapp",
      "urlOptions": {
        "shortenUrl": true,
        "trackClicks": true,
        "trackingUrl": "https://example.com/click-report",
        "removeProtocol": true,
        "customDomain": "example.com"
      }
    }
  ]
}

Template registration

  1. Log in to Infobip (opens in a new tab) and select Channels and Numbers > Channels.

  2. Select WhatsApp.

    WhatsApp - Template Registration 01
  3. Select the Senders tab.

  4. For the desired sender, select three dots menu.

  5. Select Manage templates.

    WhatsApp - Template Registration 02
  6. Click Register template.

  7. Choose the template category: Marketing, Utility, or Authentication. Then choose the appropriate subcategory.

  8. Enter the template name and language, and you can begin designing the template through the template editor. Follow specifications to register template successfully. As you make changes, you can preview how the message will look in the left preview window.

    WhatsApp - template registration preview

When you finish the design, click Register template and await approval. You can monitor the state of your template to see if it is Approved, Pending, or Rejected.

WhatsApp - template status

Free-form messages

Use free-form messages to send various message types. Cut-off control prevents messages from being delivered to users out of certain conditions.

Regular text messages or media messages (for example, any non-message templates) can only be delivered within the first 24 hours since the customer last contacted your business. Message templates do not have this restriction and can be used if you need to contact customers outside of this window.

The following elements are available to send over WhatsApp; however, pay attention to element-specific limitations and supported options.

Text

Send a message in the form of text to customers. You can send text in any of the following formats:

  • Bold (*using asterisks*)
  • Italic (_using underscores_)
  • Strikethrough (~using tildes~)
  • Code (```using three backticks```)

Messages can contain up to 4,096 characters per free-form message. Text limitations vary on the relevant sections in templates. You can also include emojis in text messages.

URL character counts are also included in message length limits. Make sure to keep text messages and URLs within the character limit. You also have the option to display URL previews in messages.

Documents

Send documents to customers. The documents should have names in the form of text, up to 240 characters. If no name is given, WhatsApp will assign one.

You can send the following document file types:

  • .pdf
  • .doc(x)
  • .ppt(x)
  • .xls(x)

Document file sizes can be up to 100 MB.

Images

Send images to customers. You can also send messages in the form of an image and caption together. Image captions can be up to 3,000 characters long.

The following image types are supported:

  • jpg
  • .jpeg
  • .png

Image sizes can be up to 5 MB.

Audio

Send audio messages to customers. The following audio types are supported:

  • .aac
  • .amr
  • .mp4
  • .opus

Audio file sizes can be up to 16 MB.

Video

Send video messages to customers. You can also send messages in the form of a video and captions together. Video captions can be up to 3,000 characters long.

The following video types are supported:

  • .mp4
  • .3gpp

Video sizes can be up to 16 MB.

Stickers

Send stickers as messages to customers. There are a few formatting requirements to follow with stickers:

  • .webp files only.
  • Cannot exceed 100 KB.
  • Must be 512 x 512 px.
  • Must be 16 px margin around the sticker.
  • Must have transparent background.

Location

Send a static location in the form of a message. Location messages are in the form of interactive maps.

Included in location messages are your:

  • Longitude - Coordinates between -180 and 180
  • Latitude - Coordinates between -90 and 90
  • Location Name - Name of the location (optional)
  • Address - (Optional) Address of the location

Contacts

Send a contact saved in your address book. This allows recipients to autosave contacts into their devices using a save button.

Contact messages consist of an array of contact-related objects. Each of those objects contains a further set of sub-objects.

High-level objects include:

  • Name
  • Address
  • Emails
  • Organization
  • Phone
  • URL
  • Birthday

See the API section (opens in a new tab) for more information about contact objects.

Interactive messages

Interactive messages enhance user engagement by providing dynamic components within the chat. These messages enable users to quickly select options, perform actions, and interact with content seamlessly, improving communication and response efficiency.

NoteInteractive messages can only be sent if the recipient has contacted the business within the last 24 hours, otherwise a template message should be used.

Interactive lists

Allow users to select from a list of up to 10 options to confirm a preference, for example, a location for the service they are trying to find out more about.

Users will only be able to select one option at a time.

List messages are made up of the following:

  • Header - (Optional) Text shown at the top of the list message. Maximum of 60 characters
  • Body - Message text content. Maximum of 1,024 characters
  • Footer - Footer text content. Maximum of 60 characters
  • List
    • List title - List button text. Maximum of 20 characters
    • Section title - (Optional) Not visible and used for reference. Maximum of 24 characters
    • Row titles - Single selection options accompanied by a radio button
    • Row descriptions - (Optional) Provide additional context to selectable options
    • List item title - Name of the list item. Maximum of 24 characters
    • List item description - (Optional) Details about the list item. Maximum of 72 characters
    • Postback - Payload value for list item. Maximum of 200 characters

Interactive buttons

Use interactive buttons to send end users up to three options to choose from as an automated response. This allows them to reply quickly reply by selecting from the options that you provide.

These work in the same way as quick replies in message templates, but are available for free-form messages. Users will only be able to select one option at a time per message. These work like quick replies in message templates but are available for free-form messages. Users can select only one option at a time per message.

Quick reply messages are made up of the following contain:

  • Header - Text up to 60 characters, or image, video, or document (optional)
  • Body - Text up to 1024 characters
  • Footer - Text only up to 20 characters (optional)
  • Buttons - Up to 3 buttons, text only, each containing up to 20 characters

Product message

Send an interactive message about a product or service that is present in your catalog. Customers can ask questions about the product, add it to the cart, and submit the cart without leaving the chat.

To send a Product message, you must have a Meta catalog that is connected to your WhatsApp Business Account. Refer to the Manage Catalog section for more information.

Product messages contain the following components:

  • Body (mandatory)
  • Footer
  • Action (mandatory)

The Action element contains the following components:

  • Catalog ID
  • Product Retailer ID: The product ID that is present in the catalog.
WhatsApp product message
NoteProduct messages are available over Answers, Conversations, and API (opens in a new tab).

Multi-product message

Send an interactive message about products or services present in your catalog. The message can include a maximum of 30 products, presented in a maximum of 10 sections. Customers can ask questions about the product, add it to the cart, and submit the cart without leaving the chat.

To send a Multi-product message, you must have a Meta catalog connected to your WhatsApp Business account. Refer to the Manage Catalog section for more information.

Multi-product messages contain the following components:

  • Header (mandatory)
  • Body (mandatory)
  • Footer
  • Action (mandatory)

The Action element contains the following components:

  • Catalog ID
  • Section
    • Title
    • Product Retailer ID: The product ID that is present in the catalog.
WhatsApp multi-product message
NoteMulti-product messages are available over Answers, Conversations, and API (opens in a new tab).

If you use WhatsApp API (opens in a new tab), you can engage customers with multi-product or catalog template messages, sharing product offers directly in the chat. Customers can browse products and sections within the message, view product details, add and remove products from their cart, and submit their cart to place an order, all without exiting the WhatsApp conversation.

CTA URL button messages

CTA (Call-to-Action) URL button messages enable embedding clickable buttons within messages. These buttons can direct recipients to specified URLs, making driving traffic to websites, landing pages, or other online resources easy.

The messages can include additional elements, such as headers and footers, to provide more context. Advanced options like URL shortening, click tracking, and custom domains are also available to tailor the message and gather valuable engagement metrics.

WhatsApp CTA URL button example

CTA URL button messages are available over WhatsApp API (opens in a new tab).

Send Location CTA

Send Location CTA button enables customers to send their location more quickly.

Customers have the option to share their location or the location of a nearby place. Sharing live location is not supported.

Note that businesses cannot send "Send Location CTA" as the initial message to the customers. The request for user location can only be sent if the customer has contacted the business in the last 24 hours, then this type of message can be sent.

Send Location CTA is available over WhatsApp API (opens in a new tab) and can be used with the Answers Call API element.

WhatsApp_Send_Location_CTA

Payments message

WhatsApp Payments enables customers to pay their orders inside WhatsApp. The payment solutions consists of two messages: order_details and order_status.

If you want to initiate the payment, send order_details. It always contains the same four components: header, body, footer, and action.

Inside the action component, include all the information needed for the customer to complete their payment.

Once you receive the payment signal for an order, communicate the confirmation of the payment to the customer via order_status message.

You can find more information about WhatsApp Payments here (opens in a new tab).

WhatsApp Flows

WhatsApp Flows provide businesses with the flexibility to design and refine their own comprehensive customer experiences, all within the WhatsApp platform. This allows customers to complete tasks without the need to switch to other apps or platforms.

These flows represent a library of components, layouts, and connectors businesses can combine with customer data to create a single data flow supporting custom use cases.

Each solution is tailored to the client's needs. WhatsApp Flows can be used to offer products to customers, manage orders and delivery, collect feedback, create personalized offers, and so on.

WhatsApp_Flows

If you use WhatsApp API (opens in a new tab), you can avoid waiting for an open session with a customer to engage them. Send them a Flow message as a template and start the conversation.

Inbound messages

Inbound messages are forwarded to you in real time when you use WhatsApp for two-way communication.

If you are forwarding messages to an API endpoint, you will need to grant it permission for the Infobip platform. You can secure the connections with additional authorization headers.

Customers can send you the following WhatsApp components in messages:

  • Text
  • Image
  • Audio
  • Voice
  • Video
  • Document
  • Location
  • Contact
  • Button
  • Interactive button reply
  • Interactive list reply
  • Order message
  • Other media

Received media is accessible for up to 30 days. During this time, it can be deleted within this time through the WhatsApp API (opens in a new tab).

Quoted messages

End users can quote messages to indicate that they are replying to that message. The reply from the end user contains the quote ID.

Referral

On platforms such as Facebook and Instagram, when an end user clicks an ad that contains a click-to-WhatsApp button and sends a message to your business, you receive the following information about the ad, along with the message:

  • Whether the user clicked an ad or a post
  • URL of the ad
  • Facebook ID of the ad
  • Headline that was used
  • Body from the ad
  • Unique per click identifier
  • Media information that the user saw and clicked

Product question

When an end user sends a question about the a product in a Product or Multi-product message, the context of the inbound message will include information about the product.

Additional functionality

In the WhatsApp API, you can mark (opens in a new tab) inbound messages as read.

Need assistance

Explore Infobip Tutorials

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use