Migrating From Process Builders to Flows
In the Winter ’23 Salesforce release, Process Builders were replaced with Flows. You can continue using your previously configured Process Builders, but you cannot configure new instances after support ends.
The Spring ’23 Salesforce release includes the Migrate to Flow tool, which you can use to convert Process Builders to Flows. For more information, see Convert Processes to Flows on the Salesforce help site. You can also follow the steps in this procedure to perform the migration manually.
* 
The Salesforce Essentials and Professional editions support only 5 Flows for each Flow type. Therefore, to migrate from Process Builders to Flows, you must have the Salesforce Enterprise, Unlimited, Performance, or Developer edition. For more information, see Flow Limits and Considerations on the Salesforce Help website.
In cases where objects with multiple active record-triggered Flows are configured to run before or after records are saved with Process Builders, the same order of execution is not guaranteed with Flows. For more information, see Triggers and Order of Execution on the Salesforce Developer website.
The steps in the following procedure show how to migrate a Process Builder for the Account object to a Flow.
To migrate from Process Builders to Flows:
1. On the Salesforce Setup page, in the left pane, in the Platform Tools section, under the Process Automation node, click Flows, and then on the Flows page, in the top right corner, click New Flow.
2. In Flow Builder, in the New Flow dialog box, click Record-Triggered Flow, and then click Create.
3. In the Configure Start dialog box, complete the fields as follows, and then click Done.
Section
Field
Value
Select Object
Object
The object for which you want to create a Flow, for example, Account.
Configure Trigger
Trigger the Flow When:
The triggering event for the Flow, for example, A record is created or updated.
Set Entry Conditions
Condition Requirements
The conditions that must be met to trigger the Flow, for example, None.
Optimize the Flow for:
The type of update to which this Flow applies, for example, Actions and Related Records.
4. In Flow Builder, in the top right corner, in the list, click Free-Form, and then on the left, in the Toolbox pane, in the Manager tab, click New Resource.
5. In the New Resource dialog box, create Formula Resources to filter for specific scenarios. For example, to determine whether records are new or changed, configure two Formulas with the following field values.
Field
Value
Resource Type
Formula
API Name
The name used by the API to call the formula. For example:
fIsNew: Formula that determines whether records are new.
a. fIsFieldModified: Formula that determines whether records have modified field values.
Data Type
Boolean
Formula
fIsNew:
ISNEW()
fIsFieldModified:
ISCHANGED({!$Record.OwnerID})
||
ISCHANGED({!$Record.Name})
||
ISCHANGED({!$Record.ParentId})
||
ISCHANGED({$Record.SVMXDEV__Preferred_Technician__c)}
6. In the Toolbox pane, on the Elements tab, under Logic, drag and drop a Decision element into the right pane, and then in the New Decision dialog box, in the Label field, enter the name you want to use for the Decision, for example, Is New or Updated.
7. In the Outcomes section, configure Formula Outcome execution. For example, to configure Outcome execution for new or changed records, configure two Outcomes with the following field values.
* 
To add an Outcome to the Decision, in the left pane, under Outcome Order, click New Outcome ().
Field
Value
Label
The name you want to use for each Outcome, for example, Is New and Is Modified.
Outcome API Name
Outcome API names, which are auto-populated based on related Label values.
Condition Requirements to Execute Outcome
Conditions that must be met to initiate trigger execution, for example, All Conditions Are Met (AND).
Resource
The Formula you want to use for each Outcome, for example, fIsFieldNew and fIsFieldModified.
Operator
The operator you want to use to apply each Formula, for example, Equals.
Value
The value returned by each operator that meets decision criteria, for example, True.
When to Execute Outcome
The criteria that determine the time at which each Outcome is executed, for example, If the condition requirements are met.
8. In the Toolbox pane, on the Elements tab, under Interaction, drag and drop Action elements into the right pane and configure two Apex Action elements to publish Create and Update platform events.
Field
Value
Action
The Apex Action used to publish platform events, which is always SVMXSB_SB_ProcessBuilderHelper.
Label
The name you want to use for the new Apex Action, for example, Publish Account Create Platform Event and Publish Account Update Platform Event.
API Name
The name for the new Action in the API, which auto-populates based on what you enter in the Action field. You can specify any unique name.
Event Name
The event with which you want this Action to interact, for example, create or update.
Object Name
The object with which you want this Action to interact, for example, Account.
Record Id
{!$Record.Id}
9. In the right pane, connect the Start, Decision, and Apex Action elements to each other as shown in the following figure, and then click Save and specify a label and API name for the Flow.
* 
Be sure to deactivate the previously configured Process Builder that is replaced by this newly configured Flow. Otherwise, duplicate platform events, such as Create and Update events for the Account object, are created.
The current Service Board implementation includes object-specific triggers that automatically publish Delete platform events. Therefore, you cannot configure Flows for the Delete platform event at this time. The triggers are planned for removal in an upcoming release.
For more information:
Was this helpful?