Alright, we're on the last part of our Spring 20 release write-up. It's getting hard…
2. Salesforce Spring 20 Features – Service Cloud, Einstein for Service, Einstein Bots and Field Service Lightning
Happy 2020 everyone! Hopefully, this year and decade is a terrific and productive one for you. I thought it was going to be annoying have Christmas and New Years on a Wednesday, but it actually wound up working out where the traffic wasn’t as bad and the re-entry on 1/2 was pretty smooth. As usual, Salesforce is kicking off the New Year with a new release, with Spring 20 right around the corner. In Part 1 we covered all of the Sales Cloud, Einstein for Sales and Platform updates (which delivered a bunch of free Einstein!) and for this part we’re going to focus on the Service side: Service Cloud, Einstein for Service, Einstein Bots (in particular, a big release for them) and Field Service.
Before getting into the Spring 20 specific features, I mentioned this in Part 1, but it’s worth repeating here: we need to talk quickly about Lightning. On 1/7/20 (which is prior to Spring 20), Salesforce is automatically enabling Lightning in all orgs that haven’t turned it on yet. It’s a little confusing what this entails, and the release notes describe it pretty well, but basically, it doesn’t mean all of your users are suddenly going to be flipped to Lightning – but I think it’s safe to say this is a not overly subtle way of Salesforce telling you to get into Lightning. It’s pretty passive-aggressive, and typically aggressive-aggressive is the next step. I don’t actually know the plans for what happens next, but I think it’s pretty obvious that Classic is on its last legs. We’ve been saying it for well over a year now, but if you’re an admin or a Salesforce owner and you don’t have a plan to get to Lightning, this is something you need to do, and you really need to do it in 2020. Make this your Salesforce resolution, and get your plan together and get into Lightning. If you need help, feel free to reach out, and we’ll be happy to build that plan with you.
Spotify has been kind enough to generate a playlist of my top songs from 2019 (AI at work!) and I figured I’d give 2019 another ride and have the mix going with some Arcade Fire, Big Data, Sir Sly and other gems in there. Let’s get at it. As always, the order is based on what I think is the coolest.
- Case Merge is GA – This came out as a beta all the way back in Summer 19 and is finally GA with Spring 20. We get some really nice improvements from the beta here though, so let’s just start with a quick recap of what this does. With Case Merge an agent can merge up to three different Cases into a single master Case. The merge works like all of the other merges where you get a nice side by side comparison of the records to select the “winning” record overall and field by field. As part of the merge, the related records also come with the merged records into the master record. Now the big improvement coming with Spring 20 is how the merge is handled. We have an option to either delete the Cases that have been merged (the non-masters) or just soft-delete them. This is in the settings and is set for the whole instance. If you delete the records, it works like any other merge and the merged records will be in the recycling bin for 15 days and then they are gone. However, if you soft-delete them, the Cases are actually retained and added to a Merged Cased related list (see below). The merged Cases also have “[Merged]” appended to the front of the subject so it’s super obvious these Cases have been merged. This gives you the ability to still get to the old Case and see what happened with it. I love this option. One of the pain points of Case Merge has always been that a lot of times your customers know your Case numbers. You send auto-responses with them, you have Communities where customers can view their Cases and sometimes agents are trained to give the customers their Case number. A day later when you realize you have dupes and merge them, that Case number you just gave your customer is gone. With this approach, an agent can quickly see the original Case, see it was merged, and start working on the remaining Case without missing a beat. This also eliminates the need to give agents delete access which is always a tricky subject. Terrific enhancement.
- List View Case Hover – Another really nice enhancement that will especially help agents that work out of list views – like email or social support. Right from the list views, agents now have a much-improved hover that presents a compact view of the Case so they can view key details without clicking in. Right from this hover they can also edit or delete the Case. Definitely a time saver.
- Messaging Enhancements – Winter 20 brought a bunch of email enhancements and with Spring 20 we get a series of major Messaging enhancements. First up is that Lightning now supports Short Codes in the US. A lot of companies want short codes for heavy SMS volume, especially if it’s more for promotional content. Now even from those messages, you can get into a conversational chat with an agent if your customer replies. This was really the last major feature missing from the old LiveMessage package versus Lightning. Another big feature is support for WhatsApp is now GA. It was pilot in Winter 20, but now your agents can have conversations with customers via WhatsApp just like they would with SMS or Facebook Messenger. In the US WhatsApp isn’t as big of a deal, but internationally this is a major messaging platform, so this is very big news for anyone supporting customers outside the US. WhatsApp also gets Einstein Bots functionality, but we cover that below in the Einstein section. Consent Management is increasingly becoming a bigger issue for service organizations, especially with new regional laws like the EU’s GDPR, Canada’s anti-spam legislation and the latest California Privacy Law. These laws get even tougher to manage when the rules are different by channel – like email or texting (and with texting sometimes your carrier even has rules you need to follow). Spring 20 provides a bunch of flexibility to let you decide how you want to manage your customer’s consent by support implicit opt-in, explicit opt-in and even double opt-in. All of these are supported by automated messages you can set up to guide the customer through the consent process. Great enhancement. Finally, the ability for agents to start an outbound messaging conversation leveraging the Start Conversation button has been expanded. Agents can now launch these from Person Accounts, Cases, Leads or Opportunities.
- Einstein Article Recommendations – I’m putting this up here instead of within the Einstein section since it’s included with Service Cloud without having to purchase another product and it replaces existing Knowledge / Service Console functionality. The existing Knowledge component within the Service Console gets a slick improvement by now being fully Einstein powered. The previous component looked at information within the Case you were on and presented Articles based on Case fields you set up to filter or search contextually. With Einstein Article Recommendations added, we also get the additional power of looking at data from past Cases that are similar to see what Articles solved those Cases. This is extremely powerful as just contextual searching can return multiple results in a lot of situations. Now, you get the insight of what Articles previous agents actually used to solve their similar Cases. Think about it. If you have 10,000 Cases for the same issue and the standard Case Description, Subject and Categorization fields always return 3 articles, you are going to have your agents potentially looking at all 3 articles 10,000 different times. With Einstein Article Recommendations – assuming your agents have been associating the Article they used to the Case (which is best practice), that top Article should be the Article all of the previous agents used the most. In most situations, your agent should start and end there and not need to look at the other 2 Articles in that example. Potentially huge productivity improvements here! This is turned on automatically if you have the Knowledge component already in place. If not, you just need to add it to your Service Console.
- Other Knowledge Improvements – In addition to the super cool Einstein Article Recommendations above, we get some other Knowledge improvements with Spring 20 too. First, when sending your Articles via email, you now have the option to globally exclude also sending related files within the Article and / or the field labels. Nice to have some flexibility there depending on how your Articles are structured. Another improvement to sharing Articles allows us to easily share links to the Articles within Chat and Messaging. This will let you quickly add the URL for the public-facing or Community article instead of having to put in the content of the Article into the chat. We also get some improved flexibility around Files security. Previously, the attached File’s security was based on the Owner of the File (which was defaulted to who uploaded it). Now in your Knowledge settings, you can globally set File access to the same security as the Article they are associated to. Speaking of adding Files, the ability to manage Files when in Draft has also improved a bit making it easier to manage them. A great new feature for Knowledge Managers is the ability to compare Articles across versions and see what changed. You can select the Article Versions you want to compare and then see a side by side comparison of those Article Versions with highlights of what has changed (see below). This is in beta, so test it out a bit, but this is super useful! Finally, we get some bump ups on the Data Category limits. Each Article can now have up to 50 categories assigned to them – up from 25. The default is still 8 categories, but you can make a request with support to get that bumped up to the 50 or anywhere in between.
- Insert Code Samples – Now within your Email responses to your customers you can insert code snippets which will automatically format appropriately. The rich text editor now has a button to open a code sample window where you can drop the code in. Super useful for anyone in high tech or supporting high tech.
- Minimize the Omni Widget – I like this one a lot. It’s small, but it’s always been a little annoying when you accept work from the Omni widget and it’s still sticking up from the tray item over the Case that just popped for you. Now you have the options per service channel to automatically minimize the widget as soon as you accept work. Great to see this is configurable by work type.
- Filter Actions in the History Tab – A nice little addition to the Actions & Recommendations History tab. Now we can filter the history by the Status field to quickly narrow down the history. Filters will only filter the last 200 history actions (if you have more than 200, you work your Cases hard…) and will show up to 20 results per page.
- Moving Macros to the Background – Macros now run without interfering with what the agent sees by running in the background. Previously, the agent had to watch the macro running before them, but now the UI doesn’t change at all and a toast message will let them know when it finishes.
- Web Chat Enhancements – We get a couple of quick Chat enhancements that will only work with the embedded Web Chat and not the old buttons. First, for customers using screen readers (Sight-impaired customers use these to read the text from the web page), Chat will now focus on the embedded Chat window by removing the web page from behind the scene. This way the screen reader is only reading the content of the Chat window. Once the chat window is closed, the web page content returns. Another new enhancement allows you to set the language settings for the labels within the chat instead of relying on the user’s default browser settings. Definitely handy if you have a multilingual site and want the chat window language to match the site language and not the user’s. Finally, we get the ability to extend the Web Chat interface leveraging Lightning Web components. We can now add our own pre-chat and minimized state components. We will need the post-chat functionality back, but we’ll take these.
- Sticky Supervisor Filters – If you’re a user of the Omni-Channel Supervisor page, your filters are now sticky and will remain even if you close your window or log out of Salesforce. For supervisors, this will be a big time-saver as they are probably applying the same filters at the start of every day.
- Salesforce Survey Enhancements – Salesforce Surveys gets a slew of enhancements with Spring 20. As a reminder, since Summer 19, Service Cloud comes with up to 300 free survey responses a year. After that, you’ll need to purchase more so especially if you’re using these in lower volume orgs, this is a no-brainer to use, particularly with these new improvements. First up, you can now personalize questions based on answers to previous questions. So if you wanted to reference that they answered a 10 in a question before and maybe ask for more details, you can. In addition to this, you can also leverage the answers to determine what the next question or even page will be. You get a quick Question Display logic rules setup to build this out for the question and a page branching setup page to build out a menu path. All of these are very useful to make your surveys more dynamic. We also get a couple of UI improvements. You can now make your pages automatically progress to the next page by toggling on a new auto-progress option. Why make the customer click ‘Next’ each page if they don’t need to? You also can add some flash to your questions, the welcome page and the thank you page with the ability to add images to the text. Finally, the Net Promoter Score question has the option to add a sliding color scale across the top. Surveys have come a long way since when it was released as part of Health Cloud. Definitely worth investigating for your Service surveys.
Classic Features now Supported in Lightning – Not many of these left that we need to worry about, but Spring 20 closes the feature gap even more.
- Bulk Macros – This was probably one of the biggest remaining features that only worked in Classic, so it’s good to see Bulk Macros now in Lightning. It basically performs the same, with the only difference being it’s now more visible on the macro itself if it can be used in bulk – a little lightning bolt is beside it if it can be used.
- Show or Hide Closed Statuses – The option to hide the Closed Statuses from the Case Status related list now works in Lightning. Now you can force agents to use the Close Case action to close a Case.
- Escalated Icon – The Escalated Icon is now visible within Lightning. It’s a little different than the Classic one – it’s now a red triangle – but it appears right before the subject line and is pretty obvious looking. Agents shouldn’t miss this and it’s visible everywhere the Subject is.
- View Followers of a Case – Now in the related list of the Case you can see the users that are following that Case.
Einstein for Service & Einstein Bots
- Conditional Messaging in Einstein Bots – The Model Management gets a serious upgrade with an improved Model Management Dashboard. The dashboard now displays recommendations on how to improve the intent training by providing intent quality scores and areas of intent confusion. This is a great place to focus as you’re building out your various Bots.
- Granular Conversation Logs – Speaking of improving your Bots and analyzing how to make them better, Spring 20 gives us much more granular conversation logs to analyze. This will be huge to understand what is happening with your Bots as you can now see every move your bot makes. The logs are categorized by dialog and show all of the customer inputs and bot actions that occurred. Much needed and a big help to really deep dive into your bots. Keep in mind, you can pull this data out in bulk to do some real data mining too.
- Conditional Messaging in Einstein Bots – This is a big enhancement that allows you to simplify your Einstein Bot build while making it even more dynamic. Now you can tailor your Bot messages based on previous answers to questions and make those messages flexible based on the reply. For example, you could ask your customer for the first 3 digits of their product ID, and based on those answers, have a different message for each product ID set – all within one rule dialog. If the customer replies with “XTR”, you can have the Bot message be, “Great, I see you have our Xtreme series…”. Super useful.
- Conversation Repair – An interesting new feature here allows Einstein Bots to capture Email and phone number data more intelligently and provide messaging to the customer if they are formatted incorrectly. For example, if the customer enters an email address without the @ symbol, you can have a “repair message” that the Bot will display explaining what a proper email format needs to be. You can add multiple of these messages and then determine if you keep repeating this – assuming your customer can’t figure out how to add their email correctly – or if you simply move on with potentially bad information. I could see this functionality getting expanded out into other use cases and being really handy.
- WhatsApp Bots – Einstein Bots now work in WhatsApp as well. As I mentioned above, WhatsApp is a crucial messaging channel if you are supporting customers outside of the US and having the ability to leverage Bots here as well is huge. They behave the same way they would in SMS or Facebook Messenger. Great to see.
- Agent Transfers for SMS – In Winter 20, Bots used in Chat received the ability to check for agent availability before allowing a customer to transfer from a Bot to an agent. With Spring 20 we get the same functionality with the SMS messaging channel.
- Chatbot Typing Indicator – A quick improvement here that will show your customers the ‘…’ indicator when the Bot is working. Obviously your Bot isn’t sitting there typing like a human agent, but it will provide a little bit of comfort to your customers that the Bot isn’t stuck and is working away on their answer.
- Multiple Models for Case Classifications – Einstein Case Classifications can now support multiple classification models. You can set criteria for which models should apply to which types of Cases and in those instances where a Case might qualify for multiple models, you can set the priority order to determine which model wins. As part of building out these different models, Einstein gives you some really slick capabilities to help train them. You can build segments and provide example data for each model so that each specific model is being trained only from the data set that applies to it. Previously, it looked at all data within Service Cloud. This definitely adds a powerful level of sophistication to the Case Classification logic. As a reminder, Einstein Case Classification is an additional fee and not part of the core Service Cloud licenses.
Field Service Lightning
- Enhanced Optimization – With Enhanced Optimization, we can now have smarter optimization of our schedules by aligning them to a wider range of key metrics. The new options include the following: Fast in-day optimization – which allows to quickly revise schedules for the current day based on last-minute changes and Optimization recipes for common scheduling challenges – which optimizes your schedule based on common occurrences like cancellations, technicians finishing early or running late, and overlaps of appointments. Both of these are GA with Spring 20. In addition, we get the ability to optimize by assigning work based on minimally qualified or the most skilled resources. You were always able to optimize off of Skill, but it didn’t look at the Skill Level of the resource. With this, you can set rules to send anyone that qualifies and preserve the most experienced resources and also set rules for different appointments – like key customers or higher margin work types – that require only the most skilled resources. Finally, we also get a few beta options: Smarter travel time estimates which allow for predictive travel estimates based on the street-level routing, Shift Availability which leverages the shift functionality and any confirmed shifts, and Consecutive Work which leverages the Followed Immediately functionality below. These last three are in beta, so test them heavily before you optimize away. With anything around optimization, you definitely want to be careful and keep an eye on how it’s adjusting your manual scheduling until you really get the hang of it.
- FSL Mobile App Enhancements – Spring 20 also updates the FSL Mobile app with some nice enhancements. First up, we get a nice UI for the offline priming. The UI now allows you to explicitly start the full sync and then see the progress of it so that your technicians know for sure that it was started and completed. We also now get the ability to add Global Actions to the top-level screens which allow users to create records that are not related to the FSL records they are working. A good example here would be the ability to create an Opportunity for something not related to the work they are doing. Maybe a prospect walked up to them while they were doing their job and they want to capture that information for example. A lot of potential power here. A smaller – but definitely critical for some clients – update is the ability to block users from being able to copy from the FSL app and paste into other apps within the device. By default, this is allowed, but you can disable it with a new setting within the Connect Apps setup. Finally, Android users get a key feature that has been in iOS for a bit – the ability to run Service Report flows. Android users can now see the Service Report preview, capture signatures and launch the generation of the Service Report. Huge step forward for device parity.
- Ad Hoc Shifts – Shifts gets a nice enhancement with Spring 20 that allows you to create shifts on the fly that don’t fit your standard regular scheduling. Lots of use cases here including holidays, overtime or for contractors that might have their own shifts they comply to. This is in beta so definitely test this out before trying to roll it out in production.
- Schedule Appointments that Immediately Follow Another – Another beta item in Spring 20 gives you the ability to be more rigid with your scheduling and force a following appointment based on the first one. This is another one with a lot of potential. Safety items come to mind where if a certain work type requires an inspection before the work can be completed, you could have the inspection appointment follow the initial setup work. To set these up, in the complex work scheduling you can set a dependency type of Immediately Follow. Again, this is in beta, so definitely test it out thoroughly.
That’s it for Service and man, that’s a big release. A ton in here across all of the major Service categories, but especially around Einstein Bots and Knowledge. As always, if you want any help with these features, feel free to reach out and we’ll have one of our Solution Architects get in touch. Next up will be the Collaboration features: Communities, Chatter, Files & Quip.