My Favorite Things in the Salesforce Spring 20 Release

I usually start these posts with a quip about the weather. Instead here’s a quote I read in this week’s New Yorker, “Horticulturists have a mantra: right plant, right place.” Now that we have the pleasantries out of the way, let’s jump into the fun stuff. I can say without hyperbole that this is the best Salesforce release of the year.


The Lightning experience is here to stay. We’ve been sounding the klaxon on this for a while. You’ll still have access to classic, but the default user experience will be determined by when you were provisioned in the org. If you’re a new user, lightning will be the default user experience. Current user, you’ll default to classic.

To ensure that your org has good adoption, the docked prompts can now play videos.

Speaking of adoption, if you want to try out new features and functionality in your environment before they’re GA, use the Lightning Extension in Chrome.

I’m surprised that the App Launcher got a revamp. It looks very svelte now. But if you like the larger tiles that’s still available by clicking View All at the bottom of the App Launcher.




Einstein Voice Assistant is finally GA and can be assigned to any user. To do this, build a skill in Setup, and then associate the skill to a user’s profile. For example, Log a Call is assigned to the Sales Profile.

Einstein is so smart, he’s lowered the threshold for insights and scores, but he’s still working on lowering the speed of light. Now insights and scores require only 400 closed opportunities in six months, and half of those should be closed won.

Speaking of scores, everyone now gets opportunity scores. All it requires is the Sales Cloud Einstein for Everyone permission set.

One more thing about Einstein, prediction builder is now free. You can build out 10 predictions, and can deploy one for free.


Cloning in Salesforce has been around for a minute, but now you can clone a record and all their related records. Right now it only works with opportunities and campaigns, but it’s a massive addition to the platform.

Because I work primarily with manufacturers and distributors, this gets into an existential question: should recurring revenue be captured in opportunities or sales agreements. Opportunities to me represent pipeline, which when closed convert into orders. Sales Agreements can be outside of pipeline, and are only recognized when orders are placed. That being said, organizations can benefit from using both opportunities and sales agreements. And no matter how you use opportunities, this cloning feature is pretty incredible.


Relative Date Filters Be Everywhere! Thanks to Einstein Search, you can now have relative date filters everywhere. All this requires is the Einstein Search Permission Set License.

Lightning Scheduler

Unauthenticated users can now self-service.

Pass Values to a New Record

I’m surprised this wasn’t already possible, but this is pretty slick. You can now have a button pass in values when creating a new record.

    CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true, false)}

Product Filters

I believe it was Biggie who said, “Mo SKUs, Mo Problems.” Now with product filters, you can easily find the product you’re looking for.


Reports and Dashboards

When building out a report, you can now turn off automatic updates. This takes some getting used to, but I understand that this is to help making building reports faster.


I ran into a former coworker the other day who’s a CMS wizard with Sitecore, EpiServer, and Kentico. I asked if he can explain to me in plain English what a headless CMS is. He said that it allows you to author in any system and then have it presented in any system via APIs.

What does this mean? I used to do a lot of work with Angular, and Angular would make the content authoring experience SNAFU. Headless CMS allows you to write in a rich experience and then let the CMS be the presentation layer. Technically this is not a new concept, and I feel it’s just mark-a-techture. Even in our release notes we oscillate between calling it “headless” and “hybrid.” Regardless, there’s a bunch of stuff in this release.

High Velocity Sales

I’ve been showing more HVS to customers and I feel that the updates in this release, and what they showed at Dreamforce, reflect our continued focus on this product to help inside sales teams stay in touch with their customers.

Five words for you: branching based on email engagement.


Now in your cadences, you can have steps based on what a recipient does with an email. This brings some Pardot-like functionality to HVS. This also extends to automated email sends too.

There’s also some other new functionality where you can schedule emails – just like Inbox, and you can also move the cadence along without VOIP/Telephony integration.


Manufacturers work in a matrix environment. There’s lots of collaboration on any opportunity and project. Now with Spring 20, you can assign tasks to work queues.

Do you ever feel that the activity feed is overwhelming? Me too. I think it’s overwhelming, but I often have to go activity to activity to see the whole email thread. Well those days are over; you can now see the whole conversation with email threading.


There are some changes on the horizon to our CPQ solution. To get you ready for said changes, the licenses are changing from Managed Package Licenses to Permission Set Licenses.



Want to spice up your lead and contact pages? Set up the Engagement History Dashboards and get some better marketing insights.


There’s a bunch of new things in Service Cloud, so sit tight.

Case Merge is finally here. It just needs to be enabled in setup.

Remember when The Rock wrestled and he’d say, “Finally The Rock has come back to <Insert City Name Here>”? I feel that’s what Bulk Macros are saying. Bulk Macros are available in classic, but now are in lightning. Stop being a jabroni and start using them! Speaking of macros, the execution of them is no longer client-side; they’ll execute server side now which means they’ll be more performant.

Knowledge can now be augmented with Einstein to provide recommendations. This requires a permission set.

If you’re using chat, Einstein can provide recommendations so you can respond faster. This requires 1,000 closed chats to work. Around this topic, you can now send conditional messages in chat bots. Did your conditional message fail? Now you can know with granular bot logs so it’s easier to find the point of failure.

Field Service Lightning

Want confidence that the data is up to sync when you’re working offline? Now you can be very confident.


Next Best Action is now available on any object. And if it is rejected, it can launch a flow to know why.


Ever look at your dataflows and recipes and just think it’s spaghetti? With Data Catalog, you’ll have some tools at your disposal to help find the end of the noodle, I mean object or dataset, that you’re looking for.

Speaking of datasets, if you want up to the moment Salesforce data, you can now leverage direct data.

It wouldn’t be a release if something didn’t get renamed. Bindings are now interactions. And Interactions are now “easier” to build. I’m stoked that you can now build reference lines without code. You also can now have source control on your dashboards, which allows you to review, test, and edit a dashboard while keeping the current version live.

And thank the maker, Analytics dashboards are now available natively in the Salesforce app.


Einstein Discovery can now use external data. This is good for customers who may not have true or robust integration to Salesforce from external systems.

Want to know what could happen? Discovery’s interface is significantly revamped and now allows you to get prediction scores interactively.

Lastly, you can now see the key drivers before creating a story. This is one of those subtle things that we update where you wonder, “how did we do this without this?”


Users in communities can now build reports. Note this isn’t available in all communities, but this is really exciting.


My coworker keeps saying that the future is Flow, and based on the volume of updates each release, I’m more inclined to believe him. Why? The release notes say themselves to use Flow over Process Builder because the save operation is 10x faster for an update record action.

Flow can now get all the fields. This is neat, but as someone who wrote a lot of PowerShell scripts to do this stuff, I still feel it’s more performant to get the fields that you want. But this way you have all the fields and if you’re significantly downstream in a Flow, you don’t need to update a bunch of stuff to create a new variable at the beginning.

I just wrote “PowerShell” for the first time in a while and I still miss writing PowerShell scripts because they could do anything especially when you run as an admin. Now Flow can get Admin rights, but will still respect permissions.

Manufacturing Cloud

I’m saving the best for last. You can now build out custom account forecast metrics. Products can be added at the account forecast page with one click, even if they’re not associated with a sales agreement. And lastly, you can mass update values in a sales agreement and account forecasts.