Synchronize Step

Use this step to wait for all paths to complete before proceeding.

Last published at: August 20th, 2026

Description:

The Synchronize workflow step waits for all connected workflow paths to complete before allowing the workflow to proceed.

The step supports:

  • Synchronizing multiple workflow paths
  • Waiting for parallel activities to complete
  • Bringing multiple workflow branches together
  • Coordinating downstream processing after prerequisite activities finish
  • Controlling the point at which subsequent workflow activities can begin

This step can be used for:

  • Parallel workflow processing
  • Multiple validation activities
  • Document processing workflows
  • Data preparation
  • Approval preparation
  • Integration workflows
  • Consolidating results from multiple workflow paths
  • Coordinating independent activities before a common next step

The Synchronize step is an Engine process step. Its definition does not contain configurable properties, return values, or property types.

 

Inputs

  • None - The step has no configurable input properties.
 

 

Returns

  • None -The Synchronize step does not define named return values or conditional return paths.
 

 

Usage:

The Synchronize step is typically placed after multiple workflow paths that can execute independently but must all complete before a subsequent workflow activity begins.

For example:

 

The workflow can perform the individual activities on separate paths. The Synchronize step provides a common point where the workflow waits for those paths to complete.

The workflow can then continue with a subsequent activity that depends on the completion of the preceding paths.

The Synchronize step is especially useful when the workflow contains activities that do not need to execute sequentially, but the next stage should not begin until all required activities are finished.

 

Typical Workflow Suggestions

Parallel Processing Followed by a Common Activity

Use Synchronize when several activities can be performed independently, but all must finish before a common activity starts.

 
Start
  ├──► Activity A ──┐
  ├──► Activity B ──┼──► Synchronize ──► Activity D
  └──► Activity C ──┘
 

Example: Retrieve information from multiple sources and generate a consolidated result only after all sources have been processed.

 

Document Processing

Synchronize can be used after independent document-related activities have completed.

 
Start
  ├──► Validate Document ────────┐
  ├──► Extract Document Data ────┼──► Synchronize ──► Approve Package
  └──► Check Document Metadata ──┘
 

This allows the workflow to treat the completion of multiple document-processing activities as a prerequisite for the next stage.

 

Multiple Validation Activities

When several validations must be completed before a process can continue, Synchronize can serve as a single convergence point.

 
Start
  ├──► Customer Validation ──┐
  ├──► Financial Validation ─┼──► Synchronize ──► Continue Processing
  └──► Compliance Validation ┘
 

This is useful when the validations are independent, but the subsequent processing depends on completion of all of them.

 

Preparation Before Final Processing

Synchronize can be used to coordinate several preparation activities before a final operation.

 
Start
  ├──► Prepare Data ────────┐
  ├──► Prepare Documents ───┼──► Synchronize ──► Final Processing
  └──► Prepare Notifications┘
 

The final processing step does not begin until the prerequisite paths have reached the synchronization point.

 

Example:

Let’s build and execute the “synchronizeDef” example.          

  • Create a new process definition called “synchronizeDef” and open it in Designer mode. 
  • Drag a few “Tasks” and “Synchronize” steps to the canvas. 
  • Connect the dots between the “Start” and other steps, as shown above
  • Select the line between the steps to configure the “Connection Properties”. The default property values are “None, Error, Evaluate, and Timeout”. Depending on the step’s purpose, additional values are available for configuration. 
  • Click the Task1 (Manager1 Approval) step to configure its "Required" properties. Provide a task name. Navigate to the “Optional” tab and configure the user to whom the task is routed. 
  •  Click the Task 2 (Manager 2 Approval) step to configure its "Required" properties. Provide a task name. Navigate to the “Optional” tab and configure the user to whom the task is routed. 
  • The “Synchronize” step has no configuration options.
  • Click the Task3 (Manager3 Approval) step to configure its "Required" properties. Provide a task name. Navigate to the “Optional” tab and configure the user to whom the task is routed. 
  • Save the process definition, create a new instance, and execute it. Navigate to the process instance page. The process instance is “sleeping” or waiting for users to complete the tasks. The independent activities can execute on their respective paths. The workflow reaches the Synchronize point and waits until all required incoming paths have completed. The workflow then proceeds to the next activity.

 

  • Navigate to the Engage > Tasks page. Complete the “Manager 1 Approval” task. Refresh the process instance page to view the “Synchronize” step, which is waiting for all incoming connections. 

 

Tips:

  • Use Synchronize when multiple workflow paths must complete before the process continues.
  • Place the step where the independent workflow paths converge.
  • Connect all required paths before the downstream activity can execute.
  • Use separate paths for activities that can be performed independently.
  • Place activities that depend on all preceding paths after the Synchronize step.
  • Use clear step names and workflow connections so that the synchronization point is easy to understand when reviewing the process definition.
  • Avoid using Synchronize when the workflow needs to make a business decision; the step does not define conditional return values.
  • Use Synchronize as a workflow coordination point rather than as a data-processing step.

 

Notes:

  • The Synchronize step does not have configurable properties.
  • The Synchronize step does not define return values.
  • The step is categorized as an Engine process step.
  • The step uses the FlowWright.Workflow.SynchronizeStep namespace.
  • The step is implemented in FlowWright.Workflow.dll.
  • The step definition specifies two input connections and two output connections.
  • The step definition describes its purpose as “Waits for all paths to complete before proceeding.”
  • The XML definition does not document additional runtime behavior such as timeout handling, error handling, or what happens when an incoming path does not complete. Such behavior should be verified against the FlowWright runtime implementation if required.

 

Feature comparison.

Feature Synchronize Parallel For Parallel For End
Primary purpose Waits for multiple workflow paths to finish before continuing Iterates over a list of keys and executes a workflow section for each key Marks the end of the workflow section controlled by Parallel For
User-configurable properties None Provide a list of keys; Variable to hold key value None
Input connections 2 2 2
Output connections 2 2 2
Returns None defined True / False None defined
Creates/repeats parallel iterations No Yes No
Acts as a synchronization point Yes No Completes the Parallel For construct
Requires another step No Typically paired with Parallel For End Yes — associated with Parallel For
DLL FlowWright.Workflow.dll FlowWright.Workflow.dll FlowWright.Workflow.dll

 

Definition Sample:

You may download the sample definition from the link provided and later import it into your FlowWright Process Definition XML page.

The Synchronize step definition is a lightweight Engine step with no configurable properties, returns, or property types.

Note: Verify and complete the workflow connections after importing the sample, including:

  • Incoming workflow paths
  • Activities that must complete before synchronization
  • The activity that should execute after synchronization
  • Any additional workflow-specific configuration

After verifying the workflow connections, save the Process Definition before execution.

Click here to download the sample file.