Summer is just around the corner, so as you already know, it’s time for a new release! Salesforce brought us some really powerful features in the Summer’21 release. The improvement of record-triggered flows, or the end of the Salesforce font, are some of the hot news to discover. I’m telling you everything about the Salesforce Summer’21 release in this article. Are you ready for it?
Here’s what you can find along this article:
Salesforce Summer’21 Sandboxes
Salesforce Summer’21 Lightning Components
Salesforce Summer’21 Lightning App Builder
Salesforce Summer’21 Lightning Design System
Salesforce Summer’21 Sandboxes:
1. Secure more Data Types using Data Mask
You can now use Data Mask to secure more data types in a sandbox. This was something already improved in the Summer’2020 release.
Data Mask is a package that System Administrator users can install or update in a production org. You can automatically mask the data when creating any full or partial sandbox from the production org, allowing you to mask Personally Identifiable Information (PII) or sales revenue data in sandboxes.
Data Mask is available for Work.com, Sales Cloud, Service Cloud, Salesforce’s Industry products, AppExchange applications, or platform customizations.
You can set up different levels of masking, regarding data’s relevance, sensitivity, and privacy.
- Replace private data with random characters, in your sandboxes.
- Change private data with similarly mapped words.
- Replace private data using pattern-based masking.
- Delete sensitive data.
Previously, you couldn’t mask Boolean checkbox data but this is now possible with the Summer’21 release!
Furthermore, enhanced masking rules ensure that User.username field in the user object has always a unique mask. The supported API version is now V50.0.
Salesforce Summer’21 Lightning Components:
1. Create Styling Hooks for Lightning Web Components
CSS custom properties make any code easier to read and to update. You can use custom properties to expose styling hooks for your custom component.
Whenever users need to change a component’s style, they just need to set values for the styling hooks without knowing exactly how to implement it.
If you want to define a CSS custom property, all you need to do is prefix the property with —, and then insert the value of this property, user var().
For example, these CSS custom properties create a light and a dark theme, for background and text color. You can pass a fallback value as an optional second parameter to var().
You can also change the component’s theme colors by simply changing the values of the styling hooks.
2. Create Quick Actions with Lightning Web Components
Quick actions save you time and clicks!
Before the Summer’21 release, Quick Actions could already invoke Lightning Components, but now they can also invoke Lightning Web Components! This new configuration makes all Lightning Web Components’ functionalities accessible through an Action.
To set up a Lightning Web Component as a quick action at the record page, define the metadata in <component>.js-meta.xml. Then define a lightning_RecordAction target and specify actionType as:
- ScreenAction, if you want a screen action that opens in a window
- Or Action for a headless action that executes when clicked.
Check here how to configure a headless action.
To use a headless action, add an exposed invoke() method to your component.
Note that only record pages support LWC quick actions.
Salesforce Summer’21 Lightning App Builder:
1. Create a Dynamic Actions Bar for Your App Page
You can now access different actions in a dynamic bar, by customizing the bar using standard or custom global actions. Also, you can set the visibility for the entire bar.
In the Lightning App Builder, drag the Dynamic Actions Bar component (1) to add it to a region on your page (2). The order of actions in the properties pane (3) determines the order it shows in Dynamic Actions Bar. On the rigth side bar, click Add Action (4) to add actions to the Dynamic Actions Bar or Add Filter (5) to set visibility filters for the Dynamic Actions Bar component. Click on Save and check the page to see the result.
Salesforce Summer’21 Flow:
1. Find Failed Flows Faster
Remember when you had to click a link in a flow error e-mail to start debugging a failed flow interview? Now you can skip your inbox and go straight to the Failed Flow Interviews. It’s so much easier – just one single place displays all the failed flows.
In setup, Paused Flow Interviews are now Paused an Failed Flow Interviews. It includes list views for any paused or failed flow interviews. For failed flow interviews, the status is always Error.
In the Flow Builder, from the Failed Flow Interviews list view, you can open available and saved flow types.
- Screen flows
- Record-triggered flows
- Schedule-triggered flows
- Not triggered Auto launched flows
2. Debug a Flow to See When Transactions Are Committed
With Salesforce Summer’21 release you can check to debug details for committed transactions or rolled back ones in schedule-triggered flows, or auto launched flows that have no triggers. Before, when you did transactions during the debug run you couldn’t check them while debugging the flow.
If a flow fails, you can now debug the flow – you can check the database’s saved record changes via commited transactions before the failure, by performing the following steps:
Record-triggered flows and flows in general are getting a lot of attention from Salesforce, with great enhancements in every release!
3. Use ISCHANGED, ISNEW and PRIORVALUE in Record-Triggered Flow Formulas
Record-triggered flows for new and updated records can now support formula functions such as ISCHANGED, ISNEW, or PRIORVALUE. These formula functions aren’t available in triggered flows when you delete a record.
When using ISCHANGED and PRIORVALUE formulas in record-triggered flows, use the $Record global variable instead of the object. For example, use ISCHANGED($Record.x) instead of ISCHANGED(account.x).
4. Use Is Changed operator in Condition Logic for Start Elements and Decision Elements
You can now use the ISCHANGED operator for start elements and decision elements in a record-triggered flow. The ISCHANGED operator allows you to complete certain actions that only occur when a value changes. Be aware once you create or delete records, the operator isn’t available for triggered flows.
5. Debug Record-Triggered Flows
Until now, to test a Record Triggered Flow, you had to create or update a record. With the Salesforce Summer’21 release, you can choose a record and start a debug run for all your record-trigger flows that have before-save and after-save updates.
To do this click Debug to see the debug options:
- Skip start condition requirements option allows executing the flow, even if the selected record for the debug run doesn’t meet the condition requirements that are specified in the start element.
- Under Triggering Record, you can choose a record for the debug run, which triggers the flow as if the record is created, updated, or deleted.
- To run the flow as if the record is option, you can choose either to run the flow as if the record is created or updated. The debug run behavior is different for the Created and Updated option. Depending on the record-triggered flow, you can use the ISCHANGED formula function or the formula that uses a prior record global variable.
- If you use the ISCHANGED formula function and run the flow as a created record, it always returns True. If you use it and run the flow as if the record is updated, it will return False.
- When you use a formula function that uses a prior record global variable and runs the flow as if the record is created, the return value will be Null. However, the return value when you update the record is the same value as the current one used in the debug run.
Salesforce Summer’21 Lightning Design System
1. Default Font Is System UI Font
Salesforce Sans doesn’t exist anymore. Now, SLDS design tokens use the native sans-serif font that the operating system’s UI provides by default.
So, there you have it! Those are my favorite features that Salesforce Summer’21 release is bringing for developers. I hope this article was useful for you. For more valuable content on Salesforce development, subscribe us!