Happy 2021 everyone. I hope all of you had a safe and happy New Year's…
With Summer 18 chatbots have been delivered to the Salesforce masses with the introduction of Einstein Bots. We talked about this a bit in our Summer 18 Service Cloud write-up, but this is a big enough feature that we’re going to dedicate a whole post to it and how it can augment your customer service organization. Keep in mind, Einstein Bots can absolutely be used for Sales as well, but for this post, we’re going to focus on Customer Service. In addition to this post, if you want to see some of this in action, we just had a webinar where we discussed some of the below but also showed a live demonstration of Einstein Bots from the customer’s view, the agent’s view and even some of the setup. Check out the recording here: https://www.gearscrm.com/webinar-einstein-bots-101/.
It feels like we’ve been hearing about chatbots for a while now – almost to the point where it probably is legitimate to question whether this is more hype than reality. Justin Lee from Growthbots wrote a terrific blog post on this and I think he nailed it. I won’t steal his thunder (if you are serious about Chatbots, this is a must-read I think) but basically he walks through how they were absolutely over-hyped, but that doesn’t mean the technology is a disappointment. In fact, it has steadily improved and he wraps with “The hype is over. And that’s a good thing. Now, we can start examining the middle-grounded grey area, instead of the hyper-inflated, frantic black and white zone.” I couldn’t agree with this more and I think Einstein Bots lands directly at the right time and in the right way. Instead of coming out too early with only partial features, this initial release of Einstein Bots is jam packed and can make an impact to your service organization immediately.
The beautiful thing about the release is how it really leverages the platform at its foundation. If you step back and look at how this was built, you gain an even larger appreciation for the roadmap Salesforce has taken over the years and the advantage they have over everyone else from a business process stand-point. I’m not saying Salesforce is the leader in AI technology – Google, IBM, Amazon and others are ahead for sure – but we all use Salesforce to apply these technologies to our business processes. You could have the smartest AI in the world, but how do you put that to use in your call center easily? I think Salesforce has nailed it when it comes to applying that “overhyped” technology to the every day use cases a business needs. The combination of the Salesforce platform, Service Cloud – especially the Console and Live Agent technology, and Einstein Bots (built on the Einstein building blocks from the last 2 years) gives Salesforce a powerful but practical – and most importantly – super scalable solution. It’s very exciting to see all of this coming together in just the first release.
Alright, so why would you want chatbots? I think a lot of people would answer this question with some variation of “chatbots will deflect Cases from my agents.” I’m a firm believer that if you go into rolling out Chatbots with this as the goal, you still might succeed in deflecting Cases, but you’re also missing a huge opportunity. The reason to roll out chatbots are because they are the next step in providing your customers with the choices they expect from your service organization. Chatbots are yet another extension of omni-channel and the digital transformation that service has been going through for years. Chatbots can drive increased customer satisfaction because your customers want to get their answers without having to speak to your agents. Yes, in the end that leads to deflection, but you want to build the bots thinking of it from the top down as enabling your customers to help themselves and to build the channel in a way that leads to a true self-help model. Consider some of these stats:
- 48% of consumers would rather connect with a company via live chat than any other mean of contact. (HubSpot, 2017)
- 40% of consumers do not care whether a chatbot or a real human helps them, as long as they are getting the help they need. (HubSpot, 2017)
- 21% of consumers see chatbots as the easiest way to contact a business. (ubisend, 2017)
- 61% of consumers feel that having Chatbots in customer services is the way of the future (Comm100, 2018)
- 27% (Drift, 2018) – 47% (HubSpot, 2017) of consumers would purchase something directly from a chatbot
In addition to the above, take a look at the expected benefits of Chatbots from Consumers (this is from another terrific blog “2018 State of Chatbots” report jointly written by Drift, Audience, Salesforce and myclever):
These stats are telling you that consumers are ready for this. Not only ready, but want it. It’s obviously not all consumers. In the same 2018 State of Chatbots report, 43% of the consumers said they wouldn’t use chatbots because they prefer to speak to a live agent. It’s early in the technology, so it’d be nice to see that number shrink over time, but flipping that around that means more than half of your customers would use this. Right now. It’s also not just younger consumers which is usually the group that adopts newer technologies earliest, but they don’t want to be “deflected.” They want tools that enable them to get instant answers to their simple questions no matter what time of day. This is what chatbots do. Let’s build out chatbots with these customers in mind and you’ll see increased customer satisfaction with the added benefit of not needing a live agent for most of those interactions.
Let’s talk about how we do this first with designing a chatbot in general, and then specifically with Einstein Bots. When thinking about how to build out a chatbot, there’s really five fundamentals to designing a great experience:
- Customer Intentions – You need to identify what your customers will be asking for upfront, and how you are going to attack those different use cases. Some use cases shouldn’t be handled by a bot – like ordering a super complex and expensive piece of equipment. Other use cases happen so infrequently that it probably is not worth the effort to train a chatbot in how to handle those. The sweet spot for chatbots are use cases that are simple, repetitive, or informational in nature (looking up a status, checking on availability, etc.). We recommend starting with the high volume use cases and then build it out more over time.
- Process – Just because you are focusing on a repetitive and simpler use case, doesn’t mean there isn’t process around those use cases. Your chatbot is going to need to enforce those processes. For example, let’s say your use case is changing the ship to address of an order. If that Order is already delivered or about to be delivered that day, your bot better not make it seem like they were able to successfully change the ship to address. You’ll want to build in those validation and process rules into the bot’s flow so that they enforce the same processes as live agents.
- Data – You’re building a bot to provide answers to your customers. Those answers require data that may or may not be within Salesforce. You’ll need to map out what kind of data you need for each of the use cases you’re going to support and then figure out how to get that data to the bot. If it’s within Salesforce, you’ll be able to use the Einstein Bot setup to fetch and present that data. If it’s outside, Einstein Bots have the flexibility to make calls to other system to grab it and present it to the bot. Keep in mind, sometimes these answers could be as simple as a Knowledge Article. Einstein Bots has out of the box capabilities to present Knowledge as well.
- Personality – It might not seem as important, but your chatbot does need a personality. At a bare minimum, what’s will its name and icon be? You also need to think about how it speaks. You want to make sure your bot has appropriate mannerisms, speech patterns and tone or it could look choppy to your customers. Also, for multi-brand companies, do you want different personalities for each brand? Finally, this might sound obvious, but it has to be said – you want to make sure your bot isn’t offensive or making the situation worse. You could have an irate customer blatantly angry in the chat – and if you don’t adjust that super happy bot tone to be a little more understanding, you’re going to have an even more irate customer. That said, I’m a fan of adding a little humor in the right places with your bot. Maybe even an Easter egg or two.
- Escalation – Back to the point about chatbots not being all about deflection, you need to make sure your customers have a way to get to a live agent through-out the entire bot experience. Don’t force the bot on people. Let the ones that want to use it decide to use it and let the others go to your agents. Through-out the conversation, if the bot isn’t understanding the ask, make sure you are presenting options to jump from the bot to an agent. Even build in planned agent transfer. Using that shipping address change example, if it really is too late to make the change, offer right there to speak to an agent to see if there is anything else that can be done. This is how you combine your channels for superior service.
With all of that, you know what kind of chatbot you want and what it’ll be doing – how do you build it? First things first, you need to make sure you have Live Agent setup. As of now, Einstein Bots only work within Live Agent (LiveMessage is on the roadmap). According to the release notes, Einstein Bots only work within the Snap-Ins version of Live Agent, however we have been able to get it to work in the old button approach. That said, if the release notes are saying this it probably is best to stick with the Snap-Ins as that will be the supported volume and there is also no guarantee they will continue to work in the old method.
We discussed in our Summer 18 Service Cloud write-up how Live Agent Snap-ins had a ton of new features added and the timing couldn’t be better. At this point, the Snap-Ins experience is much better than the old buttons method. The only sacrifice you are making feature-wise is you lose some of the pixel-level control you had with the old way, but the upside is much better. The biggest feature is that the chat window is anchored versus a pop-up window. As you can see below, the chat window is tied to the bottom of your screen. This is important because as your customers navigate around your site (probably because they are being guided by your agents), the chat stays persistent there. With a pop-up the user needs to keep flipping back and forth between the windows. Second is the mobile experience. The Snap-ins are mobile responsive out of the box and they have a very slick mechanism to allow a user to minimize the chat easily and then expands it back once they need to speak. It’s a terrific mobile experience for chat.
Finally, similar to Lightning, the Snap-ins are where all of the new features will be as it’s the platform Salesforce is adopting. For example, in Summer 18 alone we get the ability to show a chatter where they are in the queue out of the box. That won’t be made available to the old button approach. We definitely recommend migrating to Snap-ins as part of your Einstein Bots roll-out if you’re an existing Live Agent user, and if not, definitely start with the Snap-ins.
Once you have Live Agent ready to go, head over to Einstein Bots. To get there you must be within the Lightning Service Cloud administration (you can’t get to it otherwise) and go to Einstein Bots. You need to activate them by turning on the toggle and then enable it for the Live Agent Deployment Channel. Some sandboxes may have a message to contact support to activate them. If so, just log a quick case and Salesforce support will activate them for you. From there, click on New for your first bot. Keep in mind you can create multiple bots. When you click new you’ll be guided through a pretty basic wizard that has you name your bot, give it an auto-greeting and also setup its initial main menu. Once you get through that, you’re able to really start building it out. Within the bot itself there are three major areas that you will work within.
The first is a new concept / object called Dialogs. Dialogs are the heart of your bot. Simply put, the Dialogs are what your Bot will say at certain points. You’ll have a Dialog for each of your menus, for the welcome message, for what your bot says when someone wants to transfer to an agent, and for any interaction you build out. Now a Dialog doesn’t need to be a simple sentence. It can be a long string of questions and answers that you provide. For example, your Welcome Dialog will be something simple like the below. A quick message that says hello and what your bot’s name is, followed by the “Next Step” of the dialog, which is presenting your main menu of options.
Another example will be your Transfer to an Agent Dialog. In the Dialog below, if someone starts the “Transfer to an Agent” Dialog, we want to ask them a series of questions about who they are and what their issue is before sending that chat to an agent. This functions just like a pre-chat form would (pro tip: think about using your Bots to replace pre-chat forms entirely. You can get more sophisticated in what questions you ask, and studies show customer prefer the “conversation” over a static form). Each of these questions is waiting for a customer’s response and then they are storing these responses in a “Slot” (see below for the next new concept).
Once all of the questions have been asked, the next part of the dialog is an Action. The Action is where we are creating, or doing something, within Salesforce. In this instance, we want to pre-create a Case and then put all of the answers we collected into fields on the Case. Basically, we’re lining up a Slot to a Case Field. Finally, we’re telling the customer their Case Number and to have a great day, and the last step is to actually transfer that Chat to an Agent.
A big part of the bot build is planning out your Dialogs and figuring out the process behind them. What information are you presenting, how are you going to present it, what is the actual verbiage your bot uses and then what actions actually fire from these answers and questions? The Dialog builder is super robust and lets you take advantage of the platform by calling APIs, Apex or creating your own actions. Your customers get to these dialogs by one of two ways: they either click on a menu item / dialog answer (like a yes / no button) or they put in a response that you have mapped to an Intent. The menu driven approach is straight forward, where you can provide a menu like below for a customer to click on and that then kicks off a dialogue. In the below, if someone clicks on the Order menu item, they’ll be brought to a Dialog you create about Order (in our example, it goes to another sub-menu about different type of Order issues) and if someone clicks on the Transfer to an Agent menu item they’re brought to the Dialog we discussed above. We recommend using a menu driven approach to start with as it’s much easier to build and you can focus on your high volume use cases.
Intent is a bit harder, but also more powerful. What if your customer just types in “I want my order status” instead of pushing the menu? This is where you can build out Intents for that Order Dialog. You need a minimum of 20 phrases to build an intent, but ideally you want over 150. These would be all of the ways someone could ask to get to the dialog you have. In the example below, we have a Dialog for the Main Menu. No matter where someone is in the chat, if someone types in ones of these phrases, we know they want to see the Main Menu and we’ll present the Main Menu Dialog. It’s the same Dialog as if someone hit the Main Menu button. Intent is a big undertaking as there is so much to build here. It’s extremely powerful, but also advanced to build and takes constant tweaking to really refine.
We mentioned Slots above, and that’s the second area within your Einstein Bot build. Slots are basically places to put the data you are collecting in the Dialogs. You’ll need to create a Slot for each unique type of question you ask. Some of these will simply be a field where you want to store the information. Similar to creating a new field in Salesforce, the Slot can have different data formats, which you can see below. In addition these Slots can leverage Entities (the other area of Einstein Bots build). Entities allow you to have custom data types, where you can define the format of the data using Regular expressions. Something like an Order Number that you know is always 10 characters and begins with a “100” would have that logic specified in an Entity and then called within a Slot. Entities also have the benefit of already being National Language Processing (NLP) enabled. Finally, with Entities you create a list of synonyms that allow you to attribute multiple values easily to a Slot. For example, Yes can have “Yep,” “Yeah,” “Yeppers” as synonyms collected in the custom Entity. Between these two, you have all of your data collection points and logic around that collection to capture everything from your Dialogs.
As you can see, there is a lot here. We’re only scratching the surface on what you can do, but we definitely recommend starting off slow and not boiling the ocean. Begin with your highest volume use cases and start with more clickable menus than Natural Language using Intents. You need to plan these out before just jumping in. Map out your processes and analyze how your customers are interacting with your human agents. In addition, here are a few things to consider and keep in mind while you plan this out:
- Emoticons – At this point, it’s safe to assume 50% or more of the chats initiated from your site are being done from a mobile device. From a phone, your customers are going to interact differently than the do from the desktop. The most blatant example of this is emoticons. When your Einstein Bot asks your customer if they are all set, and the customers answers with a 👍 don’t ruin the whole experience by then having your bot go “I don’t understand that.” You’re going to need to have your bot understand what different emoticons mean. The good news is, we are planning on giving out a free Einstein Intent package for the AppExchange that does just this so that anyone can use that. We’ll post as soon as it’s out.
- Agent Availability – As we discussed above, a huge advantage of your Bots are they are 24X7. They also don’t ever hit capacity. Just because your bots are always available, doesn’t mean your agents are. You need to make sure your chatbot is smart enough to look to see if an agent is available before they try to transfer a customer to an agent. For this first release, this isn’t out of the box, but still possible. Great write-up here on how to do this.
- When your bot is confused – Your bot is going to get confused. It’s impossible to avoid. Heck, even your agents get confused with some of the things customers ask for, so why wouldn’t your chatbot have the same issues? Make sure you have a dialogue – and maybe even multiple if there are consistent confusion points – for your bot to explain they are confused. At some point, your confused bot is going to have to offer to transfer to an agent. Be proactive there, and also be gentle with saying how you’re confused. Be apologetic.
- Bot Empathy – Speaking of being apologetic, make sure you’re designing dialogues that are empathetic. Don’t be the one with the chatbot that is ultra cheery while your customer is screaming in frustration into the chat session. Especially in areas where the news or answers might not be terrific – like, sorry, you’re not eligible for that return – make sure you’re using appropriate terms and personality.
- Menu Navigation – Especially if you’re using sub-menus in your menu guidance, always give a way back to the main menu. Salesforce has the persistent menu we discussed above which is a great way to do it, but also, why not have an intent for that? Putting in “Main Menu” could bring you right back. Pretty handy to include.
- Updating Your Bot – Your bots are meant to be continuously improved. The whole point of AI is to learn and train and make them better and better. To make changes to your bot though, you need to take it offline. It makes sense as you could have a customer in the middle of a bot flow when you try to make your changes. With Einstein Bots even more than anything else, you’ll want to push your changes off-hours and make sure you are building your changes in a sandbox first.
- Analytics – Within each Bot you get some basic reporting on how your bot is performing within the Performance drop down. There isn’t a ton here in the first version of Einstein Bots unfortunately, but it is valuable. That said, if you have Einstein Analytics, you can take this starter dashboard and really expand it out. Every action within the bot is reportable within Einstein Analytics. We highly recommend getting at least one seat of Einstein Analytics as part of your Bots roll-out. We’re in the midst of building out a very nice standard reporting package that we’ll be delivering as part of all our roll-outs to really measure the bot effectiveness. Especially since a lot of this is about A/B testing and learning, you need the analytics to support you there.
Finally, how do you get these awesome Einstein Bots? One of the best parts is you might already have them! If you already own Live Agent, you own Einstein Bots. With each Live Agent license you have, you get 25 Einstein Bot conversations per month. Anything above and beyond that, you will need to acquire more conversations per month from Salesforce. For those of you on Unlimited Edition, keep in mind that every user you have has Live Agent as part of being on Unlimited. That makes this an even bigger no-brainer. However for the rest of you, unless you have a lot of volume and very few agents this should be enough to get started and learn from it.
Well, that’s our write-up on Einstein Bots. This is a super exciting new feature (not sure if you can tell, but we’re excited about it) and we highly recommend you adding this into your customer service mix. We have been all over Einstein since it was launched and in particular have been working with Einstein Bots since the pilot. If you’d like some help in adding Einstein Bots to your Salesforce, please feel free to contact us and we’ll get right back to you.