Sneak Preview – Flow in Winter ’24

Here’s a preview of what’s coming to Flow in the next couple of months!

The Rollouts Begin: Panels

With this release, the conversion of property editors from modals to panels picks up momentum. The first panelized property editors showed up in Flow Orchestration, and more were seen in the Flow-based marketing features that started to roll out in Summer ’23 Starter edition. In Winter ’24 panels will show up in mainstream elements: Create Records, Wait, Start, Update Records elements at all times and Action & Subflow elements and Custom Property Editors when in edit mode.

Panelized property editors have a couple of useful benefits besides look more modern and feeling more fluid. They allow the user to see and manipulate the canvas while configuring the property editor and they are a key technology needed to enable Draft Mode (with modals, you can’t really leave things partially completed, which is the whole point of Draft mode).

The Rollouts Begin: Save as Draft

This feature lets you save flows that are missing required features. In Winter ’24, it’s only going to be present in Create Records and the Start element of flows with a Record-Change trigger.

Draft Mode is fundamentally intended as a usability feature to make Flow easier to work with. You don’t have to have all of your ducks in a row.

The Rollouts Begin: Fourth Generation Merge Field Picker

The team has been hard at work on an overhaul of the merge field picker. This component is a wolf in sheep’s clothing. It’s extremely complicated because of its need to not only support a wide range of data types but also dynamically show just the appropriate types in different contexts. The current merge field picker has served Flow well since its creation 5 years ago but there are a lot of overdue enhancements that required a full reworking.

In Winter ’24 you’ll encounter the new picker in just one place, the Create Records element. You’ll see some of the immediate enhancements, like the clickable breadcrumbs shown above. More enhancements are on the way along with a broader rollout. Developer Note: This component has been designed to be made available in the Public namespace for use in custom property editors, although the release date for that is TBD.

HTTP Callout is GA and supports the full range of HTTP methods.

Transform Data with the new Transform Element (Beta)

Transform is probably the most powerful, complex element we’ve yet created. It provides the ability to declaratively shape and mold data. It’s particularly well-paired with the HTTP Callout element because of its ability to extract useful data from the complex response structures returned from typical web calls.

The beta implementation includes. the ability to map collections from JSON structures to collection resources:

You can also apply a formula to data to shape it:

Your transformations are also supported in the debugger:

Note the following considerations on Winter ’24:

  • Source data doesn’t support global variables.
  • The Transform element is available for only autolaunched, screen, and triggered flows.
  • Packaging not supported yet
  • Primitive collection not supported yet
  • Collection Choice Set, Picklist Choice Set, and Record Choice Set are treated like strings
  • Support only 1 level of nested collection
  • Read only fields are hidden on the target side
  • No traversals for sobjects
  • Only 1 input source will show on UI
  • Manual output mapping not supported
  • No built-in aggregation yet (count, sum, exist, first, etc)
  • No collection transform yet (join, filter, sort, etc)
  • 10 nested levels max

Reactive Screens – GA with Formula support and Reactive Choice Selections

Reactive Screens is finally GA with this release. This feature fundamentally allows the creation of single-page applications and forms, reducing the amount of ‘Next’ clicking and enabling a more dynamic and satisfying visual experience.

This release brings several enhancements that flesh out the Reactive Screen toolset. Display Text is reactive (this component has been deemed Beta for Winter ’24. Note that that means you have to enable the ‘Opt in to Reactive Display Text Beta’ checkbox in Setup -> Process Automation Settings for this particular feature). That allows easy implementation of text that updates based on inputs:

The above example also leverages the new ability to use formulas reactively. That means that if you create a formula in a flow that references an input that changes, like the text fields in the example above, the formula will immediately recalculate, and anything else on the screen that makes use of that formula will update.

Choice Selections also react to changes on the screen. In this example, one set of choice settings change based on a value selected in another radio button group:

Select a Radio Button Based on Another Radio Button

Auto-select an Opportunity Stage from a Data Table

Here, you can see how it’s done, with a formula that is used to set the default value:

Formulas can mix values provided by the user with Custom Settings, Profile data and other Global Variables, as shown in this example:

Other improvements:

  • Screens will now apply reactive updates when a screen first loads.
  • Formula support has been extended to SUBSTITUTE, ^, ADDMONTHS, and ISPICKVAL.
  • Screen Readers will now announce reactive changes.

You can surface Custom Error Messages when a Record-Triggered Flow detects a problem with a user’s actions

Record-triggered Flows in many ways provide a great toolset for custom validation checking, but have always had an inability to surface an error right to where the user is taking action. You can now choose to either surface a custom, dynamic error message as an inline field error or as a pop-up window.

Two New Wait Elements Provide Extra Delay Control

Extended Support for Revisitation Controls

A pair of radio buttons was added a couple of years ago to enable builders to control the behavior of screen components when the user returns to a screen. This was necessary because there are a bunch of valid use cases where you want the component to recalculate with updated values and other equally valid use cases where you want the component to remember what the user last provided. These slides are from a 2021 RRL where we described the new control, which was then released for Lightning Components in screens.

In Winter ’24, support for Revisited policy has been extended to Choices, Text, Number, Currency, Long Text Area, Date, and DateTime components:

Values are now remembered when going back to a previous screen.

Reactive Steps Enhance Flow Orchestration

You can now trigger a step to start or end with an expression that will set up a record-change listener. That means that an active stage can have multiple steps all waiting for different data changes.

Additionally, Flow Orchestration Objects now support Custom Fields and lookups.

Trigger Flows when Data Cloud events are generated

New List View Column: API Version

You can choose to view the Api Version in the Flow list view in Setup.