Adding the Salesforce bot to Google Chat
Leverage Salesforce bots to make using your tools more efficient.
In an effort to reduce inbox clutter with internal communications, many companies have employed tools like Microsoft Teams, Cisco Jabber, and Google Chat. Like most applications, a stand alone system rarely provides enough information to the user/team to drive enhanced efficiencies. Integrating systems can be an overwhelming and complicated endeavor, but with new cloud-based applications that have strong APIs (Application Protocol Interfaces) and pre-built connectors - it’s quite easy.
In this article we will be going over how to install and use the Salesforce bot in Google Chat (previously called Hangouts) on your computer (there is an iOS and Android application that can also leverage bots.)
What is a bot in Google Chat?
Bots are special accounts you can chat with that provide a way for you to connect to services in Chat, such as looking up information, scheduling meetings, or doing tasks.
Bots are added to specific rooms shared with other Chat users or they can be messaged directly to provide information requested.
With the Salesforce bot for Google Chat, you can:
Search for Contacts, Leads, Opportunities, and Accounts from Salesforce
View their details directly inside Google Chat, without having to switch windows or apps
Share Salesforce information in any room
Prerequisites:
Google Workspace Business Edition
Google Workspace Administrator needs to grant rights to users to install applications
Salesforce instance
Adding the bot
First you will learn how to add a bot to a room. Then you will learn how to message it in order to get information from Salesforce.
In Google Chat click on Find people > rooms > bots
(this is located the top left corner of your chat window)
This will open a dropdown list. Select Find a bot
Salesforce will usually be listed under the featured area or it can be searched for in the search bar at the top of the screen.
Search for Salesforce, click Add
You will be prompted to add the bot to a specific room. You are able to select multiple rooms as well as add the bot directly from the page in any given room.
Once installed, you can begin using the bot.
How to message the bot
In the room where the bot has been added type @salesforce help and the bot will respond with the following message:
In a new thread or in the reply of a message you can use slash commands by typing a forward slash /. This will open a list of commands for the bots added to the room.
If the return account is clicked in the chat window it will open up a more detailed view with the chance to
OPEN IN SALESFORCE
Select the /sfaccount and type the search string to be performed.
Notice how it is Only visible to you even though the search is being performed in the shared room.
A full text search is performed so there is no need for wildcards (like *).
Notice how there is a contact in Salesforce with a first name of “First Name” and last name of “Last Name” and when the search for /sfcontact last is performed it finds the correct record.
The same type of bot engagement can occur in a direct message to a bot instead of in a Chat Room.
On the left side bar in the rooms section, at the bottom, you will find where installed Bots are displayed.
Clicking on the Salesforce Bot will open the main chat window for chats with just the Bot. All the same searches and functionality exist in the direct message bot window as in the team rooms.
The Salesforce Bot can be helpful for all Google Chat users when additional context is desired in a Chat Room with others or if you want to get information from Salesforce without having to leave the chat application.
In the future we will explore how to leverage the Webhooks available in Google Chat to enter messages in Google Chat triggered from Salesforce using Apex and Visual Flows.
Sometimes it’s the Simple Things
Case Ownership and how it can simplify your lifecycle.
As consultants, we can easily forget that our clients don’t know everything about Salesforce. They most likely aren’t thinking and reading about Salesforce 24x7 like we are. We often get caught in the trap of assuming that our clients understand even the simplest features in Salesforce when, in fact, they do not. This recently happened to me when implementing Service Cloud for a customer.
Similar to many other clients, their requirements were a pretty straight forward match to much of the existing functionality in Service Cloud. As I was working through requirements gathering, the client described a very manually intensive process they were currently using to manage the lifecycle of a Case. Many different people were involved and there were gaps in the life cycle where no one really knew who was working the Case. In my mind, these problems were easily solvable using Case Owners, Queues, and Case Teams, so I didn’t pay too much attention to it. However, the client kept coming back to the process and re-describing it.
Finally, after the 3rd time, I realized that I was glossing over something that was very important to them. I hadn’t yet come to the realization that they didn’t know anything about the out-of-the-box functionality. They weren’t understanding the solution that I had in my head. I took a step back and spent 15 minutes describing the functionality to them, which I should have done up front, and suddenly their concern and anxiety around the process went away. Here are the simple descriptions I gave to our client to help them understand the solution.
Case Queues should be thought of as temporary holding areas for Cases waiting in line for the next available Support Agent with the capabilities to solve the problem. Think of Case Queues like the different lines you can stand in when going to the DMV. There is one line for license renewals, another for titles and registrations, and a third for new license plates. You stand in the line appropriate for your needs and wait for the next available person to help you. In this client’s situation, we were able to use the information the end user provided in their email or the web form submission to automatically assign the Case to the Queue we felt best matched the issue. Then the Case would patiently wait in the Queue for the next available Support Agent.
To make sure Cases don’t die in line, each Queue has a group of Support Agents assigned to it. When they have availability, the Support Agents go through the Queue they are assigned to and select a Case to work on, ideally using first-in-first-out logic. When the Support Agent selects a Case, they change the Case Owner to themselves. They now have full responsibility for resolving the Case. They own it, including the communication back-and-forth with the end user. 99% of the time that person will work the Case through resolution, however, there may be times where a Case needs to be reassigned to a different Owner and, of course, with the out-of-the-box functionality, they can easily handle that edge case.
Although the Case Owner has responsibility for the Case, there are often situations where the Support Agent will need help from other people or groups in the company. The client develops mobile applications, so often the Support Agent may need help from someone on the Development Team to get a Case resolved. This is where Case Teams come into play. The Support Agent has the ability to add other employees to the Case Team and thereby enlist their assistance on the issue. We set up simple List Views for people to see the Cases where they are part of the Case Team. Part of the beauty of Case Teams is that the Support Agent can add specific individuals to the Case or even select from a list of predefined Case Teams to add groups of people to the Case. With Case Teams, the Case Owner retains the responsibility for resolving the Case, but they can easily get help from other people.
In this client's case, the simple explanation of how Queues, Case Owners, and Case Teams could work together to manage any situation that comes up in a Case’s lifecycle helped them see how the process would work and reduce their anxiety. In addition we were using 100% out-of-the-box functionality so the configuration needed was minimal and would be easy for the customer to maintain going forward.
The simplest solution is often the best and we as consultants need to remind ourselves that no matter how simple the solution is, it is our responsibility to make sure the client understands it.