Send approval requests to multiple people simultaneously and proceed when a minimum number approve. Faster than serial chains for peer-level decisions.
Rendering diagram…
Use parallel approval when:
All approvers receive the request at the same time. The workflow tracks responses and proceeds once the threshold is met.
| Configuration | Behavior |
|---|---|
| All must approve | Wait for every approver. Any rejection = rejected. |
| Majority rules | Wait for >50% to approve. If majority reject, rejected. |
| First response wins | The first approver's decision is final. Others are cancelled. |
| N of M | Require exactly N approvals out of M approvers (e.g., 2 of 5). |
Determine who participates. Sources:
Decide the completion criteria:
threshold = 2 // minimum approvals needed
total_approvers = 3 // total people asked
timeout_days = 5 // max wait time
Create a task for each approver simultaneously. Each task should include:
As responses come in, evaluate the threshold:
| Scenario (2-of-3 threshold) | Approved | Rejected | Pending | Result |
|---|---|---|---|---|
| First response: Approve | 1 | 0 | 2 | Continue waiting |
| Second response: Approve | 2 | 0 | 1 | Approved — cancel pending tasks |
| Second response: Reject | 1 | 1 | 1 | Continue waiting |
| All responded | 1 | 2 | 0 | Rejected |
When the threshold is met:
If approvers can see each other's votes, you introduce bias. Consider hiding intermediate results until the threshold is met, especially for sensitive decisions.
Route a request through a sequence of approvers where each must approve before the next receives it. The simplest and most common approval pattern.