Sub-Process
A Sub-Process is a compound activity containing its own complete flow of activities, gateways, and events. It encapsulates related steps, enabling process decomposition and reuse. For example, an "Order Fulfillment" sub-process groups pick, pack, and ship steps together, allowing a single error boundary event to handle failures for all three steps at once.
What is a Sub-Process?
A Sub-Process (or Embedded Sub-Process) contains a complete BPMN flow within it-activities, gateways, events, and sequence flows. It groups related activities together, providing scope for variables and event handling.
Visual Representation
A Sub-Process displays as a large rounded rectangle with a small plus sign at the bottom center when collapsed, or shows its internal contents when expanded. The border is thicker than regular tasks.
Key Characteristics
- Contains complete flow: Has its own start event, activities, and end event(s)
- Variable scope: Can define local variables visible only within the sub-process
- Event scope: Boundary events can attach to handle sub-process-level exceptions
- Visual grouping: Organizes related activities for readability
See it in action
Visa application steps are grouped into a reusable sub-process
Read: The Travel Agency →Common mistake
Making sub-processes too large. If a sub-process has more than 7-10 elements, consider breaking it into smaller sub-processes or using call activities.
How it connects
Common Use Cases
Order Fulfillment Phase
Group all fulfillment activities (pick, pack, ship) into a sub-process that can have its own error handling.
Approval Workflow
Encapsulate the multi-step approval flow so boundary events can handle escalation at the approval level.
Repeatable Section
Mark a sub-process as multi-instance to execute the same steps for each item in a collection.
Frequently Asked Questions
Related BPMN Elements
Model this in Crismo
Create BPMN diagrams with AI assistance. Free, no signup needed.