QA test: Moving from Process Builder to Salesforce Flow
QA test article: how we moved 14 Process Builder processes to Salesforce Flow in 6 days, with the Migrate to Flow tool, one flow per object and bulk tests.
QA test article for E07 testing (16 Oct 2026). Not real content – to be removed or rewritten.
Why Process Builder has to go
Salesforce ended support for Workflow Rules and Process Builder on 31 December 2025. Existing processes still run, but they get no bug fixes, and new automation should be built in Flow. Salesforce documents the retirement in its Migrate to Flow help article.
In our test org we had 14 active processes on Account, Opportunity and Case. We migrated them in two sprints, about 6 working days in total.
Step 1: inventory what you have
Start in Setup → Process Automation → Process Builder and export the list. For each process, write down the object, the trigger (create, or create and edit), the criteria and the actions. We kept this in a simple table:
Object | Processes | Migrated to |
|---|---|---|
Account | 5 | 1 record-triggered flow |
Opportunity | 6 | 2 record-triggered flows |
Case | 3 | 1 record-triggered flow |
Step 2: use the Migrate to Flow tool first
The Migrate to Flow tool in Setup converts a process into a record-triggered flow. In our experience it handled about 70% of our processes without manual changes. It does not convert processes that call other processes, and it skips some scheduled actions.
Step 3: combine flows per object
Where several processes run on the same object, we merged them into one before-save flow for field updates and one after-save flow for related records. That reduced 14 processes to 4 flows and made the order of execution predictable.
Step 4: test with real records
We tested every flow in a full sandbox with Flow debug and with 200-record data loads, to catch bulkification problems. Two flows hit the limit of 100 SOQL queries until we moved a Get Records element outside a loop.
// Before: Get Records inside a Loop element (1 query per record)
// After: one Get Records before the Loop, then a collection filter
Step 5: switch over and deactivate
Activate the new flow and deactivate the old process in the same deployment, never one without the other, or the automation runs twice. We used a change set and deployed outside business hours.
"The merge into one flow per object was the part that paid off. Debugging got much easier." – QA test quote, not a real person
Pitfalls we hit
Formula criteria in Process Builder sometimes need rewriting as flow formulas, because functions like PRIORVALUE behave differently.
Scheduled actions become scheduled paths, which need a time-based trigger field.
Field updates that relied on running in a specific order across processes had to be combined.
Key takeaways
Inventory first, use the Migrate to Flow tool for the simple cases, merge per object, and test with bulk data. For our 14 processes that took about 6 days, including testing. Salesforce Trailhead has a module on record-triggered flows if your team is new to Flow.