Salesforce Summer 21 Release Review

Things are looking brighter here. I received my 2nd vaccine dose recently, the weather is getting warmer finally so we’re enjoying the outside more, and Salesforce is making things even better with their upcoming Summer 21 Release. Here’s my list of noteworthy features. Checkout the 584 page PDF for all the details.

The release had numerous Tableau CRM updates and numerous Flow updates. Flows keep getting enhanced which is awesome. One can do more and more declarative automation with it. The order in which content was shown was different in the PDF. All the “platform” items were first followed by the Products which is perfect because “platform” items are my focus.

Let me know what you think of the release in the comments below.

Browse, Buy, and Manage Your Products with the Your Account App (Generally
Available)

Add products and licenses, manage your contracts, and get account support right in Salesforce with the new Your Account app.

Where: This change applies to Lightning Experience in Professional, Enterprise, Performance, and Unlimited editions.

Who: Admins with Manage Billing permission can turn on the Your Account app.

Why: With the Your Account app you can:

• Add seats and licenses to your subscriptions.

• Browse the catalog of available add-ons.

• See your products and the current and past contracts.

• Log a support case.

• Contact Sales for more product information.

• Navigate to Salesforce Checkout to view and pay your invoices.

Summer 21 Release Notes PDF

This is a nice self-service option that reduces involvement with your AE for common items.

Power Up Recently Viewed Lists with Customizable Actions

Now you can add custom actions to your Recently Viewed lists. To be consistent with other list views, Recently Viewed lists now show the actions added to an object’s list view search layout. Some actions, such as Printable View, aren’t available on Recently Viewed lists. This feature was originally available in Spring ’21, then temporarily removed. It’s rereleased now with performance improvements and the option to disable custom actions.

Where: This change applies to Lightning Experience in all editions.

How: This feature is automatically available, but if you don’t want your users to create custom actions, an admin can disable it. From Setup, in the Quick Find box, enter User Interface, and then select User Interface. Select Turn off customizable Most Recently Used (MRU) actions, and click Save.

Summer 21 Release Notes PDF

I was wondering where that was. Glad they decided to rerelease this since this is very helpful for one-off quick automation.

Update Fields from the Report Run Page with Inline Editing (Beta)

Keep the data in your reports and object records up to date while saving time and clicks. When the source data for a report gets out of date, it’s not necessary to go back to the original object record to update the information. With inline editing, you can update certain types of text, numeric, and checkbox fields without leaving the Report Run page. For example, Sales reps can run an opportunity report and review and update the opportunity amounts in one place.

Where: These changes are available in Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer Editions.

How: First, contact Salesforce Customer Support and request to have inline editing turned on. Then in Setup, from Reports and Dashboards Settings, select Enable Inline Editing in Reports (Lightning Experience only), and save your changes.

Summer 21 Release Notes PDF

This is a very nice addition. Being able to correct text, numeric, and checkbox fields inline in a lightning report is very helpful. Hopefully in future releases, it supports more data types and mass inline editing.

Tableau CRM

Tableau CRM is the Analytic’s paid Add-On that used to be called Einstein Analytics. I haven’t used it, yet, but am wanting to more and more because it’s getting more enhanced with interesting features. For instance, one can now export enriched data back to Salesforce Objects so users without a Tableau CRM license can see they enriched data. They have connectors for various third-party systems and you can build your own “Data Pipelines” too. Also, “Use SQL with Tableau CRM Direct Data”. I never thought I’d see SQL instead of SOQL or SAQL being used but that is awesome! Latest Features.

Data Pipelines

This is Salesforce’s Extract-Transform-Load (ETL) tool available at an extra-cost. This is something I’m definitely learning more about. Draft Post created! Video

See Record Access Reasons in Lightning Experience

A user has access to a record, but why? Is it because of their role? Their territory? From a sharing rule? Now you can see why a user has the access they do, right from Record Sharing Hierarchy in Lightning Experience. Previously, you switched to Salesforce Classic to see this information. Sharing Hierarchy is now available on the action menu, not just in the Share window.

Where: This change applies to Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.

How: Select Sharing Hierarchy from the action menu on the record. Click View next to a user’s name. You see the record access the user has, and the reason for the access in the displayed table.

Summer 21 Release Notes PDF

Another nice-to-have that brings Lightning into parity with Classic.

Control Access to Sensitive Data with Restriction Rules (Beta)

Secure your data and boost productivity by permitting your users to see only the records necessary for their job function. Create restriction rules to control which subset of records you allow specified groups of users to see. Restriction rules are available for custom objects, contracts, tasks, and events. You can create and manage restriction rules via the Tooling and Metadata APIs. They provide another layer of access control on top of your existing sharing settings and let you configure truly private visibility.

Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.

Why: Without restriction rules, users with access to an account can see its contracts, tasks, and events, even when the organization-wide default is set to Private. For custom objects, users can see all detail records. Restriction rules let you configure truly private access for these objects.

How: For information on enabling this feature, contact Salesforce. You can create and modify restriction rules using the Tooling or Metadata API. See the Restriction Rules Developer Guide (Beta) for more information.

Summer 21 Release Notes PDF

It looks like one can further control record visibility on child objects like events, tasks, contracts and other objects for objects with a private sharing model. This provides even more granularity and is a welcome addition to the security offered. Another draft post created.

Set Expirations for Assignments on Permissions in Permission Sets and Permission
Set Groups (Beta)

When assigning users to a permission set or permission set group, select expiration dates that you specify. Control when a user’s permissions expire based on your business requirements.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Contact Manager, Professional, Group, Enterprise, Performance, Unlimited, Developer, and Database.com editions.

Why: Suppose a sales manager needs consultants to evaluate language used in sales contracts. You give the consultants access to the Contracts object and other permissions via a permission set group so that they can perform their work. The project has an end date, so you don’t want contractors to access sales contracts after that date. Set the expiration date and time zone for the permission set group when you assign it to users.

How: You can set an expiration date for a permission set or permission set group using the API.

To use the user interface with assignment expiration options for permission set groups, enable Permission Set Group Assignments with Expiration Dates (Beta) in User Management Settings. Then, when you assign users to a permission set group, select the expiration options that you want. You can also select no expiration date as an option.

Summer 21 Release Notes PDF

Another neat security option. Give users temporary access that automatically expires.

Create Quick Actions with Lightning Web Components

To save your users time and clicks, create a quick action that invokes a Lightning web component. On a record page, create a screen action that shows the component in a window, or create a headless action that executes with a click.

Where: This change applies to Lightning Experience desktop in Developer, Enterprise, Essentials, Professional, and Unlimited editions.

Why: Make the custom component that’s essential to your users’ workflow easier to access. For example, your users often upload receipts to records, so you create a custom lightning-file-upload component that prompts them to upload a .png file. This component works well, but requires users to open the object’s page to access it. If you define the component as a screen action, your users can click the quick action and upload the receipt in a pop-up window without leaving the page.

How: To set up a Lightning web component as a quick action on a record page, define the metadata in .js-meta.xml. Define a lightning__RecordAction target and specify actionType as ScreenAction for a screen action that opens in a window or Action for a headless action that executes when clicked.

Summer 21 Release Notes PDF

One can now use an LWC for a Lightning quick action on a record page! This is awesome! I’ve recently had to still use Aura components for this and kept wondering when this will be allowed.

Salesforce Functions: Extend Salesforce with Functions (Beta)

Salesforce Functions lets developers extend Salesforce with custom, elastically scalable business logic built with industry-standard programming languages and open-source components. Salesforce Functions reduces your infrastructure responsibilities, enabling you to build and integrate Functions-as-a-Service (FaaS) apps using the languages and tools of your choice.

This change applies to Lightning Experience, Salesforce Classic, and all versions of the mobile app in Professional, Performance, Unlimited, and Developer editions.

When: The Salesforce Functions beta is planning to open after the release of Salesforce Summer ’21. Look for further announcements and details on developer.salesforce.com and in the Salesforce Functions Trailblazer Community, or sign up to get notified when more details are available.

Why: A Function is your code, run on demand, in a Salesforce managed compute runtime. Use cases include complex business calculations batch processes, and resource-intensive automation tasks. Salesforce Functions are fully managed by the Salesforce Platform, which takes care of everything else necessary to invoke your code in a secure, auto-scaling environment.

How: Write JavaScript or Java code that uses Salesforce Functions SDKs to communicate with your org. Deploy your Function in the Salesforce Functions compute cloud with the Salesforce CLI. Then, invoke your Function using Apex, and the Salesforce Functions infrastructure authenticates and runs your Function on demand.

Summer 21 Release Notes PDF

This was stated as being available as Beta in the Spring 21 release but never came. This was announced 2 years ago as Evergreen and am excited to use it once the Beta is available. I hope the wait isn’t too much longer but can appreciate the engineering involved in making this a reality.

Build Multicolumn Screens in Flow Builder (Generally Available)

You can divide each flow screen into multiple sections and columns to create a visually appealing and effective layout—without touching a single line of code. The multicolumn screen layout is responsive, so columns stack vertically to fit on mobile phones. This feature, which is now generally available, includes changes since the beta release. The Section component is now supported in flows that get launched from Einstein Next Best Action and Actions & Recommendations components. Labels for components in sections are now supported in Translation Workbench.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. Multicolumn screens are supported only in Lightning runtime for flows.

How: In Flow Builder, use the Section component to easily arrange screen components into multiple columns. In this sample screen, a section contains three columns of equal width.

Summer 21 Release Notes PDF

Multi-column, Responsive Flow Screens is GA! That is awesome! Despite being a developer and an architect, I’ve been using Flows more and more lately for low-to-moderately complex automation and customization.

Use Is Changed in Condition Logic for Start Elements and Decision Elements

Use the new Is Changed operator in your condition logic for Start elements and Decision elements in record-triggered flows. With the Is Changed operator, you can define conditions that check whether certain field values on the record changed in the current transaction.

Summer 21 Release Notes PDF

This makes it easier to check if fields on an updated record were changed or not without having to use the “Prior Record” global variable.

Set a Default Value for Any Screen Component That Displays Choices

Want to set a default value for a choice component? Say goodbye to limitations or complicated workarounds when your component uses a picklist choice set or a record choice set. Now you can set a default value using any flow resource. Use a record query, an action, or another component. Or manually select a specific picklist value when you use a picklist choice set. Previously, you could only select a choice resource for the default value.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

Why: Say you use a screen flow to make it easier to ask users to update opportunity details. The user sets the opportunity’s stage, and you want the Stage picklist to preselect the opportunity record’s current stage. In the Stage picklist that appears on the screen, Closed Won is preselected.

More instructions on how to do this….

Summer 21 Release Notes PDF

About time doesn’t even begin to describe how long this has been needed! One of my most popular posts is Default Flow Picklist Value Without Duplicates In New Flow Builder so I’m glad that complicated workaround will no longer be needed!!

Sort and Limit Data in a Collection

Now you can use the Collection Sort element to prioritize and limit your collected data. You can also limit the remaining items in the collection variable after the sort. For example, you can sort a collection of user-chosen products by preference and pricing. You can also reduce a record collection variable to only the top 100 priority accounts, ensuring that the flow doesn’t hit the element limit when that collection variable is processed by a large loop. Previously, it wasn’t possible to reorder the values. It also was difficult to separate a collection variable’s highest or lowest values and to avoid hitting flow limits when looping through a large collection.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. The Collection Sort element is available only in flows that run in API version 50.0 and later.

How details…

Summer 21 Release Notes PDF

Little nice-to-haves that let one sort and limit the data in a collection. This will help with limits and make things easier.

Debug Record-Triggered Flows

In Flow Builder, you can easily set up how you want to debug a record-triggered flow. For all your record-trigger flows that make before-save and after-save updates, you can now choose a record and trigger a debug run. Previously, Flow Builder didn’t provide debugging for record-triggered flows.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

How: Click Debug to view the debug setup options

– Under Debug Options, the Skip start condition requirements option allows you to run the flow even if the record selected for the debug run doesn’t meet the condition requirements specified in the Start element.

– The Run flow as another user option allows the flow to execute actions or create, update, or delete records as a specified user.

– The Run flow as another user option allows the flow to execute actions or create, update, or delete records as a specified user

– The Run flow in rollback mode option is always enabled for debugging record-triggered flows so that you can run the flow without permanently changing the data in your Salesforce records. Any database changes that the interview makes are rolled back after the debug run ends. The debug run only executes the current flow and doesn’t run any other record-triggered automation.

– 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.

Summer 21 Release Notes PDF

This makes troubleshooting record-triggered flow much easier because you can run it as a particular user for a particular record and it automatically rolls back any record changes so they don’t persist. One can’t disable rollback though.

Find Failed Flows Faster

Skip your inbox and go straight to the new Failed Flow Interviews list view. Now, if your flows have failed interviews, you can find them all in one place. You can create a custom list view that includes paused and failed flow interviews. Previously, you clicked a link in a flow error email to start debugging a failed flow interview.

Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the mobile app in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

Why: To support dates for paused and failed flow interviews, the Paused Date column changed to Paused or Failed Date. The new Interview Status column shows whether the flow interview is paused or has failed. For failed flow interviews, the interview status is Error.

Failed flow interviews for these flow types are saved and available to open in Flow Builder from the Failed Flow Interviews list view.

– Screen flows

– Record-triggered flows

– Schedule-triggered flows

– Autolaunched flows that aren’t triggered

How: In Setup, Paused Flow Interviews changed to Paused and Failed Flow Interviews. The Setup page now includes list views for flow interviews that are paused or have failed. The list views include more list view controls such as Sharing Settings and Select Fields to Display.

Summer 21 Release Notes PDF

One can now monitor failed flows much more easily and be proactive in fixing them. I’m absolutely loving these enhancements!!

Accurately Measure the CPU Time Consumption of Flows and Processes (Previously Released
Update)

With this update enabled, Salesforce accurately measures, logs, and limits the CPU time consumed by all flows and processes. Previously, the CPU time consumed was occasionally incorrect or misattributed to other automation occurring later in the transaction, such as Apex triggers. Now you can properly identify performance bottlenecks that cause the maximum per-transaction CPU time consumption limit to be exceeded. Also, because CPU time is now accurately counted, flows and processes fail after executing the element, criteria node, or action that pushes a transaction over the CPU limit. We recommend testing all complex flows and processes, which are more likely to exceed this limit.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

When: This update is enforced in the Summer ’22 release. To get the major release upgrade date for your instance, go to Trust Status, search for your instance, and click the maintenance tab.

How: To apply this update, from Setup, in the Quick Find box, enter Release Updates, and select Release Updates. To get the Accurately Measure the CPU Time Consumption of Flows and Processes release update, follow the testing and activation steps.

Flows and processes fail if they cause a transaction to exceed the CPU time limit, and complex flows and processes are more likely to exceed this limit. To decrease the CPU time usage of a flow or process, reduce the number of elements, formulas, and cross-object references. You can check the debug logs to see how much CPU time is taken by each element, criteria node, and action.

Summer 21 Release Notes PDF

This is really nice. I’ve been on a Flow Performance Benchmarking kick lately and have been wanting to benchmark more individual flow operations like how long does a decision take to calculate or loops for example. Makes me wonder if debug logs will slow this down and if so, by how much.

Some of my Benchmark Posts: Salesforce Single Flow VS Multiple Flow Per Object With Start Criteria Benchmark & Salesforce Record Automation Benchmarking