Spring ’23 Sneak Preview – Flow Builder, Orchestrator, Slack, Integrations

It seems like just yesterday I was at Dreamforce chatting away about Winter ‘23 and we’re already at the Spring ‘23 release!

The Flow team continues to deliver the goods and continue the trend of shipping amazing new features to you all! Let’s dive in – I will highlight the big ones here at the top then dive into specifics below.

Key Highlights

Element Iteration Limit Removed Across Flow

Data Table Now Generally Available

Easy HTTP Callouts Arrive (Beta)

Choice Lookup (Beta) and Dynamic Forms for Flow Lookup Field Support

Reactive Screen Components Arrive (Beta)

Process Builder Migration Tool Now Available

Flow Builder Improvements

Element Iteration Limit – GONE!

I am so happy to announce that the dreaded ‘ITERATION_LIMIT_EXCEEDED’ error is now gone! This was a Flow-specific limit that triggered when your flow hit 2,000 ‘elements’ across the Flow interview – typically seen with larger loops. 

For a long time the limit existed to protect orgs from runaway flows, but over time we built in more governor limit awareness into the flow engine. We now feel confident that it is no longer needed, which is great news for you loopers! 

Note: For your Flows to take advantage of this, you’ll need to ensure you’ve updated the Flow’s API version.

Easy HTTP Callout Builder(Beta)

You can now create actions that make calls to  external web services from within Flow Builder without any need for code! 

Feature Overview

  • Create your external service directly from the Action by specifying a Named Credential
  • Paste a sample JSON Response and get a real-time preview of the data structure
  • Map data types from the JSON response to Flow variables

Create HTTP Callouts from this new button:

Add a Named Credential to handle the authentication:

In Spring ‘23, only GET calls are supported. Setup any needed Query Parameters:

After you provide a sample JSON response, Flow will generate a matching data structure that can be accessed in Flow builder without code. 

The actions you create with the new HTTP Callout feature become permanent, reusable actions you can add to any flow. You can view and manage these permanent actions from the updated External Services page:

Description Bubbles Now Surfaced in the Canvas

Documentation sticklers (like me) rejoice! You can now easily see an element’s description by hovering over the new documentation bubble next to an element. This will allow builders to easily see the notes left by others for each individual element. Note that if an element has no description, flow builders will not see the new documentation bubble icon.

Element Descriptions Now Easier to See

Before this release it wasn’t possible to see an element’s entire description. You can now hover over the information bubble to see what an element does – a great addition for newer Flow builders.

Screen Flow Improvements

Data Table now Generally Available

In Winter ‘23 we released the Beta version of our Data Table component and we’re taking it across the finish line in Spring ‘23! Some of the notable new features include:

  • Preview the data table and its columns in the screen builder
  • Improvements to configuration accessibility
  • Shuffled some settings in the configuration panel in Flow Builder to make things easier to understand and set up
  • Support for composite fields like Name and Address – no need to add each one individually now!

Builder Preview Mode

Two New Lookup Component Options Arrive in Spring ‘23

We’re introducing two new ways for Flow builders to create record Lookup experiences in Screen Flows: Lookup supported with Record Fields, and Choice Lookup (beta).

Lookups Supported in Record Fields (Dynamic Forms for Flow)

Drag your object’s lookup fields directly onto your Flow screen, saving you oodles of time. Aside from the simple configuration, it also lets your users create records from within the flow – a hotly requested feature now made possible. Once the user creates the record, the lookup will automatically be populated with the new record.

Created Filtered Lookups with Choice Lookup (Beta)

In addition to placing Radio Buttons, Checklist Groups, and Picklist choices, you can now represent your Flow Choices in a Lookup format using the new Choice Lookup component. 

Flow builders have long asked for the ability to filter down a collection of records in a Lookup based on the actions a user takes in their Flow. Using a filtered Collection Choice Set or Record Choice Set, you can now create a Lookup using only contacts from a previously selected account in your Flow.  

Because this new component is powered by Choices, you can also represent your object Picklist fields in this new format with Picklist Choice Sets, like the standard Account Type Picklist field:

The goodies don’t end there! One awesome behavior of Choice Lookup is that when a user clicks into the field, they’ll see all of the available choices. This addresses a 23,000 point IdeaExchange Post related to Lookup fields on the platform.

Lastly, you’ll notice something different about the way you reference the selected value from a Choice Lookup compared to other choices like a Radio Group or Checkbox Group component. We’ve added the ability for users to explicitly choose between the selected choice’s Label(s) or Value(s) – another frequent ask! For example, many builders have encountered a key issue when you reference a Choice in a Formula – it always returns the choice’s Label when they needed to return the choice’s Value. Now you’ll have a choice between the two.

Which Lookup experience do I choose?

With three different record lookup options, we’ll admit that choosing between the three could get confusing. Over time it’s our goal to converge functionality between Dynamic Forms Lookup fields and Choice Lookup, but for now, here’s a helpful chart comparing the feature sets. 

Dynamic Forms for Flow – Multi-select Picklist Support

We’ve now added Multi-select Picklist field type support to take full advantage of the record type awareness feature we built last release in Winter ‘23. Before this release, to get an object’s multi-select field onto a screen you would’ve needed to set up a Checkbox Group component with a configured Picklist Choice Set. Now all you need to do is drag over the multi-select fields from the Fields tab in your screen editor and you’re done!

You’ll also notice the multi-select experience differs quite a bit from a Multi-select Choice. Dynamic Forms for Flow-based multi-selects mirror the experience found in record pages. 

Record Field (Dynamic Forms for Flow) Multi-Select Experience

Multi-select Picklists with Choices

Create App-like Experiences With the Reactive Screen Components Beta

At long last our Reactive Screen Components effort enters Beta! With reactive screen components, you’ll be able to build bigger, more engaging screens by configuring your screen components so that they react to a user’s actions on the same screen. 

Previously, for a component to react to changes in another component, you had to put them into separate screens or create large, monolithic custom components. For example, you’ll now be able to connect a Text input and feed the changes in the text input to a custom data table to search for knowledge articles as a user types. 

This release marks the beginning of a slew of Screen Flow enhancements focused on flow interactivity. While the Pilot enabled custom lightning component reactivity, the beta now includes additional components like Text, Date, Date time, Checkbox, and Number. Components made reactive during the pilot should continue to work as before assuming they adhere to LWC flow screen component best practices. 

For you developers out there, be on the lookout here and in our official docs for guidance from our team on ensuring your LWC components meet our best practice standards. 

No Code Example Using Reactive Components

In this example – using all standard components – I created a ‘Contact Quick Edit’ flow that lets the user select and edit a set of contacts from a Data Table. Whenever the user selects a row, the selected row’s details get passed into supported inputs on the same screen. Below we pass in the selected row’s details to a set of Address, Name, Date, and Text inputs.

Developers and Admins will be able to use more modular, reusable components that can communicate with each other. This means that developers can offload UI components to Flow (like basic inputs or even a Data Table) while focusing their time and mental energy on the complexity of their own business-driven components. 

Before, developers and admins would have needed to create giant screen components in order to achieve the same level of inter-component communication which hindered reusability.  

Opt in to the Beta

You can opt into the beta by enabling the permission in Process Automation Settings.

Supported ‘Reactive’ Components in Spring ‘23

  • Text
  • Date
  • Date Time
  • Checkbox
  • Number
  • Password
  • Currency
  • Data Table
  • Email
  • Name
  • Address
  • Slider
  • Toggle
  • Custom LWC Components**

** Component must be designed to track change events from Flow as outlined here 

Note that Choices, Formulas, Display Text, and Record Fields (Dynamic Forms for Flow) are not yet reactive, but are high on our list of things to support. 

Stay tuned for a more in-depth best practices guide for wiring up your custom LWC components to be reactive.

Record-Triggered Flow Improvements

Process Builder Migration Tool Now Available

You can now convert many of your Process Builder Processes to Flows using the new migration tool. Check out the three easy steps to moving your Processes to Flow below:

  • Select your process you want to convert
  • Select the process’s criteria nodes that you want to move to Flow
  • Test and edit your flow

We heavily recommend you make edits to the converted flows like changing element and resource name and descriptions to make the converted Flow more human-readable.  

For example, the Flow converted below uses auto-naming for a Formula resource that sets a Case description… but the resource name could use a little human love:

Orchestrator Improvements

Record-Triggered Orchestrations added to the ‘New Flow’ Modal

Creating a new orchestration is now far more discoverable. We’ve added Record-Triggered orchestrations to the ‘New Flow’ modal that appears when creating a new Flow. If you need to access an autolaunched orchestration, you can still access that through the ‘All + Templates’ tab. 

Work Guide Mobile Support Arrives

The work guide component can now be viewed on phones and tablets, ensuring your users running orchestrations can now participate in an orchestration on the go.

Orchestrations as Templates

Need to reuse an orchestration? You can now save Orchestrations as a template so your users or customers don’t have to start from scratch. 

Screen Flows in Slack Goes GA

The ability to run Flows in Slack is now Generally Available! Here’s a Getting Started guide.

MuleSoft Integration

With the new MuleSoft Services page in Setup, you can now connect directly to the Anypoint platform with a simple login, then use this connection to discover and register REST APIs from your Anypoint Platform as an External Service.

This makes the process of connecting to the Anypoint Platform significantly easier and faster, saving you countless steps.

Service Cloud & Flow

Fuzzy Search for an Individual with the ‘Search Individual’ Action (Beta)

Our friends in Service Cloud released an excellent action called ‘Search Individual’ as part of their improvements to linking unknown callers to a case and a Salesforce contact or lead. This new action allows you to perform a fuzzy search for Contact, Lead, and Individual record and then display those results in something like a Data Table.  From there, you can then use the record(s) selected by the user to then relate them to a Case, Account, or an Opportunity as an example. 

The action outputs a collection of Ids, so be sure to use that IN operator to convert it to a record collection before you throw the results into something like a Data Table.