Salesforce Flow - The Road Ahead in 2025
Flow has never been more central to the Salesforce experience, empowering hundreds of thousands of users to automate repetitive work, easily build compelling applications and generate more value from their Salesforce investments.
Here at Salesforce, we work incessantly to extend and enhance Flow, and it's my pleasure as the head of the Flow product team to share with you some of the innovations we’re working on for the year ahead. Before we start though, you might want to take a look at the big innovations from the last year, courtesy of this review from my colleague Vijay Pandiarajan.
Please consider this post to be a Forward-Looking Statement and please make your purchase decisions based on publicly-available products.
Powering the Agentic Wave and Agentforce
Let’s start with AI and Agentforce. Salesforce has just shipped the Agent invocable action, which allows every flow to embed calls to agents. This unlocks the ability to orchestrate multiple agents, and mix agentic reasoning with the certainty of predictable flows. Look later this year for a new Human Review action optimized to be placed right after an agent call. This action uses the new Flow Approvals described above. The most urgent work we’re doing for Agentforce is work to make it easier to extract structured information from agentic responses, so you can actually do something useful with the text that the agent sends back without writing a parser in code.
Meanwhile, we're continuing to work on enabling flows, flow summaries, and flow descriptions to be generated in response to a prompt, with the bulk of our energies going into raising the accuracy of our generations.
Addressing Key Gaps
While Agentforce is exciting, we want to emphasize as well the gaps we’re addressing in the least glamorous parts of Flow. I'll touch on four areas that we're improving:
1) Working with Fields
We’re going to be adding support for the Time data type.
You’ll be able to use data from Time fields across Flow, as well as capture Time data from components and actions.
2) Getting Related Records
You can pull related records into your data set when making a Get Records query
The resulting complex object will be usable with Assignment elements, resulting in a reduction of steps and effort.
3) Sending Emails
The property editor is being redesigned with modern UI elements
The UI elements are built with a new Editing Component technology that Apex developers building invocable actions will be able to leverage.
4) Creating a New Flow
When you create a New Flow, you get a new New Flow flow. We’ve been trying it out in the Automation app and will be bringing it to Setup.
The New Flow wizard has been redesigned for usability and power. Users who know exactly what they’re looking for can create flows with a single click, and all users can more easily browse and differentiate between flow types and templates.
Improving the Input Experience
One of the most common and important activities in Flow is selecting inputs for an action, element, or subflow. Our Friendly Resource Picker does a great job of enabling the selection of upstream resources that will get resolved when the flow runs. Where it falls short today:
Entering or selecting a manual value. If you’ve got a Date input, there’s no Date Picker! If there’s a set of defined, valid values, there’s no picklist!
Entering values directly into the fields of a custom, Apex-defined type. For these inputs, you have to assign the values to a variable elsewhere in the flow, then reference that variable.
Collection inputs: When an input is expecting a collection of any type, you have to assign the values to a variable elsewhere in the flow, and only then can you supply a reference for your input.
When you need to reference a resource instead of a manual value, finding the most relevant resource is often a pain.
This year, we plan on addressing these pain points. There are several parts of this:
Manual input selection: We’ll be adding a new “manual entry” input mode, which will allow users to enter values using common components that you’re used to seeing for each of Flow’s supported data types. Think: a Date input with a Date Picker. This will be available with a new “mode” switcher that lets users choose the mode that makes sense for their automation use case.
We will add support for specialty use cases:
Rich Text: when a text input expects richly formatted text, enable a rich text editor, complete with styling and resource selection, much like the Text Template interface.
Complex objects: you’ll be able to select objects and define Apex-defined types one field at a time.
Collection Multi-Select: setting values for collections will be improved when we add the ability to select one or more single values for a collection- or mix-and-match single and collection! This won’t need to be an input “mode” as you see in the examples above, this will “just work” for inputs that are collections.
We’ll add Formula Builder and Transform ‘modes’ to input selection. This means you’ll be able to write a one-time-use formula as your input, instead of having to build a separate Formula resource, then reference that as your input! It also means that we’ll be able to help you build better formulas in context. For example, we’ll be able to guide you to only use reactivity-compatible formula functions if you’re adding a formula in a screen component.
Now imagine the power of building an inline transform mapping: without an extra element on your Flow’s canvas, you’ll be able to efficiently leverage the power of Transform inside the configuration of any input.
In addition to making it easier for you to pick the right options when dealing with manual values, we also want to make it easier for you to find the most relevant resource. Today, the resource picker includes every referenceable item in the flow, with some data type filtering applied – so you, for example, can’t select a Number resource when a Date resource is expected. Here is how we plan to make that better.
Improved search: We aim to make it easy for you to easily find the right field or value that’s nested inside of a given flow resource. For example, easily search to find an Owner reference, even if those owner IDs are stored inside of a record variable or external data structure.
Stop showing downstream resources: Today, the resource picker shows all resources, regardless of which element those resources are generated from. We’ll start suppressing resources that come from a downstream element for autolayout users, which means you’ll have fewer options to differentiate between.
Promote key resources based on the context: We’ll pull the most likely needed resources to the top of the list based on your context. If you’re in a record-triggered flow, we’ll prioritize the Triggering Record ($Record) resource, and you’ll see the same for Triggering Event, Triggering Form, etc. If you’re in a Loop, we’ll prioritize the associated loop variable – and outside of the Loop we’ll deprioritize that same loop variable. If you’re configuring a screen component, we’ll prioritize the sibling components on the same screen.
Enhancing the Manageability of Actions
We have other enhancements underway for the Action Platform. We are building an Action Hub that will provide a list view of actions that enables them to be managed effectively from outside of Flow Builder. The first two utilities of this list will likely be the ability to measure action usage and the ability to see all the flows that use an action.
Screen Flow Enhancements
Let’s turn to Screen Flows, the forms solution for Flow. With the reactivity features that we’ve added in the last couple of years, Screen Flows are now the most powerful way to build visual applications on Salesforce. They allow app developers to easily mix no-code and pro-code creation. You can build your own components with the LWC framework and then drive those components with reactive inputs from other parts of the screen. Look forward to the completion of this reactivity work with the upcoming GA of Reactive Screen Actions. These screen actions allow you to fire autolaunched flows when changes on the form occur and can gather data to automatically update other components in the same screen. Perform calculations or callouts, or carry out your own custom input validations by creating reusable autolaunched flows that can be triggered silently by screen activity:
This year, our big new Screen Flows initiative involves the addition of styling and design capabilities. We want to make it possible for Screen Flows to be used in demanding applications that require themes and overriding of default styles. You'll be able to easily see how your flow will look in specific environments by selecting from any design theme that your Salesforce org has has access to, and you'll be able to apply custom overrides on a component by component basis.
We’re also adding more screen components. Our plans include a Visual Picker, a Signature component, a Time component,a Matrix component, a Rich Text input and a Counter component. And we’re always looking for feedback, so don’t be shy about telling us what else you’d like to see in the component library.
Managing the Flow Lifecycle
Despite these big improvements to actions and screens, our largest go-forward investment is actually in the area of enterprise manageability. We are turning serious attention to the kinds of management challenges that Flow admins and IT organizations have with their automation solutions.
Much of this initial effort is focused on enhancements to our debug and testing capabilities. Debugging gets better in several ways this year. The formatting and organization of debug information will be modernized. Complex data structures will be more readable, and inputs and outputs will be more clearly displayed. Flow will provide a summary layer that complements the current level of detail.
We're also extending debugging coverage to include orchestrations and the new Flow Approvals, and we’ll provide Screen Flows with access to the latest set of debugger features.
We’re also working on adding improvements to automated Flow testing. We’re exposing Flow tests via the Apex Test API so they can be called by your code and by commercial CI/CD automation. If things go as expected, anywhere you get a list of Apex Tests you’ll also see Flow Tests. You’ll be able to create flow tests that assert on errors as well as success conditions. We also intend to provide services similar to a TestSetup annotation, which combines persistent mock data with effective rollback. Finally, we will extend the set of flow types that can have flow tests so that the autolaunched flows so important to Agentforce can be tested in an automatic way.
The next area that will see management investment is version comparison. You'll be able to visually see the differences between two versions in either tabular or on-canvas form.
We will also be providing persistent logging on a per-flow basis. Logged information will be sent to Data Cloud, where it can be analyzed using the full range of salesforce and tableau reporting tools. Data Cloud does charge on a consumption basis, but you will have the ability to easily turn the logging on and off. If you don’t have Data Cloud, note that the recently released Salesforce Foundations adds it to your org at no cost and provides an initial pool of credits.
Approvals and Orchestrations
Next, I'd like to talk about approval processes. Our team has been quietly revolutionizing how approvals are done on Salesforce. While you can still continue to use Salesforce's legacy approval processes, we’ve just shipped our new Flow Approvals. When you create a Flow Approval, you build it as a flow in Flow Builder, using a special orchestration flow with an optimized Approval Step. This enables long-requested features for approvals functionality. For example, you can customize the approval process with callouts and invocable actions, tap into formulas and text templates, and customize the approval screen experience. To learn more about Flow Approvals, come to the Flow Approval session at TDX or watch this demo. Flow Approvals is now adding support for delegates and recall, and will later this year add support for group approvals.
Meanwhile, the next big focus for Flow Orchestrations will be full-powered debug capabilities.
Driving Marketing Cloud Success on the Canvas
Flow provides increasing range of marketing-oriented features to users of Marketing Cloud Growth and Advanced editions, where Flow is used to generate marketing journeys. This year we’ll GA Path Experimentation, a feature that allows A/B testing as your journey progresses. We’re also releasing On-canvas Insights. Remember those Data Cloud logs I was talking about a few paragraphs earlier? Well, all of that logged data can now be visualized right on the canvas in a new read-only mode. While we're talking about the canvas, keep your eye out for our new canvas redesign, which provides single-click access to properties and more effective information on individual and elements.
Flow and Data Cloud
Flow is the easiest way to build Data Cloud applications, offering powerful no-code ways to query Data Cloud records, trigger on Data Cloud activity, and add data to Data Cloud.
Some of the new features to look forward to this year include:
A new Activation-trigger that allows Data Cloud activations to be piped through custom flows. When you pair this with Mulesoft for Flow connector actions or build your own Apex invocable action callouts, this provides a way to get Data Cloud data to any endpoint.
Data Space Support ensures that your flows are sensitive to your Data Space assignments, which allows you to create different security zones for your data.
Powerful Integration, Built-In
This month, we’re bringing Mulesoft for Flow - Integration to General Availability. The first release of this paid add-on provides 40 new connectors that show up in Flow Builder, providing access to popular web services like Jira and Netsuite, powerful new AI services like Anthropic and OpenAI, and more.
These new integration services come via the Salesforce Advanced Automation add-on, which also provides access to our document processing (IDP) and robotic process automation (RPA) services. Over the next year, we’ll be integrating RPA more directly into Flow Builder.
Likewise, we’ll be integrating Intelligent Document Processing work inside of Flow Builder.
Enhancements to Transform Services
Flow’s powerful data transformation capability, which just added powerful ‘join’ capabilities that allow two collections to be intelligently merged, becomes extensible in the next year. That means that developers will be able to write and publish invocable actions that become available as ‘invocable transformers’. For example, you will be able to install transformers that enable the Transform element to do things like find the maximum or minimum value for a given field across a collection, insert a record at a specific location, apply a custom filter to a collection, or generate a rich text tabular report from a collection that can be displayed in a screen. To get an early start on imagining all of the possibilities, take a look at the open source Collection Processors package that allows all of the above services to be added to your flows as independent actions.
Enabling Developers to Add Usability to their Invocable Actions and Screen Components
We are implementing new tools to improve the experience of invocable actions built in Apex. Invocable Actions are one of the most powerful parts of the Salesforce platform, and as I'll talk about later, they have been absolutely central to the fast success of Agentforce. The number of times an Apex invocable action gets executed in a single month grew in the last year by more than 4 billion monthly executions, reflecting tremendous growth.
But there’s a lot we can do to assist developers in making the user experience of their actions better, so we’re providing a new set of tools that developers can use to improve the configuration experience for their actions without requiring a full custom property editor. This first set of improvements focuses on the orientation and organization of your action’s inputs:
Specify minimum and maximum values for a numeric input
Specify the sort order of how your inputs will be displayed
Group your inputs into categories. You specify a name for the group and the property editor will render the inputs as an expand/collapsable set of adjacent inputs.
Make an input visible only if a controlling/parent input has a value
These improvements all can be added as code annotations, so that they are ‘zero javascript’.
Next, we’re taking the selector improvements described above and making them available to Apex invocable actions. As mentioned above, all data types will use the upgraded selectors by default. That means that if you build an Apex invocable action and give it inputs of Account and Date/Time, your user will see an input mode that provides an Account combobox or a Date/Time picker without any work on your part.
Beyond this, however, we’re enabling custom selectors. The value of custom selectors is best appreciated by looking at commonly used Salesforce setup entities. Consider Record Types, Email Templates, and Files. When you want to use one of these as an input to your invocable action, you give the input a type of Text. Today, that means that the user is shown a simple text field, which is little help in selecting a specific template or file. Salesforce will start making selectors for these ‘advanced’ types available in a public registry and Apex developers will be able to annotate inputs, specifying that this particular Text input actually is a Record Type and should display as a Record Type combobox and that particular Text input is actually a File and will render as a file picker.
The first place you’ll see this is the Send Email invocable action’s Attachment input:
To increase the potential of these custom selectors, we’re making it so that you can assign more than a single input to a single selector. If you do this, the selector in question is responsible for setting the value of all the grouped inputs. This allows a piece of custom UI to be responsible for several inputs. An example of this is the selector being built to handle email addressing. It replaces X inputs that would otherwise be individually displayed:
Finally, it will be possible for developers to build their own custom selectors with LWCs that are marked as being “Available as Selector.” These LWCs will be available in the Selector registry for use by invocable action developers. For example, if you are building 5 actions and they each use a custom authentication selector, you can build the authentication selector as a custom LWC, include it in your package, and reference it via a simple annotation in each of the Apex actions.
Beyond selectors, you’ll soon be able to tie Flow Screen Component inputs and outputs to Flow API versions, making it easier to ship new or breaking changes to screen components without affecting existing usage.
It’s Going to be a Great Year for Flow
Of course, the plans described above may change, and you should consider all of this to be forward-looking information, and continue to make your purchase decisions based on our publicly available product. I continue to find it incredibly exciting and fulfilling to participate in the enhancement of Flow and Salesforce’s other automation technologies, and look forward to delivering the above improvements!
--------------------------------
Sierra Cingilli some cool stuff ahead!!!
Senior Salesforce Manager, National Children's Bureau
2dFantastic update, really appreciated
Business Systems Global Manager at OAG (Primarily Salesforce)
2dMulesoft within Flow / MuleSoft for Flow - Integrations love it and can't wait to try it! Thanks for listening!! 👏 👏 👏
Freelance Salesforce Project Manager 10x certified
3dBravo bravo! So many exciting features to come 💪
Operations & Technology Leader | Process Architect | Salesforce Flow Junkie | 2x Dreamforce Speaker
3dAlex wish this was in person at TDX... no roadmap session? For FLOW??