Summer ’22 Sneak Peak: Flow, Orchestrator, NBA

Here’s what you can look forward to in Summer ’22 – hopefully this post will make your ‘Summer 22 Treasure Hunt’ posts a little easier!

Note that this is not the complete list of changes and you should carefully check the Release Notes for changes that may impact your org.

Record Triggered Flows

No-Code Flow Testing Arrives (Beta)

Imagine a scenario where your organization has a team of 15 people managing your Salesforce instance and multiple people making changes to Flows. There’s often a risk that somebody could unintentionally break some business rule logic. With the introduction of Flow Tests, you can check to ensure that you’ve maintained your business-critical logic from version to version. 

Flow Tests allow you to set up assertions or ‘assumptions’ about your results that you want to always stay the same. Those assertions protect your future self or others on the team from making costly mistakes in the future. 

Note: You can currently only create Flow Tests for After-Save and Before-Save flows.

Be on the lookout for a bigger post with a video walkthrough of Flow Tests in the coming weeks.

New Formula Builder With Syntax Checking in Entry Conditions

Get a sneak peak of our new and improved Formula builder in action on Entry Criteria in Record Triggered Flows.  Yep – that means you can now use a formula for your entry conditions! Before this new formula experience existed, you generally had to hope your syntax was accurate and only received feedback about your formula when you went to save your Flow.

Features: 

  • Select predefined operators to build your formula versus starting out with a blank slate
  • Check syntax to validate that your formula works within the context of your Flow
  • Traverse through relationships using Formulas and reference Global Variables

As noted above, you can now traverse through parent fields in Entry Criteria – one of the most common scenarios is checking for the Record Type’s Developer Name!

Keep in mind that complex formulas in entry criteria will negatively affect performance, so if you are able, stick with non-formula based conditions.  Be on the lookout for this new formula building experience to come to other areas of Flow, like Formula resources, in a future release. 

Workflow Rule Converter Goes GA

Our Workflow Rule converter is now GA – You can now convert even more workflow rules to Flows using our nifty conversion tool. We added support for Formulas and also added support for Null checks.

There will still be some Workflow Rules that are not convertible, namely:

  • Formulas featuring:
    • Hour/Minute/Second/TimeNow/TimeValue
    • IsClone
    • $RecordType

Be on the lookout for the official release notes covering all of the additions and considerations.

Flow Trigger Explorer Enhancements

Check out all the awesome improvements to Flow Trigger Explorer below.

Create New Flows Directly From Trigger Explorer

We’ve added the ability to create a new flow directly from Trigger Explorer – save time by pressing ‘New Flow’ for each trigger category. It even autofills the type and object for you!

Control Trigger Ordering

You can now control your record-triggered flow order directly from Trigger Explorer! Before this, ordering had to be done within each Flow’s advanced settings. Note that if you change the ordering of an active flow, a new version will automatically be created and activated for you. Keep this in mind if you decide to revert a Flow to an older version which may conflict with another flow’s trigger order.

Link: Flow Trigger Ordering Guidelines

Flow Triggers and Trigger Explorer Available in Object Setup Menu

Save time and get a picture of all of an object’s record-triggered flows directly from the Object Manager. You can even create a new flow or open up Trigger Explorer from the object’s setup menu! No more digging around in your org’s Flows list view.

Screen Flows

Add Descriptive and Collapsible Section Headers to Your Flow Screens

New in Summer ‘22, admins can add headings to sections in their Flow screens.

When a section has a heading, the end user is able to collapse or expand the section as they progress through the screen. Currently, all sections are expanded by default.

With section headings, admins can provide additional context and visual hierarchy for their end users, making it easier for users to make sense of a long block of inputs or multiple tasks in one screen. 

Additionally, section headings give visually impaired users the hierarchy they need to assess where in the screen they are. 

Dynamic Forms for Flow (Beta) – Name and Address Fields Added

You can now add Address and Name fields from the Fields tab in Screen Flows. For example, dragging the Name field on a Contact record will bring over all of the associated name fields like Salutation, First Name, Last Name, and more.

Dynamic Forms Address Field – Now with Google Typeahead!

Note that one of the coolest features of the newly added Address field support with Dynamic Forms for Flow is that it now supports typeahead results to automatically populate address data – a huge data integrity and time savings improvement. Check out how fast and accurate it was to fill in the Billing and Shipping address information for a new account.

Screen Editor Accessibility Improvements

We’ve made the following improvements to the Screen Editing experience for visually impaired users:

  • When you open the screen editor, the focus is automatically set to the Label field in the screen properties pane (for new screens) or the Edit button that enables you to edit a screen’s label (for existing screens). 
  • After you create a component visibility condition in a screen component, focus is set to the condition you created.
  • After you create a choice resource from a value field, focus is set back to the value field where you created the choice.

Screen Flows Can Now Run in LWR Experience Sites

Screen Flows can now be run in LWR Experience Cloud Sites.  

What is LWR?

With Lightning Web Runtime (LWR) on Node.js, you can build digital experiences that meet the high scale, security, and performance demands of modern web applications. LWR is a non-opinionated way to configure and load the modules, services, and dependency providers you need to build a JavaScript app.

Some benefits of LWR are:

  • Performance—Thanks to page generation at build time, not runtime, our bar is set at subsecond full-page loads.
  • Friction-Free—An enjoyable local development experience.
  • Power—All the power of Lightning Web Components and the Salesforce platform at your disposal.

Important Notes About Running Flows in LWR

LWR is a strict ‘no aura’ environment, which means there cannot be any aura-based local actions or custom aura components in your Flow.

Additionally, Flows with the following screen components / features are not yet supported:

  • File Upload
  • Image
  • Screen Inputs generated using Dynamic Forms for Flow

Lastly, Flows run in LWR Sites cannot be paused or resumed.

Orchestrator

Orchestrations Now Deployable with Change Sets

Admins that use Change Sets to deploy changes through their environments can now deploy orchestrations and the associated flows with the change set tool. Keep in mind you still need to activate the orchestrations upon successful deployment.

New $Orchestration System Variable

We introduced the new $Orchestration global variable that you can reference at any place throughout an orchestration. This new variable allows you to reference the Orchestration Instance Id which is handy for complex orchestrations that involve external systems which may pause or resume the orchestration with platform events.

Open Associated Flows from an Orchestration.

You can now save time to make quick edits by opening evaluation, screen, or autolaunched flows directly in Flow Builder from within an orchestration step.

More Orchestration History Tracked

You can now track more orchestration events from the Orchestration History. orchestration. The following events were added to the history: 

  • An orchestration is canceled
  • A stage or step is discontinued
  • An orchestration, stage, or step encounters an error
  • A work item is reassigned

Order Triggered Orchestrations with Flow Trigger Explorer

Triggered orchestrations can now be ordered along with other After-Save Flow Triggers within Flow explorer. This makes maintaining the order of your automations easier and ensures your orchestrations occur exactly when you want.

Next Best Action

Limit Recommendation Repetitions

You can now limit the number of times Next Best Action recommendations are repeated with the new Limit Repetitions Flow element.

Available for strategies built using the Recommendation Strategy Flow type.

Example Use Cases

  • Limit a recommendation from repeating for 3 months when an employee accepts an action to reset password. 
  • Limit a recommendation from repeating for a year when a customer rejects an offer to purchase an add-on for a discount.

Usage

  • When the Flow runs on an object page, it limits repetitions by record. Otherwise, it limits by runtime user.
  • Add Limit Repetitions element after you have your collection of recommendations and you have your recommendation IDs or keys.
  • Customize limits based number of responses within a specific number of days.
  • Save a step by assigning values to the RecommendationOutput right within the Advanced section versus adding the Assignment element. 

All Flows

Autolayout’s Go-To Connectors Now Highlight Referenced Elements 

We introduced Go-To connectors as a way to summarize the outbound connections an element may have in autolayout. For elements with long names, it was often hard to see the element a Go-To connector referenced.

Now, you can find connected elements in your flow by clicking the Go-To connector – Flow will now highlight and the target elements. As an added benefit, we’ll also adjust the Zoom level to ensure the Go-To connector and all of the target element(s) are all in view. 

Custom Icons for Invocable Actions

Take note ISVs and Partners – invocable actions can now have their own unique icons in Flow Builder. This provides fantastic opportunities for branding and at-a-glance ease of use.

  • Developers creating invocable actions can choose to specify either Salesforce Lightning Design System (SLDS) icons or custom SVG files (added as a Static Resources in the org) to use as the icons for their actions in Flow Builder.
  • Developers specify action icons through a new iconName modifier in the invocableMethod annotation in the Apex code for actions: @invocableMethod(iconName=’icon’).
  • Note that custom icons are only displayed in flows using auto-layout.

Use Standard SLDS Icons

Below is a quick example of an out of the box SLDS icon – all I did here was add the SLDS path to the icon in the invocable action @InvocableMethod piece of the Apex Class: 

@InvocableMethod(iconName=’slds:custom:custom47‘)

The format expected is slds:<slds Icon category>:<icon name>

Using Custom Icons – SVG Files

The real power and pizazz of this feature comes from being able to use custom SVG files. SVG (Scalable Vector Graphic) files are vectorized and contain XML metadata about how they should be displayed. 

Suppose I have a static resource named ‘slacklogo’ – an SVG file. The naming convention expected in the invocable method is resource:staticResourceName:svgID. The SVG g-tag Id can be found in the actual metadata of the file. If one doesn’t exist, you’ll need to add one (via Notepad or your IDE of choice).

SVG files must meet the following requirements:

  • The <svg> element in the file includes an id, xmlns, and viewBox attribute
  • The <svg> element in the file doesn’t include a style, height, or width attribute
  • The file doesn’t include a <clipPath> element
  • Each <path> element in the file includes a fill attribute

Here’s an example with a custom slack icon uploaded as a static resource:    @InvocableMethod(iconName=’resource:slacklogo:slack’)

Be on the lookout for more info in the official release notes for best practices and setup help with custom action icons.

Delete Flow and Process Versions from Managed Packages

ISVs and Partners – this one is a biggie for you. You can now delete a flow or process version from a managed package in the org that uploads the package. After you delete the version, the org that subscribes to the package keeps the version until someone manually deletes the version in the subscriber org. This is a great change for ISVs as it means orgs will no longer hit the Flow version limit when new flow versions are pushed from package upgrades.

Note: To turn on this feature, contact Salesforce Support.