## Why use this integration?
WhatsApp is a great additional channel through which you can communicate with your customers and reach them on their mobile devices.
With its 1.5 billion users worldwide and high engagement rates, WhatsApp provides a significant opportunity for businesses to reach customers. Bloomreach’s WhatsApp integration enables sending and receiving messages at scale using the WhatsApp Business API. **Since H2 2021, WhatsApp allows both transactional and non-transactional marketing messages. **
You can engage your customers through WhatsApp using personalized and automated messaging. This integration allows the sending of Templated as well as Free Text Messages.
**For conversations initiated by you,** you can send a paid template message using our WhatsApp Template Message scenario action. This requires the message template text to be pre-approved by the WhatsApp provider and the customer giving consent.
**For customer-initiated conversations** you can reply to the customer for free (no fee) within a 24-hour window from when the message was received. You can use our WhatsApp Text or Media Message scenario action for this type of message. The content of the message can be fully custom and does not have to be pre-approved.
WhatsApp availability in BETA
This feature is currently available in the **BETA version,** but we are working on its improvement.
Advantage
Customer's replies within WhatsApp are free of charge, so you are more likely to get their response than via SMS.
WhatsApp messages are sent using **Scenarios**. Messages, as with any other channel, can be personalized and connected to a workflow or a customer journey.
The WhatsApp messages are sent via our providers **Sinch** or **Infobip**. The integrations allow for two-way WhatsApp messages.
## Use-case examples
**Combine WhatsApp with other channels** - WhatsApp is effective, but you first need to collect phone numbers, consent, and inform customers about the possibility of communicating using WhatsApp. All this is possible using other built-in Bloomreach Engagement channels like email, website overlays, text messaging, or in-app messaging.
**Product Back-in-Stock Reminders** - Inform customers when a product is back in stock or send an alert when the price of a product drops.
**Convert Abandoned Carts** - Send cart abandonment messages with product images and a link to the cart. Combine with Predictions to target audiences with high purchase probability.
**Relevant Offers & Product Launches** - Add images and rich media to create buzz around a product launch or seasonal promotion. Identify your best customers using our granular segmentation and send them exciting offers on mobile before announcing them via email to everyone else.
**Product Recommendations** - Recommend products to your customer they might be interested in based on their activities, such as headphones for a newly purchased cell phone.
**Track Delivery Updates** - Keep your customers informed about their orders throughout the delivery process.
**Top-up & Plan Renewal Reminders (Telco)** - Proactively reach out to customers for top-ups before minutes run out or send reminders to renew a plan before it expires.
**Price Alerts on Flights (Travel)** - Send price drop alerts on flights that a customer is tracking instantly on their phone.
**Related Product/Service Upsell (Travel)** - Once a trip is booked, send upsell offers like car rental or hotels.
## How to send a message
WhatsApp messages are sent via our providers Sinch/Infobip using webhook templates. Templates exist for sending:
WhatsApp Template Message
WhatsApp Text or Media Message
_Each of these is described below in more detail_
The setup of WhatsApp integration via Sinch/Infobip needs to be requested from your CSM/CS team, who will provide you with all the required details.
## Customer profile requirements:
Phone numbers must be in one of the two standard international MSISDN formats with the leading "+" sign (e.g. +44123456789, or without, e.g. 44123456789).
In case you use a different number format (e.g. with leading zeros 00), you will need to modify the webhook templates to change the format using Jinja.
If you want WhatsApp 2-Way Messaging, customers must have a phone number as an additional Soft ID. The ID must be in one of the two standard international MSISDN formats with the leading "+" sign (e.g. +44123456789, or without, e.g. 44123456789).
## Using webhook templates
To set up the webhooks you first need to obtain the following information:
**Sinch**
Credentials
Endpoint URL
App ID
Project ID
Infobip
**Credentials**
Endpoint URL
Sender
Once you've obtained the required information, you are ready to:
## 1. Set up an authentication integration
Navigate to _Data & Assets > Integrations_ and add new ‘HTTP Authentication Schemas’ integration. Update the name (e.g. "WhatsApp Sinch/Infobip Authentication") and:
Fill in the endpoint (exact endpoint should be provided based on Sinch integration), e.g., <https://us1.whatsapp.api.sinch.com>
Select the ‘Custom headers’ option
Set a header with the Key field to ‘Authorization’ and the Value to ‘Bearer \<your_api_token>’
Save

When using the WhatsApp webhook templates, select this integration under `Settings
` > `Authentication
` for every WhatsApp template used.

The endpoint and bearer token will be provided by your CSM.
## 2. Set up the webhooks
Navigate to Scenarios, select the ‘Other’ option under Actions, and choose one of the WhatsApp templates based on your actual provider (Sinch or Infobip).

## Obtaining consents
Make sure your use of the WhatsApp Business Products complies with their [business policies.](🔗)
Contacting people on WhatsApp is permissible under the following conditions:
**Permission Granted:** You can only reach out to individuals on WhatsApp if they have shared their mobile phone numbers with you and have explicitly consented to be contacted via the platform.
**Honest Communication:** Your communications should steer clear of confusion, deception, fraud, misleading content, spam, or unexpected messages. Transparency is key.
Before sending a WhatsApp message to anyone, it's crucial to obtain opt-in permission. This confirmation should include:
**Clear Opt-In Statement:** The opt-in communication should unmistakably convey that the person is opting in to receive messages from your business through WhatsApp.
**Business Identification:** Your business name must be clearly stated in the opt-in message, establishing your identity.
You are solely responsible for determining the method of opt-in, that you have obtained opt-in in a manner that complies with laws applicable to your communications, and that you have otherwise provided notices and obtained permissions that are required under applicable law.
For an enhanced user experience, it's recommended to review the [best practices](🔗) outlined by WhatsApp.
## WhatsApp Template messages
### Sinch
To send a template message via Sinch, select the **WhatsApp Template Message - Sinch** webhook.
You need to set up the auth integration as instructed above and fill in the parameters:
App ID (provided by CSM)
Project ID (provided by CSM)
Template Name - Name of the predefined template
Template Language - Language to send the template in. Language must match one of the defined language versions of the template
Template Parameters - Parameters to inject into the body of the predefined template in the format of comma-separated values
Media Type - Specify media type to be included with the message (image, video, document). Use text if no media should be included.
Media URL - Public URL of the media file:
Accepted formats for images are JPEG and PNG with a maximum size of 5MB.
Accepted formats for videos are MP4 and 3GPP with a maximum size of 16MB.
Accepted formats for documents are any valid document MIME type with a maximum size of 100MB.
The customer `phone
` attribute will be used as the phone number to send the message to.

### Infobip
To send a template message via Infobip, select the **WhatsApp Template Message - Infobip** webhook.
You need to set up the auth integration as instructed above and fill in the parameters:
Sender (provided by CSM)
Template Name - Name of the predefined template
Template Language - Language to send the template in. Language must match one of the defined language versions of the template
Template Parameters - Parameters to inject into the body of the predefined template in the format of comma-separated values
Media Type - Specify the media type to be included with the message (image, video, document). Use text if no media should be included.
Media URL - public URL of the media file:
Accepted formats for images are JPG, JPEG, and PNG with a maximum size of 5MB.
Accepted formats for videos are MP4 and 3GPP with a maximum size of 16MB.
Accepted formats for documents are any valid document MIME type with a maximum size of 100MB.
The customer `phone
` attribute will be used as the phone number to send the message to.

To create a new template, please contact your CSM, as it is not done in the Bloomreach Engagement app currently.
The template must be from one of the following categories:
**Transactional messages: **- Personal Finance update, Account update, Alert update, Appointment Update, Issue Resolution, Payment Update, Reservation Update, Shipping Update, Ticket Update, Transportation Update.
**Non-transactional messages** - (no predefined categories)
Examples:
"Dear {{1}}, You have items in your shopping cart and have not finished your purchase. If you want us to take you to your shopping cart, type CART as a response to this message."
"We’re down to the last 3 pieces of an item you have saved in your favorites! Get in there before it’s gone. Check it out at bloomreach.com/favorites"
## WhatsApp Text or Media Message
### Sinch
When the customer replies to a message or initiates the conversation themselves, you can send a free message.
To send such a message via Sinch, select the **WhatsApp Text or Media Message - Sinch** webhook. You need to set up the auth integration as instructed above and fill in the parameters:
App ID (provided by CSM)
Project ID (provided by CSM)
Message Type - Specify the message type: text, image, video, or document message
Message Text or Caption - Based on the message type fill in the text message content with up to 4096 characters required for text message or the optional media caption that will be displayed underneath the image/video.
Media URL - Public URL of the media file:
Accepted formats for images are JPEG and PNG with a maximum size of 5MB.
Accepted formats for videos are MP4 and 3GPP with a maximum size of 16MB.
Accepted formats for documents are any valid document MIME type with a maximum size of 100MB.
The customer [phone]() attribute will be used as the phone number to send the message to.

### Infobip
When the customer replies to a message or initiates the conversation themselves, you can send a free message.
To send such a message via Infobip, select the WhatsApp Text or Media Message - Infobip webhook. You need to set up the auth integration as instructed above and fill in the parameters:
Sender (provided by CSM)
Message Type - Specify the message type: text, image, video, or document message
Message Text or Caption - Based on the message type fill in the text message content with up to 4096 characters required for text message or the optional media caption that will be displayed underneath the image/video.
Media URL - public URL of the media file.
Accepted formats for images are JPG, JPEG, and PNG with a maximum size of 5MB.
Accepted formats for videos are MP4 and 3GPP with a maximum size of 16MB.
Accepted formats for documents are any valid document MIME type with a maximum size of 100MB.
The customer phone attribute will be used as the phone number to send the message to.

## 2-way messaging
To receive messages from your customers, an integration for receiving messages (WhatsApp 2-Way Messaging) must be set up. WhatsApp will forward customer replies to Engagement, where they will be processed as campaign events **in real-time**. For this to work, the callback URL must be configured with the provider (Sinch/Infobip) to receive replies.
To track messages received from your customers, you must set up WhatsApp integration.
Navigate to `Data & Assets
` > `Integrations
` and add new WhatsApp integration.

If you want WhatsApp 2-Way Messaging, customers need to have a phone number as an additional ID. The ID must be in one of the two standard international MSISDN formats either with the leading "+" sign (e.g. +44123456789, or without, e.g. 44123456789). Configure the customer ID containing the customer phone number and select the format in which the numbers are saved so Bloomreach Engagement can match the incoming message to a profile.

After you save the integration, a callback URL will be generated. The URL needs to be set up in your Sinch/Infobip account to receive the incoming messages; your CSM will help set this up on the provider side.

Once you have the integration set up, you will start receiving messages from your customers in the form of a campaign event with the following properties:
Attribute | Value | Example |
status | inbound | N/A |
action_type | N/A | |
message_id | Generated message id for the inbound message | 123456 |
message | Content of the message body | "SUBSCRIBE" |
type | text | N/A |
## Limitations
Currently, there are these limitations present in our solution:
We do not track the delivery report status of the message (e.g. delivered, opened, etc.).
Throughput is limited to 20 messages per second.
Maximum of 300 template messages per client.