Building interactive Flow screens with reactive components

Reactive components are going to be generally available in the Winter '24 release. This exciting development allows you to create interactive screens that reduce the need for users to click through multiple screens, which directly enhances user experience and productivity.

Building interactive Flow screens with reactive components
Table of contents

Today, we will explore the world of interactive Flow screens and show how reactive components can change user experiences. We will discuss the core principles of reactivity and guide you through the process of building these interactive elements step by step.

Perfect for experienced app builders or those just getting started, this guide will show you how to develop interfaces that grab users' attention and keep them captivated with fluidity and responsiveness.

Understanding reactivity

Pre-reactivity screen Flow

Image Source: Salesforce

The above picture illustrates a pre-reactivity screen Flow. It has multiple screen elements to address the requirement.

Image Source: Salesforce

Post-reactivity screen Flow

☝️
The above picture illustrates a post-reactivity screen Flow. It has a single-screen element with multiple components to address the requirement. Simply put, reactivity allows you to eliminate the annoying "Next" buttons on every screen element. 

This enables the building of screens that mimic the seamless experience of single-page applications by utilizing reactive Flow screen components. You can configure both supported standard components and custom Lightning Web Components to respond dynamically to changes in other components on the same screen in real-time.

Enable reactive screens

Reactive components are readily available for Flows running on API Version 59.0 (or later). For Flows running on API Version 57.0 or 58.0, you can access reactive components by clicking on "Setup," "Process Automation," "Settings," and selecting the "Opt into Reactive Screens Beta" checkbox.

How does reactivity work?

Let's look at an example

Let's create a screen Flow that has the following:

  • A datatable component to list all the "Opportunity" records
  • A text component to display "Stage"
  • A currency component to display "Expected Revenue"
  • A date component to display the "Created Date."
The idea is to have the remaining components populate automatically when the user selects a row in the DataTable.

Previously, if you wanted one component to change when doing something in another, you had to put them on different screens. Not anymore!

There's more to reactive components

Reactive global variables

Global variables can be used in reactive formulas on Flow screens to save time and create custom labels for translatable text.

Reactive selections

Enhance interactivity by using choice components ("Choice Lookup," "Picklists," "Radio Buttons," etc.) that respond to user selections on the same screen.

More formula functions

Access additional formula functions, like "SUBSTITUTE," "ADDMONTHS," and "^," for real-time logic in your Flow screen components (for API versions 59 and above).

Reactive display text components (Beta in Winter '24)

These can now be configured to react to changes in other components on the same screen, adding flexibility to your screen Flows.

Advantages of reactive components

Reactive components offer several substantial benefits, including the following:

Single-page-like application

One of the key benefits is the ability to craft screen Flows that resemble single-page applications. This means fewer clicks for users, resulting in higher efficiency and a seamless user experience.

Maintainability

Reactive screens reduce complexity, making screens easier to manage and modify, contributing to long-term maintainability.

Ease of configuration for Admins

The simplicity of implementation empowers Admins to create Flows more efficiently with fewer screens.

Easy testing and debugging

Simplify testing and debugging with real-time feedback and responsiveness.

Building is a breeze

Salesforce's reactive components make building interactive Flow screens a piece of cake. You'll be able to create engaging, dynamic, and unified user experiences.

Embrace the future of user interaction with reactive components to transform your Salesforce applications.