Recommended Free Tools
Choose the test method that matches the flow type, exercise every meaningful path and failure case, and run tests with safe data before deployment. Salesforce directs users to the Flow Builder debugger for most flow types, while record-triggered and autolaunched flows use Test Mode when it is available in the org. A successful run is useful evidence, but it does not prove every path works or that the flow behaves correctly for its intended users.
Choose the Salesforce test method by flow type
Start by identifying the flow type and how it is meant to run. Salesforce’s Testing Your Flow Before Activation points users to the Flow Builder debugger for flow types other than record-triggered and autolaunched flows. Those two types use Test Mode, where you can define test scenarios. Salesforce also documents automated testing for Data Cloud-triggered flows.
| Flow or test need | Salesforce experience | What it is useful for |
|---|---|---|
| Flow types other than record-triggered and autolaunched | Flow Builder debugger | Step through execution and inspect resource values. |
| Record-triggered or autolaunched flow | Test Mode, if available in the org | Run scenarios against the flow and, with Scenario Testing Automation, evaluate assertions. |
| Data Cloud-triggered flow | Salesforce’s documented automated flow testing | Test using the active flow version by default, or the latest version if none is active. |
Salesforce currently labels Test Mode a pilot or beta service in its Test Mode guidance. Confirm that the feature is available and enabled in the target org before planning around it. A debugger trace and a saved scenario serve different purposes: the debugger exposes execution steps, while automated scenarios can be saved and reused.
Prepare safe, representative test data
Use a sandbox and sample records that resemble the inputs the flow will receive. Salesforce recommends avoiding live customer records for initial testing. If a flow sends email, direct test messages to an internal address so an accidental run cannot contact customers.
#1 Best Overall
Before running a test, review every action that could affect systems outside the flow: record updates, Apex actions, callouts, and email. A debugger run can execute DML and Apex actions. Unless rollback mode is selected, database changes may be committed; stopping or restarting the run does not reverse changes that have already committed. Salesforce describes this risk in Test or Troubleshoot Flows with the Flow Builder Debugger.
Check rollback and isolation settings
- For a normal debugger run, explicitly select rollback mode when you do not want its database changes to persist. Do not assume that ending a run undoes committed work.
- Test Mode has rollback enabled by default, according to Salesforce’s Test Mode documentation.
- Isolated test data is available only in Test Mode. Salesforce says this data uses an Apex class annotated with
@testSetup. - Use a sandbox and controlled sample data even when rollback is enabled; rollback does not make external side effects such as messages or callouts safe by itself.
Build a scenario matrix that covers paths and failures
Do not stop after the most common successful route. For each Decision element, create a case for every outcome, including the default outcome. Include ordinary inputs, boundary values, and unexpected values so that conditions are tested where they are most likely to fail.
Rank #2
| Scenario to test | Example of what to verify |
|---|---|
| Each Decision outcome, including default | The intended branch is taken and produces the expected result. |
| Boundary values | Values at the minimum or maximum behave as the conditions specify. |
| Unexpected or missing values | The flow handles unusual inputs safely rather than taking an unintended route or failing silently. |
| Fault paths and errors | Fault connectors run when applicable, and any error message or recovery behavior is appropriate. |
| Different user permissions and data access | The flow succeeds or fails as expected for the users who will run it. |
Salesforce recommends a test scenario for every path a flow can take. That includes paths people may not use every day: defaults, error handling, and branches reached only by unusual data.
Use the debugger to inspect a run
In Flow Builder, open the flow and use the debugger to run it with representative inputs. Watch the step-by-step trace and inspect resource values as the flow progresses. This is especially useful for locating the element where an unexpected value or branch first appears.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
Where the org permits it, an administrator can debug or test as another user after enabling the relevant org setting in a sandbox. The other user’s profile and permission sets determine object and field access, except when the flow always runs in system context. Testing as an administrator alone can therefore miss access problems that affect ordinary users. Salesforce documents the constraints in its debugger guidance.
Make reusable scenarios prove expected results
For record-triggered and autolaunched flows, Test Mode scenarios provide a repeatable way to run cases. With Scenario Testing Automation, add assertions that compare actual resource values with the expected values you configure. A scenario passes only when every assertion passes; a run that executes without an error is not sufficient if its outputs are wrong.
Rank #4
- Create a scenario for a specific input and path, then set the expected resource values for that case.
- Run it and review each assertion. If one fails, compare the configured condition with the evaluated runtime value and identify the responsible element.
- Correct the condition or element, then rerun the scenario to verify the expected result.
- Save and reuse the scenario so the same behavior can be checked after later changes.
Salesforce’s Automated Flow Testing recommends creating a scenario for every path. Before running Test Mode scenarios, check which flow versions are selected: Test Mode selects all versions by default. For a Data Cloud-triggered test, Salesforce selects the active version by default, or the latest version if no version is active.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Test in the intended user context, then check deployment behavior
A test run confirms only the behavior exercised under its inputs and execution context. A passing debugger run does not establish full path coverage, and an administrator-context run does not establish that users with narrower permissions can run the flow successfully. Include relevant user access in the scenario matrix and test under the intended context when the org’s settings allow it.
Best Value
Testing and activation are separate checks. Salesforce says flows deployed from a sandbox or other non-production org arrive in production inactive by default. An optional active-deployment setting changes that behavior for eligible deployments. According to Deploy Processes and Flows as Active, its coverage requirement applies to processes and autolaunched flows deployed by change sets or Metadata API, not to flows with screens. Do not treat that limited deployment rule as a substitute for broader quality checks across flow types.
Before release, verify the exact flow version and activation state, the deployment method, and whether the org’s active-deployment setting applies. Follow the release process for the target production org rather than assuming that a flow tested in a sandbox will become active automatically.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




