Omnichannel for Customer Service – WhatsApp

Microsoft’s Omnichannel for Customer Service supports the WhatsApp channel, in this post I will explain how I configured this to work in my environment.

WhatsApp is obviously a widely adopted social channel with many customers favouring engaging with businesses using WhatsApp. The WhatsApp feature of Omnichannel for Customer service supports WhatsApp integration via Twilio.

You might need to appreciate WhatsApp message types and the 24 hour rule … as this is slightly different to some social platforms. We have two types of WhatsApp messages. Template messages and Session messages.

Template messages are outbound messages, these are transactional messages with a pre-approved format. (For example: “Your order has been dispatched”.) They can only be sent to users who have opted to receive messages from your organization. In this post I am going to concentrate on incoming messages! I might return to more detail around outbound / transactional messages in a later post. (As we can now send outbound SMS and WhatsApp messages!)

Session messages are messages that are incoming messages from a customer. The session would include the incoming messages and any subsequent outgoing replies. Sessions last for a maximum of 24 hours from the most recently received incoming message. Therefore WhatsApp conversations, unlike say SMS conversations only last for 24 hours and cannot continue over several days (or weeks) as could happen with SMS. Outside of the 24 hours, for an agent to re-engage with a customer they’d need to send a template message.


As WhatsApp integration is delivered using Twilio we first need a Twilio account and number. I explain how to setup a Twilio account and configure the SMS channel in this post.

Note: Currently Microsoft only support US Twilio phone numbers.

Now before you think about configuring the WhatsApp channel it makes sense to check that you are on the latest version of Omnichannel. Below you can see that in the Dynamics 365 administration center I checked that my sandbox was up to date. It wasn’t! So my first step was to apply the upgrade. Applying an upgrade can be a lengthy process. So whilst that happened I had plenty of time to read up on the install process. You can find Microsoft’s documentation on the WhatsApp channel here.

WhatsApp channel Setup steps ….

  1. Connect Twilio number to WhatsApp
  2. Copy Twilio Details
  3. Create WhatsApp Channel
  4. Add WhatsApp number into Omnichannel
  5. Validate your setup

Step One – Connect Twilio Number to WhatsApp

If you haven’t done so already your first step will be to connect your Twilio account to WhatsApp. The steps involved in connecting Twilio to WhatsApp are;

  1. Request access to enable your Twilio numbers for WhatsApp
  2. Submit a WhatsApp sender request to the Twilio console
  3. Approve Twilio messages on your behalf in the Facebook Business Manager console.
  4. Submit your Facebook Business Manager account for Business Verification
  5. Twilio completes your WhatsApp sender registration.

Simples!! Confused? You can read about this process in detail here.

You will need a Facebook Business Manager ID to be able to request authorizing Twilio/ If you don’t have a Facebook business manager account already you can use this link to create one!

I won’t describe each of the above steps in massive detail. (The link I have provided does that!) But I will give some pointers.

Once I had created a Facebook business manager submitting the request to enable my numbers was simple enough. But you do have to wait for an email to arrive. That took a few days. And in my case I did have to create a support ticket with Twilio! But they did help me out pretty quickly.

After successfully completing step one and requesting your number is enabled for WhatsApp you should receive an email giving you the next steps. (Which involves starting the process to setup a WhatsApp sender in Twilio.) The steps are easy to follow! But I did notice the comment below in my pre-approval email. This isn’t a quick process!!

Once you have the pre-approval email from Twilio you are ready to enable a WhatsApp sender. For this you open the programmable messaging section in your Twilio portal. Here you will find a WhatsApp senders section. After I requested that my Twilio number be added as a WhatsApp sender I needed to wait again for approval.

Next you will get another email from Twilio. This time you need to approve messages being sent on behalf of WhatsApp. You can see below that you complete this approval in your Facebook business account.

At the same time you will need to ensure that your business is verified with Facebook.

This process of business verification and connecting Twilio can be lengthy! I really wanted to say the process was straight forward but I actually needed several support tickets with Twilio. I also ended up completing the business verification with Facebook several times. (Maybe the documents I supplied to verify my business address weren’t ideal!)

Eventually WhatsApp was correctly setup in Twilio …. you can see below that under programmable messaging my number has been approved by WhatsApp.

Step Two – Copy Twilio Details

As you set up the WhatsApp channel in Omnichannel for Customer Service you will need your Twilio Account SID and Auth token. These can be found on the first page of your dashboard in the Twilio account portal. (As shown below.)

Step Three – Create WhatsApp Channel

You are now ready to create the WhatsApp channel in Omnichannel for Customer Service. In the Omnichannel Administration app find the WhatsApp option in the channels section and use the “New” button to create a WhatsApp channel.

Toi create your WhatsApp channel you will need to give the channel a name and then enter your Twilio account SID and Auth token. (copied in previous step!)

Once you click save a Twilio inbound URL will be generated.

Now you need to return to your Twilio console. And in the WhatsApp senders option enter the Twilio inbound URL. (Your Twilio number must be approved as a WhatsApp sender before attempting this step!)

Below you can see that I have entered by Twilio inbound url into my WhatsApp sender within the Twilio portal.

Step Four – Add WhatsApp number into Omnichannel

In your WhatsApp channel you can now enter your WhatsApp phone number.

Below you can see that I’d sued the “+ New WhatsApp number” within my WhatsApp channel in the Omnichannel Administration app.

Below you can see the details for my phone number. Notice I have selected the WhatsApp workstream. (In which I will have also defined any routing rules that I needed.)

I also navigated to the general settings tba and enabled the file attachments options. These are optional but I guess you will probably want to support swapping attachments with your customers.

Step Five – Validate your setup

Your final step is to validate your setup. Below you can see that I used the validate option in the Validation section of my WhatsApp channel.


Finally in my WhatsApp mobile app I created a new contact including the phone number I’d created. And when I sent a message into this account I received the expected notification within Omnichannel for Customer Service

Accepting the conversation allowed the conversation to begin in Omnichannel. And as I’d set the option to enable file attachments these could be sent within the conversation.


The setup process for the WhatsApp channel was not easy! But to be fair all of my challenges seemed to be connected with authorising my Twilio phone number for use with WhatsApp.

Once the process to approve my Twilio number for WhatsApp was completed making the number operate within Omnichannel for Customer Service was a pretty quick and easy process.

I can now receive inbound conversations from customers using WhatsApp. Next it is likely that I will also want to start outbound conversations with my customers. For that I will need some approved outbound WhatsApp message templates. I will dig into the process for configuring outbound WhatsApp messages in a future post!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s