Complex Gateway
A Complex Gateway provides custom routing logic that cannot be expressed by other gateway types. It uses expressions to define arbitrary split and join behavior.
What is a Complex Gateway?
A Complex Gateway handles routing scenarios too complex for standard gateways. It allows modelers to define custom split and join logic using expressions when standard AND/OR/XOR semantics do not fit.
Visual Representation
A Complex Gateway displays as a diamond shape containing an asterisk (*). The asterisk represents the custom/complex nature of its routing logic.
Key Characteristics
- Custom logic: Defines routing using expressions or scripts
- Flexible join rules: Can specify partial synchronization (e.g., 2 of 3 paths)
- M of N patterns: Useful for quorum-based decisions
- Last resort: Use only when other gateway types cannot model the scenario
Common mistake
Using a Complex Gateway when a simpler gateway type would work. Complex Gateways make diagrams harder to understand and are rarely supported by engines. Always try Exclusive, Parallel, or Inclusive first.
How it connects
Common Use Cases
Quorum Approval
Proceed when any 2 of 3 approvers respond, regardless of which two.
Majority Decision
Continue when the majority of parallel review paths complete successfully.
Custom Synchronization
Wait for specific combinations of paths based on runtime conditions.
Frequently Asked Questions
Related BPMN Elements
Model this in Crismo
Create BPMN diagrams with AI assistance. Free, no signup needed.