Article Quick Links:
With Ada Glass for Salesforce, you can provide your customers with a frictionless experience that instantly hands them off from chatbot to live agent, without any steps in between. The chatter will begin their conversation with the Ada bot, and if required, live agents will be invited to join the chat to support the customer - all within the same interface.
This article has been designed to outline the experience on the Salesforce side of things once you have configured Ada Glass with your Salesforce environment. For detailed instructions on configuring the two, please see here: Ada Glass - Salesforce (Configuration)
Adding Salesforce Blocks
Salesforce Blocks are added to answers in the same way that any other content block is added to an answer. For more information on how to include a block in your answer, please see here: Content Building Blocks
Chat Button ID
During the configuration of Ada Glass for Salesforce, you created a chat button ID. For some integrations one chat button ID is enough, but for complex Salesforce routing, you may want to create multiple chat button IDs to ensure that chatters are routed to the correct live agents based on language, skill set, Ada conditionals, etc. It is the chat button ID within the Salesforce Block that calls to the appropriate group of live agents to see if an agent is available to accept a new chat. Ensure when using your Salesforce Blocks that you are inputting the chat button ID that maps to the correct Salesforce live agent queue.
Off Hours Answer
In the Off Hours Answer field, select the answer you would like the bot to provide if there are no live agents available to chat (ie. there are no agents online or the queue is at its maximum capacity). This will likely be an answer that creates an email support ticket on behalf of the chatter.
Create Contact and Create Case
Every time a chatter is handed off from the bot to a live agent using a Salesforce Block within an answer, a Salesforce live chat transcript object is created. Should you wish to also have a Salesforce contact and/or case created or mapped, this can be achieved by selecting these boxes within the advanced settings of the Salesforce Block in your Ada answer.
If you select Create Contact, the live agent transcript object will be linked to a Salesforce contact. If the bot has collected the chatter's name and email address and they match with an existing Salesforce contact, the live agent transcript object will map to the existing Salesforce contact. If a Salesforce contact does not already exist for the name and email address, a new Salesforce contact will be created and the live agent transcript object will map to it.
If you select Create Case, a new Salesforce case will be created every time a chat is passed from the bot to a live agent and the live agent transcript object will be linked to it.
If both Create Case and Create Contact are selected then the three, Salesforce case, contact, and live agent transcript object, will all be linked.
Live Chat Transcript Fields
If your bot has been capturing variables, you can map these to any of the default custom fields of the standard live chat transcript object in Salesforce when the chatter is handed off from the bot to the live agent. This ensures that your live agent has all of the relevant information they need to seamlessly take over the chat from the bot. In the Field Name section, type the name of the default custom field of the standard live chat transcript object in Salesforce that you would like the corresponding variable mapped. Click into the Choose Variable field to select, from your existing bot variables, the variable you would like to map to your previously defined Salesforce field.
When the chatter reaches the point in the flow where a Salesforce Block has been included in an answer, so long as it is during open hours and there are agents online, they will be added to the appropriate queue. Within their chat window they will be provided with a banner indicating their queue position and will no longer have the ability to chat with the bot.
When the chat is assigned to an available agent, the agent's name is provided to the chatter to identify who they are chatting with. The chatter will continue the conversation with the live agent in the same chat window that they were corresponding with the bot in, resulting in a seamless experience for the chatter. Please note that currently the chatter will be unable to end the chat with the live agent, and the live agent will have to do this.
When the chatter reaches the point in the flow where a Salesforce Block has been included in an answer, Ada will check Salesforce to see if there is an appropriate agent online, adhering to the Salesforce settings for skills, queues, multiple chat, etc. Depending on the Salesforce settings, the live agent will either automatically or manually accept the chat conversation and take over the conversation from the bot.
As discussed earlier, with every handoff to the bot a new live chat transcript object will be created in Salesforce. This is where the agent takes over the chat conversation. Within the same window, the agent will see the chat transcript between the chatter and the bot, as well as continue the conversation with the chatter where the bot left off. As a reminder, what is handed over from the bot to the live agent is limited to the transcript up to the point when the chatter transferred to the live agent queue. If the chatter continued chatting with the bot after joining the live agent queue, this portion of the chat history will not be transferred to the live agent. Further, please note that the agent will not be able to see what the chatter is typing before they send the message. They will see that they are typing, but not what they are typing.
If Create Case was toggled on within the advanced settings of the Salesforce Block, a case will be created in addition to the live chat transcript object. All of the chatter data that the bot knows, including, but not limited to metadata and local, global, and header variables, will be deposited in the description field of the case. Within the description field of the case all of the data that the bot knows will be deposited there, this includes, but is not limited to metadata and local, global, and header variables.
Upon the resolution of the chatter's inquiry, the agent will have to end the chat conversation. The functionality for the chatter to end the chat is currently not available, but our team is actively working on this for a future release.
Have any questions? Contact your Ada team—or email us at firstname.lastname@example.org.