Ending workflows with multiple branches
A workflow is complete when it reaches the End activity, even if there are still active branches of the workflow in progress. To ensure that both branches are completed, add a Join activity to resolve the branches.
For example, the following figure shows a workflow with two branches that execute independently. When Task 1 and Task 2 of Branch B are completed, the workflow is marked complete even if the Branch A tasks are not completed.
Image omitted: WorkflowMultipleBranchesProblematic.png
For both branches to complete, add a **Join** activity to resolve the branches. When one branch reaches the join, the workflow waits for the other branch. When both branches are complete, the workflow reaches the end. The **Incomplete** condition of the a **Join** activity is met only if one of the branches cannot be completed.
For both branches to complete, add a **Join** activity to resolve the branches. When one branch reaches the join, the workflow waits for the other branch. When both branches are complete, the workflow reaches the end. The **Incomplete** condition of the a **Join** activity is met only if one of the branches cannot be completed.
Image omitted: WorkflowMultipleBranchesJoined.png
**Parent Topic:**[Create a workflow](t_CreateAWorkflow.md)
**Parent Topic:**[Create a workflow](t_CreateAWorkflow.md)