Puzzel-Salesforce Omni-Channel integration

Puzzel-Salesforce integration is further strengthened by directing the Salesforce chat sessions through Puzzel expert routing mechanism which can dramatically lessen resolution times and increase customer satisfaction.

To be able to utilise this facility, you need to have the Puzzel- Salesforce integration set up in your environment and Salesforce chat solution configured on a Site. For more details on integration Puzzel Contact Centre solution with Salesforce, please visit the Puzzel-Salesforce integration section.

How does it work?

When a chat session is initiated by the customer on a Site with Salesforce chat, the request is sent to Puzzel’s skilled based routing engine.

The engine then determines the assignment of requests based on several pre-defined attributes and allocates it to the best qualified available agent as an email request.

 Once the agent accepts the request, the customer record is automatically pulled up and the agent can begin the conversation.

 Upon ending the chat session [either by customer or by agent] the request is also wrapped up within Puzzel.

Setting up the Salesforce Omni Channel integration to work with Puzzel

To be able to utilise Puzzel routing mechanism to assign Salesforce chat session to agents, you will have to make the following configurations in your Salesforce environment and provide Puzzel with the details mentioned in the last section of this article. Puzzel will then be able to set up the functionality to be working in your environment.

This functionality is not offered as a out of box feature. You will need to do the configurations detailed in the next sections and provide Puzzel with the requested information in the last section. Puzzel will then be able to configure the Omni channel support in your environment.

Salesforce configurations

To be able to do the following configurations, you will need to have Administrator privileges on Salesforce.

Enable Authentication into Salesforce

You will be required to create a connected app for Puzzel, to request access to the Salesforce data. For any connected app to request data, it is essential that the application is already integrated into Salesforce environment. For more details on integrating PCC into Salesforce please read Puzzel-Salesforce integration section on help.puzzel.com This will allow Puzzel to access the current users that are logged in into Salesforce and assign the chat session using the skill-based routing mechanism.

To create a connected app and specify the scope of authorization in Salesforce, you need to:

  1. Go to quick finder and type App Manager. Select App Manager from the results displayed as shown in the figure below. Click on New Connected App option found on the top right corner.
  2. Enter the following details in the Basic Information section
    1. Specify a name to the Connected Application
    2. Enter the API name [API name is the name used when referring to your app from a program. By default, it takes the connected app name]
    3. Enter the email address and contact telephone number
  3. Select Enable OAuth Settings under API(Enable OAuth Settings) section. This will now display the options under it 
  4.  Enter https:// for callback URL
  5. Select and move Access and manage your data(api) option to selected OAuth scopes
  6. Click save to see the new Connected App
  7. Note down the Customer Key and the Secret. You will need to provide this to Puzzel. [See the last section of this article]
Create a Salesforce User

You will need to create a Salesforce user with the following Object Settings permissions:

  • Chat Transcripts – View All (Read permissions only on ‘Status’ field)
  • Push Topics – Read

Provide Puzzel with the Username, password, and security token for this user. Please see the last section of this article.

Enable Omni-channel functionality

To activate Omni channel functionality, you need to:

  1. Click on the Settings icon on the top right corner of the screen
  2. Select Service Setup
  3. Select Omni-Channel Settings under Omni-Channel in the quick finder

  4. Select Enable Omni-Channel

  5. Click Save.

Create PushTopic record

You need to create a PushTopic record specifying the events for which you wish to receive notifications for any changes to the Salesforce data. In this scenario, we would like to be notified when a new chat session has been initiated so that it can be processed via Puzzel routing engine.

To create a PushTopic record:

  1. Go to Developer Console from the menu option on the top right corner of your screen
  2. Go to Debug -> Open Execute Anonymous Window

  3. Paste the following code in the Enter Apex Code window and click on Execute

PushTopic pushTopic = new PushTopic();
pushTopic.Name = 'PSRPushTopic';
pushTopic.Query = 'Select Id,CreatedDate,WorkItemId,ServiceChannelId,groupid from PendingServiceRouting where RoutingModel =\'ExternalRouting\'';
pushTopic.ApiVersion = 50.0;
pushTopic.NotifyForOperationCreate = true;
pushTopic.NotifyForOperationUpdate = true;
pushTopic.NotifyForOperationDelete = true;
insert pushTopic;

  1. Verify that the code has been successfully executed in the logs below
Configuring Omni-Channel in Salesforce

To configure Omni-Channel, perform the following steps:

  1. Search for Routing Configurations in the quick finder and click on Edit.
  2. Set Routing mode to External and save the settings
  3. Search for Presence Configurations in the quick finder and click on Edit.

  4. Select Automatically Accept Requests and save the changes.

Credentials to be sent to Puzzel

Please call Puzzel with the following credentials to help direct chat sessions through Puzzel.

  • Connected App Customer key

  • Connected App Customer Secret

  • Salesforce Username

  • Password to the above user

  • Security Token for the user

  • List of Group id and names for all queues in Salesforce. To get this list,  run the follow SQL query

Select Id, name from Group where type = ‘Queue’


12/01/2021 - 09:06

Last updated

21/01/2021 - 14:52