parallelFor - parallelForEnd Step
Description:
The Parallel For End step marks the completion of a Parallel For processing block within a FlowWright workflow.
When a workflow uses the Parallel For step, multiple workflow branches are created and executed simultaneously. Each branch processes a different item from the supplied collection. The Parallel For End step serves as the synchronization point where all parallel branches converge.
Unlike other workflow steps, Parallel For End does not perform business logic, accept configuration values, or manipulate workflow variables. Its primary responsibility is to indicate that every parallel branch has reached completion before allowing downstream workflow activities to continue.
Typical uses include:
- Synchronizing parallel document processing
- Completing batch processing operations
- Waiting for multiple approval branches
- Joining concurrent REST API calls
- Completing parallel file processing
- Synchronizing database update operations
- Coordinating concurrent integration tasks
- Consolidating parallel workflow execution
This step helps organizations build scalable workflows while maintaining a predictable execution sequence after parallel processing has finished.
Inputs
- None - The uploaded XML does not define any configuration properties for this step. The step simply marks the end of a Parallel For block.
Returns
- The uploaded XML does not define explicit return paths for this step.
Note: Unlike most workflow steps, Parallel For End functions as a synchronization marker rather than a decision point. Once all parallel execution branches have reached this step, workflow execution automatically continues with the next connected activity.
Usage:
The Parallel For End step is always used together with the Parallel For step. It should be positioned immediately after the workflow activities that are executed concurrently.
During execution:
- A Parallel For step creates multiple parallel execution branches.
- Each branch independently executes its assigned workflow activities.
- Every branch reaches the Parallel For End step.
- The workflow waits until all branches have completed.
- The parallel branches are synchronized.
- Workflow execution resumes as a single execution path.
A typical workflow might look like this:

Typical workflow scenarios include:
- Processing multiple invoices simultaneously
- Executing parallel document conversions
- Running concurrent approval activities
- Importing multiple customer records
- Executing multiple REST service calls
- Performing parallel validation routines
- Synchronizing batch integration processes
Example:
Let’s build and execute the “parallelFor-parallelForEndDef” example.
- Create a new process definition called “parallelFor-parallelForEndDef” and open it in Designer mode.
- Drag the “parallelFor, parallelForEnd, decision, synchronize, and placeHolder” steps to the canvas.
- Connect the dots between the “Start” and other steps, as shown above.
- Define a variable or a global to store the result.
- Click the "parallelFor" step to configure its "Required" properties. Provide a name for the step. Provide a comma-separated list of keys (for example, 1,2,3, as shown in this example, to iterate the workflow 3 times). Click the Save button. Note: Click the "AI Predict" button to have Copilot add new process steps that match your process description.

- A variable reference can also initialize the keys (which may contain 7, 3, 10), and the steps are executed three times. The keys are always comma-separated by design. For example, a key-value “3” is processed only once, not 3 times.

- Click the "decision" step to configure its "Required" properties. Provide a name for the step and a condition to evaluate. Then click the Save button. Note: Click the "AI Predict" button for the Copilot to add new process steps that match your process description.

- Once executed, the workflow will automatically expand to the number of paths based on the number of keys, as shown below.

Tips:
- Always pair this step with a corresponding Parallel For step.
- Place the step after every activity that should execute in parallel.
- Avoid placing additional workflow logic between the end of the parallel branches and this synchronization point.
- Ensure that each parallel branch can complete independently.
- Generate reports or notifications only after the Parallel For End step to ensure all processing has finished.
- Combine this step with Send Email, Generate Reports, Database Update, Archive Process Instance, or other post-processing activities that should execute only once after all parallel work has completed.
Notes:
- The uploaded XML defines no configurable properties for this step.
- The uploaded XML defines no explicit return paths for this step.
- This step is intended exclusively as the synchronization endpoint of a Parallel For block.
- Workflow execution does not continue until every parallel branch reaches this step.
- No workflow variables are created or modified by this step.
- Execution details for the synchronization point are recorded in the FlowWright workflow execution log.
Parallel For End vs. Parallel For:
Although these workflow steps are designed to work together, each serves a different purpose.
| Parallel For End | Parallel For |
|---|---|
| Marks the end of a parallel processing block. | Starts a parallel processing block. |
| Synchronizes all parallel branches into a single execution path. | Creates multiple parallel execution branches from a supplied list of keys. |
| Has no configurable properties. | Requires a list of keys and a workflow variable to hold the current key. |
| Performs no business processing or variable assignment. | Assigns the current key to a workflow variable during each iteration. |
| Continues workflow execution only after all parallel branches have completed. | Initializes concurrent execution for each item in the collection. |
As a general guideline:
- Use Parallel For to begin concurrent processing of a collection of independent items.
- Use Parallel For End immediately after the parallel processing activities to synchronize all branches before continuing with downstream workflow steps.
Definition Sample:
You may download the sample workflow definition from the link provided and import it into your FlowWright environment.
Note: Verify and complete any missing configuration after importing the sample, including:
- Placement immediately after the associated Parallel For block
- All intended parallel activities
- Downstream workflow activities that should execute only after synchronization
- Validation that every parallel branch reaches the Parallel For End step
After verifying the configuration, save and publish the workflow before execution.