Our developer Helené was recently tasked with integrating Whatsapp into XYZ Medical Supplies’ Salesforce org, using Service Cloud Digital Engagement.
XYZ Medical Supplies required 2 types of Whatsapp messages:
Inbound messages: Enables existing customers and potential customers to send product queries on existing and new products to XYZ Medical Supplies.
Outbound messages: Enables XYZ Medical Supplies to communicate case numbers and other information such as delivery updates, payment updates and warranty approvals to customers.
This post will cover the steps taken to set up Salesforce and Digital Engagement for Inbound Whatsapp messages.
It is important to note that you will need to use a mobile number that has not previously been /being used for Whatsapp. If you plan to use an existing number, ensure that the number has been removed from all Whatsapp apps on both Desktop and Mobile.
Meta needs to verify the number with a verification code which you will have to submit through your Facebook Meta Business Suite for approval. This step is independent of Salesforce and can take a few days before Meta approves the number. We do touch on the basic steps below, however for more detailed information on how to do this, click here.
Integrating a Whatsapp Channel into a Salesforce org
These are the steps that Helene followed to integrate a WhatsApp channel (number) into XYZ Medical Supplies’ Salesforce org.
- In Setup, in the quick find box enter: “Users” Tick Service Cloud License and Messaging User for the agents who are going to be using WhatsApp
- Enable Messaging in the Salesforce org Setup
- In the setup quick-find box search for “Messaging Settings” and enable Messaging
- Send an email to “WhatsappEnablement@salesforce.com” with the following information:
- Business Name
- Business Logo: JPEG Format (no transparent background) and 1:1 Ratio (Square) This format is very important
- Business Description with 256 characters
- Org ID of the Salesforce environment (Sandbox or Production)
- The number and what type of number it is (mobile in our case)
- Remember to make sure the number is not linked to any app including whatsapp
- After the WhatsApp Enablement team has received the email, they will schedule a call. It is important to have the phone – belonging to the number you have registered – on hand
- The WhatsApp Enablement team will send a verification code to that cellphone number and ask for it to be repeated to them. The number will now be verified with Meta and Salesforce
- Ensure that the number has been added as a WhatsApp channel to the Salesforce org.
- In Setup, in the quick find box enter: “Messaging Settings”
The channel should now appear in a listview with the WhatsApp logo and the Channel Name in the format of “whatsapp: +(country code)(mobile number)”
- In Setup, in the quick find box enter: “Messaging Settings”

Assigning a Queue to the Whatsapp Channel
A queue contains the users/agents who will receive the inbound messages. XYZ Medical Supplies assigned this queue to manage their product queries.
- In Setup, in the quick find box enter: “Queue”. Click “New”
- Name the queue using an easy to understand naming convention, such as Product Queries, General Enquiries etc. Ensure the queue uses “Messaging Session” as the object
- Assign the users and profiles required to the queue
Set Up the Routing Configuration
The routing configuration allows omni-channel to assign the inbound messages to the correct queue of assigned users.
- In Setup, in the quick find box enter: “Routing Configuration”. Click “New”
- Assign a “Routing Configuration Name” again, using an easy to understand naming convention, eg. “Whatsapp Routing Query”
- Configure your Routing Setting:
- In this case, the “Most Available” routing model was used
- Routing priority “1” . This means that work items in the WhatsApp queue gets assigned to agents first – as 1 is the highest priority
- The “Work Item Size” in this case was, “Percentage of Capacity “: 50%. This means that one message takes up half of the agent usage

- This next step is a step that many developers forget to do:
- In Setup, in the quick find box enter: “Queue”
- Select the queue you just created for WhatsApps and edit the queue to select the Routing Configuration you just created under “Configuration with Omni-Channel Routing”
- For more information on these steps, this link is quite useful

Finalising WhatsApp Channel Integration
- In Setup, in the quick find box enter: “Messaging Settings”
- Configure the Routing type and Queue. Pro Tip: The WhatsApp channel – from the list view – can be edited by clicking on the right hand dropdown arrow and clicking on “edit” under the channel list view
- Under Routing section select the following options:
- Routing Type: “Omni-Channel”
- Queue: the queue that was just created for WhatsApps i.e. WhatsApp Queue
- Under Routing section select the following options:

A Salesforce Flow could also be used to route inbound messages, however this option is a bit more advanced. To read more about how to route inbound WhatsApp messages, click here.
Confirm Service Channel Set Up
Verify that the Salesforce WhatsApp Enablement team has set up a Service Channel.
- In Setup, in the quick find box enter: “Service Channel”
- The naming convention for the Service Channel is usually as follows:
- Service Channel Name: Messaging
- Developer Name: sfdc_livemessage
- The naming convention for the Service Channel is usually as follows:

Create a Presence Configuration & Status for the Omni-Channel
Now that the Service Channel has been created, configuration and status can be implemented.
Omni-channel does not have pre-existing statuses. A status needs to be created to show availability in order to receive incoming Whatsapp messages from the queue.
- In Setup, in the quick find box enter: “Presence Configuration”
- Click “New” to create a configuration for Whatsapps
- Assign a presence configuration Name, such as “Presence for Whatsapp” and then complete the basic information:
- Helené suggests a 10 agent capacity for a small organisation to ensure that the agent’s workload is not too heavy.
- Assign the Users and/or Profiles

- In Setup, in the quick find box enter: “Presence Status” and click “New”
- Name the field to be self-explanatory, for example “Available for Chat”
- Select the Messaging Channel as the Service Channel for this status
- Useful Tip: Assign this status as “available” for the profiles using WhatsApp by entering “Profiles” in the quick find box, and then selecting the profile. Under “Service Presence Statuses Access” – assign the status


Creating and Assigning Messaging Permission Sets
- Create a permission set for System Administrators
- Add Presence Statuses under Service Presence Status Access
- Under Object Permission select “Messaging user”
- Select “Modify All Access”
- Under App Permission enable the following permissions;
- End Messaging Session
- Agent Initiated Outbound Messaging
- Messaging Agent
- Configure Messaging
- Assign Permission Set for System Admins
- Create a permission set for Standard users
- Add Presence Statuses under Service Presence Status Access
- Under Object Permission select “Messaging user”
- Select “View All Access”
- Under App Permission enable the following permissions;
- End Messaging Session
- Agent Initiated Outbound Messaging
- Messaging Agent
- Assign Permissions Set for your Standard users
Add Messaging Sessions to your Service Console
This is the final step in setting up inbound Whatsapp messages. We’re almost there!
- In the Quick Find box, type in: “App Manager”
- Navigate to your Service Console for XYZ Medical Supplies, and click Edit
- Add the Messaging Sessions object to your Service Console
- Add omni-channel as a utility item
If needed, edit the Messaging Session record pages and page layouts.
XYZ Medical Supplies can now receive incoming Whatsapp messages that will automatically route to the first available agent. Our next post will unpack the Outbound Whatsapp Message configuration, as this was not as straightforward as Helené had hoped it would be.
Interested to know more? Leave your details below: