Skip to content

Run approvers in parallel

A parallel branch asks several people at the same time instead of one after another, which removes the waiting between them. You choose what finishing means: everybody must answer, or the first answer settles it.

Required role: Administrator.

  1. Open the workflow’s draft version in the designer.
  2. Drag a Parallel Split step onto the canvas and connect the step before it.
  3. Draw a line from the split to each approval step that should run at the same time. Each line is one branch.
  4. Drag a Parallel Join step onto the canvas and connect every branch into it.
  5. Select the join and open the Config tab.
  6. Choose the Join Strategy.
  7. Choose the Approval decision policy if the branches are approvals rather than tasks.
  8. Set Timeout (minutes) and, if you set one above zero, choose the On Timeout action.
  9. Select Save, then Validate.

Every line out of the split becomes its own branch, running at the same time as the others. The join is what waits for them and decides when the route may continue.

Example: HC Corp asks Daniel Okonkwo in Finance and Sophie Clarke in the People team to approve a promotion at the same time. Neither is waiting on the other, and the promotion moves at the speed of the slower one rather than the sum of both.

A branch without a join has nothing to merge it back, which is one of the things validation checks before you can publish.

OptionDescription
Wait for AllEvery branch must finish before the route continues.
Wait for Any (first wins)The first branch to finish releases the route.

For branches that are approvals, the decision policy adds the outcome to that rule:

OptionDescription
None — use join strategy aboveThe join waits as the strategy says and does not route on approved or rejected.
All must approve — any rejection haltsEvery approver must approve. The first rejection stops the branch immediately, rather than leaving the other approvers with tasks that no longer matter.
Any one approves — first approval advancesThe first approval releases the route and the remaining tasks are cancelled.

Setting a decision policy means the join routes by outcome, so it needs two lines out of it — one for the approved result and one for the rejected result. The panel says so when you set the policy, and validation refuses a publish where those paths are missing.

Example: HC Corp uses All must approve on a promotion, because Finance and the People team are each accountable for their own part. It uses Any one approves on an out-of-hours authorisation with three named approvers, because there the point is that somebody is available.

OptionDescription
Timeout (minutes)How long the join waits before the timeout action runs. Zero means it waits indefinitely.
ProceedThe route continues with whatever has been decided.
CancelThe route is cancelled.
EscalateThe waiting work is escalated.

Example: an all-must-approve join with a timeout of 2,880 minutes and Escalate means a promotion left undecided for two days is escalated rather than sitting between two departments indefinitely.

Choose Proceed with care on an all-must-approve join. It means the route continues without one of the approvals you said you needed.

When the route runs, each branch produces its own task in its own approver’s inbox with its own deadline. The join applies the strategy and policy you set, and the instance view shows which branches have finished and which are still waiting.