Salesforce Release

Winter ’21 – Flow Enhancements

Winter_21_logo

So, I normally publish all release highlights at once, but I just couldn’t wait until I’ve read through all the Winter ’21 Release Notes to share with my fellow #Flownatics all the new Winter ’21 flow features coming to our Production orgs in October. (Don’t worry. The rest of the release highlights will be published. Stay tuned.)

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

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

1. (Beta) Use Auto-Layout to automatically place and connect elements in flow. No more playing around with alignment! How many people, like me, are OBSESSED with straight lines?1 Those crooked, slightly off lines, just drove me NUTS. You can also now draw the fault connector from the flow element. No more drawing the regular connector line first before you can draw the fault connector. 

When you create a new flow, you will be prompted to select either to build a freeform flow or an auto-layout flow.

AutoLayout

You can convert existing built flows to the new Autolayout by selecting the toggle. Once you select the new design, you cannot go back to your own built design. You would have to rearrange it accordingly.

Click on the flow element to copy an element, delete an element or add a fault connector. Click on the + element to add a new element to the flow. 

AutoLayoutView image full screen

  1. Selected Text Template Setting is Saved. OMG, Yes! I am so happy they have fixed this bug! Thank goodness, flow now remembers the setting you selected, “View as Rich Text” or “View as Plain Text.” It was such a pain to have it default back after you select the one. I lost so much time with this defect.

TextTemplateView image full screen

  1. Debug Flow As Another User. You can now test or troubleshoot a flow as another user right in flow without having to login as that user. First, you need to enable the Enable user impersonation during debug run feature in Process Automation Settings. Note: You must have Manage Flow and View All Data permissions to impersonate other users during a Flow debug run. Then, check the option Run flow as another user and select the user you want to impersonate.

UserImpersonationView image full screen

  1. (Beta) Debug Autolaunched Flow Right in the Canvas by clicking on Debug on Canvas (Beta) Debug on Canvas appears on a flow that is not using Auto-Layout. You can collapse or expand each flow element. The flow path executed in debug is highlighted in orange.

DebugOnCanvasView image full screen

5. Before Delete Record-Triggered Flow is here! Now, you can declaratively update related records before a record delete without writing a lick of code! Now, record is deleted is a new selection in the Record-Triggered Flow selection.

DeleteTriggerView image full screen

  1. (Pilot) Build Multi-Column Screens in Flow. Contact your Account Executive if you’re interested in participating in the pilot.
  2. Configure Your Record-Triggered Flows to Only Run When Conditions are Met. Further define the number of records selected – not just records that are created or edited.

RecordTriggersWhenConditionsAreMetView image full screen

  1. All Flow Elements Now Get an AND, an OR or Custom Operators! We can now specify that all conditions are met, any conditions are met or specify your own custom logic.

SpecifyConditionsAreMetView image full screen

  1. Create Decisions That Only Execute When Record That Executed the Flow Meets the Conditions. This is a way to avoid reprocessing records that previously triggered the flow. 
  2. Find the Error in Flow in a Link Click. Flow error messages will now also include a link, where available, which opens flow element in error and highlights it on the flow canvas. The release notes don’t show an example of what this looks like so we’ll have to wait for RRL to see this in action.
  3. Access Related Record Data In Autolaunched Flows With Triggers Using $Record. We do not need to have a Get Records flow element to retrieve associated record information. You can access the related data via the $Record element.

RelatedRecordDataView image full screen

  1. Access Salesforce Org’s Global Variables Everywhere in Flows, Not Just Formula Resources. The limitation of only showing the first 100 global variables of each type has been removed as well. You can now access all global variables everywhere in flow.
  2. New Flow Run-Time Enhancements Are Only Active in API 50. This allows you to control when you want to make use of the new features. To change the run-time API version of a flow or process, open the flow and process and edit the properties.

APIVersionView image full screen

  • The Next or Finish Setting Isn’t Always Enforced (i.e. the Next button is not always shown on a screen flow if there is an element after the flow).
  • Merge Fields Support Null Values. Now, merge fields that reference record variables that are null at run time no longer causes flow errors.
  • ISBLANK Returns True Only When the Value is Null. In API 50, ISBLANK now returns true for empty string or null values. In API 49 or earlier, ISBLANK only returned returned true for null values.
  • Enables the Enforce Data Access in Flow Merge Fields Release Update for Flows. This release update will be enforced in Spring ’21 for all flows regardless of API version.
  • Invalid References to Global Variables as Shown Errors Instead of String Values
  1. Quickly See Trigger Types on the Flow List View. Now, you can see if a trigger is a record, scheduled or platform event in the Trigger column.
  1. Run Flows in System Context Without Sharing to Access the Recommendation Object for External Users. Prior to Winter ’21, community, portal, and guest users had read-only access to recommendations via flows. Now, use flows in system context without sharing to grant community, portal, and guest users access to recommendations.
  2. [Applies to Classic only] Record Ownership Changes in Classic Can Now Record-Changed Trigger Flows. Prior to Winter ’21, only record changes in Lightning Experience triggered flows.
  3. [Applies to Lightning Experience only] (Generally Available) Build Re-usable Screen Components with LWC. Your developers can build reusable screen components that use the generic  sObject and  sObject[] data types. You no longer need to build a LWC data component for each object. You can build one and reuse that same component for all objects.

FlowLWCGenericObjectView image full screen

  1. Release Updates:
    • (Update) Make Paused Flow Interviews Resume in the Same Context with the Same User Access. Prior to this release, when a user resumed a paused autolaunched flow, the user ran the flow in system context without sharing instead of user context. Now, it will execute in user context after the flow is picked up after a specified time.
    • (Update, Postponed) Evaluate Criteria Based on Original Record Values in Process Builder. This was postponed to Winter ’21 and has been further postponed to Winter ’22. This release update ensures that a process with multiple criteria and a record update evaluates the original value of the field that began the process with a value of null.
    • (Update, Postponed) Enable Partial Save for Invocable Actions. This was postponed to Winter ’21 and has been further postponed to Winter ’22. After this update, when invoking a set of actions in a single request, a single failed invocable action no longer causes the entire transaction to fail. It will allow for a partial save.
    • (Update, Postponed) Enforce Data Access in Flow Formulas. This update has been postponed until Spring ’21. This update enforces the running user’s data access when Flow uses a merge field to access a field on a related record.
    • (Update, Postponed) Disable Rules for Enforcing Explicit Access to Apex Classes. This has been postponed until Summer ’21. The Disable Rules for Enforcing Explicit Access to Apex Classes update returns orgs to their original state – where users only need access to the flow to be able to run a flow that includes Apex actions.
    • (Update, Postponed) Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas. This update has been postponed until Spring ’21. This update enables process and flow formulas to return null values when the calculations involve a null record variable or null lookup relationship field.

7 thoughts on “Winter ’21 – Flow Enhancements

  1. For the fix for ISBLANK, it’s API 50 that will return true for Empty Strings and Null. In API 49, it returns true only for Null.

    >Evaluate the ISBLANK function correctly for empty strings
    In flow and process formulas, the ISBLANK function returns true for empty string or null values. In flows and processes that run in API versions earlier than 50.0, the ISBLANK function returns true only when the value is null.
    https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_lightning_flow_versioned_updates.htm?edition=&impact=

    They wrote it in a really confusing way and I got it backwards the first few times I read it.

    Like

  2. Ample number of new features, Nice Article,
    my favorite three features:
    1. Auto-Layout
    2. Template Related Changes
    3. All Flow Elements Now Get an AND, an OR or Custom Operators
    Thanks for nice article.

    Like

  3. Hi Jen, Thanks for the great writeup!
    A general comment on the release notes is that it would’ve been great if they would’ve elaborated on things that are no longer supported in flows or now have changed behavior.

    For example… for record-triggered flows it is no longer possible to debug. It will throw an error and tell you to activate the flow. This obviously is very much like developing in reverse order. You build, you active and then you hope for the best you did built it right. Instead of being able to actually test your work and only then activate if all tests are successful.

    On got on a call today with a Tier 3 Salesforce support rep who confirmed this behavior. He couldn’t explain though why this decision was made.

    Like

Comments are closed.