This repository is to illustrate Watson Assistant Webchat integration with SalesForce Service Desk & Live Agent handoff
In this repo we will illustrate the following usecase:
We will define a few terms:
User: This will be a customer that will interact via chat(Watson Assistant) to a live agent
SalesForce ServiceCloud: App that helps deliver fast, personalized customer service & improves customer satisfaction to help agents deliver the right answers and service insights
Live Agent: This will be the service desk employee who will interact with SalesForce ServiceCloud to receive chat handoff
Omni-channel:Omni-Channel is a tool that sits inside of either the Sales or Service Console that, once enabled and configured, automatically pushes work to your users in real time.
Routing Configuration:
Queue: Prioritize, distribute, and assign records to teams who share workloads. Queue members can jump in to take ownership of any record in a queue.They’re available for chat
QuickFind: search box for Setup pages
Chat Deployment: A deployment is a place on your company’s website that’s enabled for Chat. Create deployments to implement Chat and control its functionality on your website.
Chat Button: Create chat buttons to enable customers to request a chat with an agent directly from your website
Presence Status: Presence statuses indicate whether an agent is online and available to receive incoming work items, or whether the agent is away or offline. You can give users access to presence statuses through profiles.
Service Channel: Customize your service channel settings to define how your organization receives work from various sources, such as chat, email, SOS calls, or social channels
Click on gear and go to service settings
Ensure ServiceCloud user & chat user is checked on the user profile you are testing with by using QuickFind and searching “users”
Presence Config(DO NOT HAVE TO CHANGE) shows the max capacity of both cases & chats your agent can handle
Setup agents available and not available status to external users for chat, you create one per channel per agent
Assign chat statuses to an agent(user profile)
Create a queue, select your routing configuration created previously and objects to be sent to the queue for the agents e.g. chat, cases
OPTIONAL: Add Service Channels(if applicable do for all members of queue for each member profile) e.g. Cases
Obtain Chat Deployment Code from Deployments to be used to
Create a chat button for code to be generated and embedded into an HTML webpage for your users(you will select your queue created previously & omni-channel
Tip: The agent(user) must set themselves from offline to “available” in order to receive chats on service console and chat to be available to the external customer
Tip: The HTML website chat simulates a customer and the ServiceConsole is the live agent in conversation with them
As a customer, click the “online” to initiate a chat with the live agent
Within Service Console, the agent accepts chat by clicking on the checkbox in the omni-channel chat box & a window appears
Provision an instance of Watson Assistant Plus
Create Assistant or Choose Assistant you want to set up the integration with
Add integration (on the right)
Choose Web Chat integration
Name the integration
Customize UI,Connect SalesForce
Turn on Live Agent, create dialog, Create custom labels by going to Data —> Objects and Fields —> Object Manager —> Chat Transcript —> Fields and Relationships, grant the labels to the user profiles
Tip: These should be created before you paste in the code in the next step because the code calls for these
Create a VisualForce page in Salesforce for the chat transcript to be transferred to the agent by replacing SalesForce code: paste from Watson Assistant UI to SalesForce VisualForce Page
Set “available to chat” status in omni-channel window in Service Console as illustrated in Part 2
Go to Watson Assistant and select “web chat” and call out to an agent using the intent, you should see a Live Agent Card populate
Click request agent (you are simulating a customer)
Agent accepts chat in SalesForce ServiceCloud by clicking “check mark” to accept in omni-channel window(you are simulating a live agent) and it shows in Watson Assistant
Customer & Live Agent chat & then the agent ends the chat