Understand testing individual workflow steps
You can test individual steps in a workflow without running the entire workflow. This lets you validate step configuration, inspect real output, and verify how downstream steps handle data from the workflow builder.
Testing runs against the current draft version, so you do not need to publish first.
Step testing supports two run options:
- Run all previous steps: Run all predecessor steps in sequence, then run the target step with their real output. Use this option to validate the target step against live predecessor data.
- Set mock data: Provide sample output data for predecessor steps, then run only the target step. Use this option to test a step in isolation without executing predecessor steps.
Both options behave identically to production workflow runs. Timeouts, retries, credential resolution, and template expressions all work exactly as they do in a full workflow run.
Execution halts after the target step completes and does not continue through the rest of the workflow.
Test steps that use control flow
Step testing works with conditional steps, loop steps, converge steps, switch steps, and wait steps:
- Conditional steps: When you mock a conditional step, you specify which branch to follow (for example, the True or False path). The system routes execution to that branch and skips the other.
- Loop steps: When you mock a loop step, you provide the loop item and index. The target step inside the loop body runs with natural access to loop variables such as
${loop.item}. - Converge steps: When you mock all branches feeding into a converge step, it runs normally. It checks that all predecessors are complete before passing through.
- Switch steps: When you mock a switch step, you specify which case port to route to. The system follows that branch and skips the others.
- Wait steps: When you mock a Wait step, the system treats the wait as complete and continues to the target step.
Test run records
Test runs appear as run records in the run history with a test mode flag. You can filter the run history to show test runs when you need to review earlier test results.
Each test run record includes:
- Which steps used mock data and which executed with real output
- The output data or error details for each executed step
- The overall execution status