Salesforce Release

Spring ’21 – Flow Enhancements


I was excited to test out these new Spring ’21 flow enhancements so I decided to share these with you sooner than my Spring ’21 Release Summary Highlights – stay tuned for that.

All features apply to both Lightning and Classic, unless otherwise noted.

Note: These features are not listed in any particular order.

1.Access prior values in before or after update record triggered flows using the $Record__Prior global variable! 


2. Ability to add a scheduled path to an after save record triggered flow. The scheduled path will run in system context. Configure the flow to run for updated records only when a record is updated to meet the condition requirements. You can monitor scheduled path in the Time-Based Workflow page in Setup. The scheduled paths will appear in the debug log events as FLOW_SCHEDULED_PATH_QUEUED and FLOW_VALUE_ASSIGNMENT.

ScheduledPathFlowView image full screen

3. Send a rich text email in the Send Email action in flow. Previously, you could only send plain text in a send email action. Set the Rich-Text-Formatted Body to true. Salesforce recommends referencing a text template resource in the email body.



4. (Beta) Build multi-column flow screens. The multicolumn layout is mobile responsive and you can use component visibility to determine whether a column should be displayed or not.

MultiColumnScreenView image full screen

Use component visibility to hide/display the multi-column section.

MultiColumnScreen-ComponentVisibilityView image full screen

5. You determine whether to keep the revisited screen Lightning components or refresh the component values. Go to Advanced and select the behavior under Revisited Screen Values.


6. Configure screen flow to avoid callout errors. In Spring ’21, configure the action to Let the flow decide (recommended), so the flow determines whether to create a new transaction or not to execute the callout. The new transaction control option is available under the Advanced setting for all custom actions, and standard actions that only perform a callout.


7. Access merge fields on complex objects in loops. Examples of complex objects are an Apex defined variable or output from a custom action or screen component.

8. Debug scheduled triggered flows in Flow Builder.

ScheduledFlowDebuggerView image full screen

9. Debug flow errors more easily. Click the “Flow Error: Click here to debug the error in Flow Builder.” link in the flow error email to open Flow Builder and see the failed flow element on the canvas view. The detailed error information appears next to the canvas in the debugger.


10. Delete a flow installed from a package without needing to uninstall the package first. The flow can be deleted is it’s inactive, not the latest version installed in the org and doesn’t have any paused flow interviews.

11. (Generally Available) Developers now has control over the property editor UI in custom invocable actions in Flow Builder.

12. Use automatically stores values for input and outputs in a custom property editor. Previously, you had to use manually assigned flow variables.

13. Salesforce Flow Release Updates:

  • (Update, Enforced) Enable partial save for invocable actions. This affects external REST API calls to invocable actions performed in bulk. With this update when one invocable action fails, it will not roll back the entire transaction.
  • (Update, Enforced) Enforce Data Access in Flow Merge Fields. Once enabled, a flow merge fields will respect the running user’s object-level, field-level and record-level permissions so the flow interview will not be able to access the field. Salesforce recommends testing all flows that use merge fields on related records that aren’t shared with the running user.
  • (Previously Released Update) Have Paused Flow Interviews from Autolaunched Flows Continue in Same Context and with the Same User Access. This update will be enforced in Winter ’22. Currently, the autolaunched flow continues in system context without sharing.
  • (Update, Enforced) Check for Null Record Variable or Null Values of Lookup Relationship Fields in Process and Flow Formulas. Previously, if a variable or lookup field is null, the formula returns null or an unhandled exception. With this update, it will always return a null value.
  • (Update) Accurately Measure CPU Time Consumption of Flows and Processes. With the update, you can identify performance issues since the CPU time will now accurately measure, log and limit CPU time used by Salesforce Flow.
  • (Update, Postponed) Evaluate Criteria Based on Original Record Values in a Process. This change was postponed to Winter ’22. This update will ensure that the process will evaluate the original value with a null value.
  • (Update, Postponed) Disable Rules for Enforcing Explicit Access to Apex Classes. This was scheduled for enforcement in Spring ’21 but has been postponed to Summer ’21. With this change, it will return orgs to a place where a user can run a flow if they have access to the flow and not require access to apex classes used in the flow.
  • Flow and Process Updates available in API Version 51.0:
    1. Treat invalid conditions and condition logic as errors instead of false values
    2. Avoid unexpected fault path executions for bulkified flow elements
    3. Accurately measure the CPU time consumption of Salesforce Flow
    4. Run actions in flows without hitting callout errors