Last week we dove into all of the Sales Cloud & general enhancements coming with…
1. Salesforce Winter 21 Features – Lightning Sales Cloud, Einstein Sales Cloud, Manufacturing Cloud and Force
2. Salesforce Winter 21 Features – Service Cloud, Einstein for Service, Einstein Bots and Field Service
In our first Winter 21 post, we covered the Sales Cloud and general features that are coming out in what is a monster release, with dynamic page layouts and Salesforce Anywhere being the two big ones and a slew of other enhancements. For this post, we’re going to focus on the Service Cloud side of things: Service Cloud, Einstein for Service, Einstein Bots, Lightning Scheduler, and Field Service. There’s a lot here as well, so let’s jump right in. I’ve got a mix on the playlist, and I’m ready to roll. As always, the order is really based on what I think is the most interesting and the assumption is all of these features are Lightning only. I’ll call it out if something works with classic.
- New Threading Behavior for Email-To-Case – I guess if it wasn’t obvious before, it’s painfully obvious now – I am a Service Cloud geek. Hopelessly. I’m genuinely excited that Email-to-Case has a new threading behavior and putting this as the top new feature in the blog. I know I’m not alone with this and maybe we can band together for a Zoom session to discuss this. So what is this feature? For the longest time, email-to-case leveraged a reference ID to figure out what Cases to assign inbound email replies to. The reference IDs needed to be stored within the email body or header and they were long, and a bit ugly, but more annoying is you periodically have customers that for some reason delete them. No idea who these evil people are as I’ve never met someone that admits to this behavior, but they are out there.This always throws email-to-case into a mess because, with no reference ID, Salesforce assumes it’s a net-new Case and now you have duplicates. With this new enhancement, Salesforce is leveraging header information from the email to figure out the matching – and most customers have no idea how to mess with that, so it’ll be more effective and it’ll look better for your customers too as you won’t be inserting a long character string into the email body. Now, for new orgs, this is automatically applied and is the only way to go. For existing orgs that are using reference IDs currently, there is an upgrade path you need to walk through to enable this feature and the good news is that this is still backward-compatible with the reference IDs. No matter when you upgrade, you’ll have open Cases with emails out there waiting for replies, so those will still be associated correctly based on the reference ID. I love this.
- Dynamic Forms & Actions – Please note, I also discussed this in the Part 1 Sales Cloud post, so if you read that already, you can skip this. However, this is a big enough feature that it needs to be mentioned here as well. From an admin standpoint, this is probably the biggest set of features that are coming with Winter 21. Technically, this was released as a non-production pilot in Summer 20 (you could play with it in a sandbox, but you couldn’t push it to production) which is why we didn’t cover it in that recap. But in Winter 21, the Dynamic Forms are now GA, and Actions is a combo of GA and beta which I’ll explain. This is a huge new feature – and is yet another massive productivity / usability improvement that if you’re not on Lightning, you’re missing out on.In a nutshell, this allows you to create page layouts that have dynamic fields, sections of fields, and actions based on data within the page layout. This is especially useful in Service Cloud, as certain types of Cases or Case Categories might require additional data to be collected. A great example is if a customer is looking to return their product. If the issue is the size was wrong or they picked the wrong color type of reason, there’s no additional information needed, so why present more fields? However, if the reason is that the product was defective or delivered damaged, that might lead to additional questions to identify what happened and track the issue down. This really is aimed at those page layouts that support processes that simply have a lot of fields. For the most part, all of those fields aren’t needed all of the time. A lot of them are conditional based on other values within that record. In some instances, fields are needed for an entirely different business process so record types are the answer, but you don’t want record types for sub-processes or clusters of additional information fields. The other option for this was creating flows to guide a user, but that is definitely a heavier lift than dynamic forms and actions.The administration of this is pretty slick, too. You can set the conditional filtering right at the field’s page layout properties (the same place you set if it’s required or read only), but to make it even easier you can create an entire section of fields and set the dynamic filters for the whole section. In addition to fields, you can also do this with actions and make them conditional as well. For quick actions, this actually includes the Submit for Approval button – which is definitely a powerful use case. Now instead of having to create insane validation rules to ensure someone isn’t submitting something for approval before all the information needed is complete, just hide the quick action until it’s all set. For both of these, you do need to do an upgrade on your Lightning pages to enable this for existing pages, but net new pages have this capability automatically.
Now, what is available for Winter 21 is a little confusing. The dynamic layouts functionality is GA – which lets you set the field visibility on the page layouts. The quick action is where things split a bit. Quick actions for custom objects are GA and for standard objects, it is in beta for desktop users. For the mobile experience, quick actions are beta for quick actions no matter what object type (they actually don’t mention mobile at all for the page layouts, so my assumption is this works in mobile and is GA). This is super cool and we’ve been hearing about Salesforce moving this way since Lightning rolled out, so it’s exciting to see it finally here. That said – expect your users to want more of this, so once you roll this out, get ready for more and more requests. In general, though this completely changes how we build page layouts and present information to our users.
- Prebuilt “Stuff” – Looks like a big theme for Service Cloud in Winter 21 is providing jumpstarts for various features by providing prebuilt functionality. Part of this is tied to a Service Cloud assistant that guides admins through the setup of a new Service Cloud instance so you can stand it up quicker than ever, but even outside of that, we now get prebuilt Macros, Quicktext, and Flows for common use cases. On the flow side, the prebuilt flows act as starting points for agents to create a case, reset a user’s password, and verify someone’s identity. Obviously these can be built upon and tailored for your needs, but these are great starting points. The macros have prebuilt ones to close and escalate cases as well as one to mass email customers to request additional information. Finally, the Quicktext has a bunch of different dialogs that are already set up for you. All of this is great for new customers. For existing customers, I’m not sure if these actually just drop right into your instance as you might already have these types of flows, macros and quicktext dialogs built out and wouldn’t want these more generic ones suddenly appearing to your agents. I’m assuming you need to make them available, but it’s worth checking on.
- Service Cloud Voice Enhancements – Winter 21 is a big release for the new Service Cloud Voice. Since this is a really powerful new product and there are a lot of updates, we’re going to write up a post dedicated to it and cover the changes there. In the meantime, if you want to see it in action, check out the recording from our Service Cloud Voice webinar. We just did this a couple of weeks ago with our Amazon Connect partner Symbee and we go into a lot of detail on what Service Cloud Voice is, followed by a live demonstration. It’s worth checking out, and the Service Cloud Voice blog will be our next one so keep your eyes out for it.
- Einstein Bots Features – Now you can set up your Einstein Bots even quicker with a new Guided Setup and pre-built bot templates. The guided help will walk you through the steps to create your bots, and the first step is ‘do you want to start from scratch or use one of the templates?’ With this first release of the pre-built templates, we get four actions to leverage: create a case, create a lead, create a case comment, and lookup an order. These templates will be a big help as Salesforce is doing the heavy lifting on common tasks versus everyone needing to figure this out on their own. More interesting is, this is probably just the beginning and it’ll be nice to see this library of templates expanded.In addition to the new guided setup, Einstein Bots also has a bunch of new features. First up is a super useful one called the Input Recommender. In a nutshell, you can put in intents that you are trying to model, and it will automatically generate a host of recommended utterances based on your chat history. This is insanely helpful to hone your models and get a head start on your intents. Normally you’d find this by reviewing transcripts yourself and build it up over time. One thing to note is to use this you must have at least 10,000 chat transcripts already within your instance. I guess a second thing to note is that this is a beta – but still have at it. If it returns some wrong utterances, just don’t use them, but for the value from all of the other work it’s doing, it is definitely worth dealing with a few false entries while in beta. A second new feature allows you to give new permissions to users to manage and train your bots. We now have a Manage Bots and a Manage Bots Training Data permission option that you can grant to users. This lets you get some help building out these bots and training them without having to give away a ton of admin access.
Next up, Einstein Bots went multilingual in Summer 20, and we get 3 additional languages to leverage in GA: Japanese, Chinese Traditional, and Chinese Simplified. Along with these 3, we also get Russian, Dutch, and Brazilian Portuguese in beta. The event logs have also been updated to show when a bot transfers to either an agent or to another bot. It also now displays any rule elements with conditions as a unique event. These event logs are crucial to continually honing your bots, so love seeing the continued granularity Salesforce is adding here. Finally, for folks that are interacting with Einstein Bots leveraging a screen reader, a new condensed summary of options is presented. This makes screen readers automatically responsive and officially makes the bots experience accessible. Just as a reminder, we just recently did a webinar showing off Einstein Bots as part of our Service Cloud Lunch & Learn Series. It doesn’t include these new features obviously, but it’s worth checking out.
- Salesforce Surveys Enhancements – Salesforce Surveys were one of the big focus areas in Summer 20 and received a ton of new features. Well, with Winter 21 it’s more of the same and we get a slew of brand new enhancements on top of the Summer 20 ones. First up is a slick one – the ability to send your recipients through different page paths depending on the data in the records that initiated the survey. For example, say that the Case that is responsible for the survey being sent was a P1 level case – you can now have a survey page with questions specific to P1 scenarios where you might have more generic questions around a P5 case. A great way to get more relevant and specific survey data versus having the same general questions for all Case types. It’s also a good way to avoid having to build multiple surveys and rules around sending your surveys, as you can use this logic to do this all within one survey.For the next feature, you can now personalize your survey questions within the email invitation with the use of merge fields. Instead of asking someone to fill out a generic survey, you can specify the details for the survey to help increase your response rate. Another great new feature is the addition of Template Surveys (why wouldn’t this be Survey Templates and not Template Surveys?). Just like you have email templates, template surveys allow you to leverage pre-built surveys as a starting point for new ones. What’s cool is that you can even distribute these across other orgs – so there might be an opportunity to find some really cool template surveys out there that do a great job with things like Case surveys or NPS surveys. Finally, we get some changes to the invitation email sending functionality. We get the ability to send a survey invite up to 300 participants at a time leveraging a new Connect Rest API. This also allows you to associate the SurveySubject object records to the invitation as well. One thing to note here is that even though we can now send to more people, the survey invites now count towards your total daily email limits. Definitely keep that in mind as you don’t want your survey invites taking up the email volume from Sales and Service. Tied to the email sending, the survey invitations now also respect email opt-out preferences. Contacts and Leads that are flagged using the standard opt-out fields, will automatically not be sent survey invites. As a reminder, with Service Cloud you get 1,000 Survey responses for free, but beyond that you need to purchase more based on response volume.With surveying being such an important part of customer service, we will be hosting a webinar focused on Salesforce Surveys on Wednesday, September 23rd 1:00EST / 10:00PST. We’ll be showing a live demonstration of Salesforce Surveys and all of the updates from Summer 20. We’ll be talking about the Winter 21 new features above as well. To sign-up, please register here: Salesforce Surveys Webinar
- Einstein Case Classification Updates – Einstein Case Classifications gets faster in Winter 21 and this is a feature where speed really matters. If you’re going to try to make your agents’ lives easier by pre-filling in their categorization fields with suggested values, it needs to be faster than it would be for them to do it themselves. Definitely good to see. In addition to this, in instances where the classification isn’t able to update the Case, we now get an error code added to the platform events to explain why not. Before this was a bit of a black box. Reasons include “entity_locked” when the case is locked due to an approval process, “no_access” when Einstein doesn’t have access to the Case, “validation_rule” when the update causes a validation rule violation, and “other” for all other reasons. Finally, we get a tweak around dependent picklist fields. If you want the model to predict a dependent field, but not the controlling field, this is now possible. Previously, it needed both included in the model. As a reminder, you get one free Case Classification model with Service Cloud, so this is definitely worth experimenting with. A great way to get some AI into your case process. Also, this works in Classic as well (although, you can only set it up in Lightning).
Field Service & Scheduling
Field Service Lightning is officially renamed to Field Service. Obviously this doesn’t impact the product in any way, but it does mess with our internal FSL acronym. Time to rename everything…
- Street Level Routing – This is a big enhancement and one that a lot of our customers will want to immediately activate. Estimating travel times between appointments is a key need for any company with a mobile workforce that is being dispatched, as it’s a huge part of figuring out how many appointments you can fit in a day for a worker. Previously, the map routing for Field Service was based on “as the crow flies” type logic which really is setting the time based on a straight line from Point A to Point B. Most of the time this is good enough, but the reality is, your workforce isn’t driving in a straight line. Especially as you get more and more rural, the route to actually drive between two points might be drastically different than a straight line – like that mountain is sort of in the way, so you need to go around it. Street level routing takes the actual route a driver would take, and even takes into account the speed limits along the way, so this lets you get a much more accurate time calculation of what it will take to get from point A to point B. One thing to note is this is your basic street level routing – like what Google Maps or Waze would use without the traffic adjustments – it’s not a commercial level routing that takes into things like hazardous wastes or whether your truck is allowed on a certain road. Overall though, this is a terrific new feature that just needs to be flicked on to be activated.
- Optimize Scheduling using Work Priorities – A powerful new addition to the optimization logic allows you to create a priority field onto your Service Appointment that can then be used for the optimization calculations. For example, if you have emergency repairs or deliveries that absolutely must be done, those should rank higher than something like preventative maintenance appointments. By default, the priorities range from 1 – 10 (1 being the most critical) but if you’re really granular with your priorities you can even make this go from 1 – 100. The optimizer will then take these priorities into account when trying to figure out the best mix of appointments to dispatch. If you’re a company that is continually at or over capacity, this is a much-needed feature.
- Advanced Recurrence for Preventative Maintenance Plans – Winter 21 delivers a big enhancement to the Preventative Maintenance functionality by adding the ability to build out complex recurring schedules – even on the same asset. An asset might have the need for different maintenance plans being performed and at completely different times. Take something like an elevator. You might have monthly maintenance that is done to make sure the elevator keeps running smoothly, but then you might have a quarterly maintenance that is much more intense that gets the elevator prepped for its inspection. With this new feature, you can set up multiple schedules for the same asset and each schedule can have its own recurrence schedule. In addition, you can control what happens when these schedules overlap. With the example above, when the technician is doing the super thorough maintenance prep, they don’t also need to do the basic monthly steps as they are already part of the thorough maintenance. In those cases, when they overlap, you can determine which wins so you only have 1 work order instead of two. For now this functionality is in beta, but if you have multiple layers of preventative maintenance plans, this is worth activating in your sandbox and starting to build out and understand. This kind of flexibility not only drives efficiency to make sure you’re not duplicating site visits, but it’s typically revenue generating as you usually charge for these visits. Now you can ensure these visits happen and you can maximize your preventative maintenance revenue.
- New Health Check Tests – We get two new tests to the scheduling Health Checks – both of which are very handy. First is a test that will detect any service territories that you’ve created that lacks resources with the skills needed for the appointments within that territory. Basically, these are Work Orders that will never be able to be scheduled because no one fits the bill. These tests will let you know and then you can find resources from another territory or find the next best option. The second test will find any service appointments that have an arrival window scheduled after the appointment’s due date. At a minimum, you’re going to want to notify the customer for these appointments that the due date will be missed, but most likely, this might force you to re-shuffle some appointments to get these done in time.
- Time Sheet Updates – Time Sheets have been getting improved each release for about a year now, and they really are critical to allowing your mobile workers to log the time spent on a job or on the road. Logging time is one thing, but normally you need those time entries grouped up into a time sheet so that it can be submitted for payroll, expenses or even invoicing. The first improvement is the field service mobile app now automatically captures the time zone of where the work occurred. This is super important for when your worker is actually crossing a time zone as part of their travel. They may punch in from EST but be at a job within CST. Second, workers can now submit time sheets from the past and make corrections on them directly from field service mobile. Previously, you needed to go into the desktop version to do this. Finally, on the management side, managers can now create time sheet templates so that the time sheets are consistent depending on the type of worker – for example, internal employees might require a different format than 3rd party contractors do. From these templates, managers can create, review, and even take action on these time sheets. With this, the time sheets are really functional and you can build them pretty much however you need to track time.
- Record Product Warranties – Last but not least on the Field Service side is the ability to give your mobile workers access to warranty data on your customer’s products. This is pretty important for repair situations where the field technician is trying to determine if they need to charge for work being done on the product. If it’s under warranty, typically you’d repair it at no cost, whereas if it’s not under warranty, you might need to get approval to work on it from the customer before you start incurring costs. It’s not 100% clear how this works – but the release notes call out that these are “record details” and you can add extended warranty information in addition to the standard warranty implying that would be an additional record associated with the same asset. If so, that’s terrific and this is great to see standard warranty objects. I’d love to see this available on the Service Cloud side though as well as agents need this information as much as field technicians. Hopefully this warranty object (assuming it’s an object) is part of the broader service cloud offering and available. If so, lots of good potential here.
- Lightning Scheduler Syncing with External Calendars – Lightning Scheduler gets a prebuilt Platform Event function and an apex class to allow organizations to build their own sync capabilities for events from Lightning Scheduler with external calendars. Enabling the Publish Appointments as Platform Events setting allows you to leverage APIs to send new, deleted, or updated events from Lightning Scheduler to any external calendar while a new apex function allows you to check availability from external calendars. Today in order to do this, you’re pretty reliant on outside calendar sync tools – while this allows you to build this on your own and really take control of what is happening. Especially when trying to schedule and check the availability of schedules in real-time, these sync tools can be lacking and this allows you to build a robust connection. Really useful functionality, but one you definitely need a developer to take advantage of.
- Embed Schedule Flows into a Record – Currently, when you launch a scheduler flow it’s automatically launched in a new window. Now, you can do that right from within a record so that you don’t lose visibility into those record details. In general, it’s also a better user experience to keep them within the same window, so this is nice to see. I’m assuming this also applies to flows within your Community, but the release notes don’t call that out specifically.
- Leverage Custom Scheduling Policies – You can now create one or multiple custom scheduling policies and then assign them to your specific scheduling flows. These policies can be applied dynamically to the same flow based on what a user selects or fills in. For example, if they say this is a high priority / emergency need, you can use a different policy then one where they select it’s a medium priority. This gives you a ton more flexibility in building out how your scheduling works. Previously, you had to use a default scheduling policy for all of your flows or you had to leverage API calls to use a custom policy which made it a huge heavier lift. Great to see.
Well, that’s a lot – and it doesn’t even break down all of the new features for Service Cloud Voice that we’ll be writing about separately. These blogs just get longer and longer – but tough to complain about getting more stuff. I guess I’ll complain when I have the blog that’s super short and nothing to write about – which I doubt will happen. Really excited about a lot of these features – especially the new email to case, some of the AI enhancements, and soooo much potential from the dynamic forms. As always, feel free to contact us if you have any questions or would like help implementing any of these new features. We’ll get right back to you and would be happy to help. Thanks again for reading, and Service Cloud Voice will be next!