Spring ’21 Release – Top 10

With the Spring ’21 release comes a new format for Release Notes, along with the new features we’ve come to expect. Here are the top 10 changes that jumped out at me – my bias is towards Platform/’Customization’, Service and CPQ/Billing (now Revenue Cloud) as you’ll see. As with Winter ’21, Flows team has again found a way to keep up their torrid pace, all while making the feature headlines with Einstein Automate – more to come in Summer ’21.

Preparation notes from Salesforce.

A few community contributors have provided initial reviews- these are a couple I would recommend:

AccidentalCoder / Vibhor Goel: https://www.accidentalcodersf.com/2020/12/salesforce-spring-21-release-latest-flow-features.html

Paul Carass on LinkedIn with a cool demo of Multi-Column Screen in Flow: https://www.linkedin.com/posts/paul-carass_spring21-salesforce-salesforceflow-activity-6745433873317978112-8wNA

+1. SOQL – FIELDS() Function

Very interesting change here in that SOQL query now allows FIELDS() function to be used to return ALL, STANDARD or CUSTOM fields in your query without explicitly listing out the api names. This will be very useful in building queries by finally allowing * selection. It is kind of buried in the notes, but I expect to see more on this from the developer community going forward.

10. Flow Builder – Control Revisited Screen Values

This change should probably be higher, but starting things off with a bang. Few things are more frustrating to a user than having to enter or overwrite information multiple times, especially when navigating through screen flows. This new control feature allows control by component over whether values should be ‘sticky’ when returning/advancing to its screen, or whether they should refresh based on values entered on other screens.

9. Salesforce Field Service – Product Campaigns

An interesting change here for Field Service that I’m excited to check out in more detail is Product Campaigns. For those of you in the service world, especially around regulated industries, you’re familiar with all the scenarios around mandatory upgrades, preventive maintenance, recalls, and the like. Product Campaigns allow a standard way to bucket and track Work Orders and Return Orders that are used to execute those broad actions, which previously would have to be tracked custom. More details to come here in the future for sure.

8. Flow Builder – Send Rich Text Email

Rich-Text Email can now be sent from the Send Email action. So in any field in the Flow where you have Rich Text can be put to the Body in the action, or a Text Template can be used to provide the input. This update begins to build in some of the great features of Send Better Email. Rich Text Input LWC for Flow Screens would also be helpful in forming that email body.

7. Custom Metadata – Accessible via Static Methods

Custom Metadata Type records no longer have to be queried starting with Spring ’21, but rather can be accessed through static methods. They had some exceptions with regard to soql limits already, so it isn’t a huge impact there, but this makes working with custom metadata in line in Apex simpler and easier to read.

List<Games__mdt> mcs = Games__mdt.getall().values();
boolean textField = null;
if (mcs[0].GameType__c == 'PC') {
   textField = true;
system.assertEquals(textField, true);

6. Salesforce Field Service Mobile – Double Trouble

No, ‘Double Trouble’ isn’t a feature – I’m just combining two improvements here as they are closely related. SFS Mobile now offers a configurable notification service to send texts to customers with anticipated arrival information for appointments.

Additionally, quick Status Change is available, which allows presentation of a Flow from the mobile Quick Actions menu to allow Engineers to easily update the Status of their appointment (Arrived, Completed, etc.). This can be paired with the notification to keep customers in the know on the appointment. I’m sure to be expanding on some solutions around this so will provide future details down the road.

5. Salesforce Field Service Mobile – Briefcase Builder

I previously gave an overview of the Briefcase Builder tool based on using it during the Pilot phase. It is now in beta and ready for everyone to check out. Without rehashing what I covered in the linked article, the Briefcase gives you more control over what qualifies for sync to mobile device for offline use.

4. Revenue Cloud – Salesforce CPQ Contract & Amendment Changes

Another twofer here. Amending Contracts for CPQ was previously a somewhat painful process in that the tool is doing a lot of heavy lifting and so takes a long time…AND you had to stay on screen while it was running. A new setting will now be given to allow this to process in the background instead, which will improve user experience and options.

Additionally, the Contracting process for large Orders was improved to both support more Order Products to be converted (to Asset/Subscription/Contract Line Item), but also to do so in less time. This will be a welcome change for orgs with larger Orders especially.

3. Flow Builder – Time Based Workflow

One of the features preventing Flow from completely replacing Process Builder was the time-based workflow piece offered by Process Builder. With Spring ’21, Flow introduces the ability to take delayed actions, which is a big improvement in terms of orchestrating processes. In this new feature, separate paths can be set up for immediate and delayed actions. Any delayed action will show in Time-Based Workflow under Setup for easy monitoring.

2. Flow Builder – Prior Value Availability

Another one of the gaps in Flow prior to this release was the ability to compare current record values to the value immediately preceding the triggering change. No more in Spring ’21! PRIORVALUE was available in Process Builder and obviously in triggers via Trigger.oldMap. Importantly for declarative-only outfits, this was one of the last features where Process Builder would have been favored over Flow. The new Flow prior value is accessed using $Record__Prior instead of $Record in the record triggered flow.

({$!Record.Amount} - {!$Record__Prior.Amount}) / {!Record__Prior.Amount}

1. Flow Builder – Multicolumn Screens

The ability to add multiple columns on a Flow screen is a major improvement in terms of allowing Flow to be a viable replacement for LWC in more scenarios. Previously the limited display options for fields were a major limitation when designing complex screens, and would often be a reason to build LWC instead.

Thanks for reading, and hopefully this gets you excited for Spring ’21 !

Leave a Reply

Your email address will not be published. Required fields are marked *