# BPMN sub processes A sub-process is an activity containing its own process. Collapsed, it keeps the parent diagram readable; expanded, it shows the detail. It is the main tool for keeping a real process on one page. --- ## When it matters * Processes too large to read on one screen. * Reusable fragments that appear in several processes. --- ## The symbols | **Symbol** | **Means** | | --------------------- | --------------------------------------------------------------- | | Collapsed sub-process | Task with a plus marker. Detail lives elsewhere. | | Expanded sub-process | Drawn inline in a box, for shorter detail. | | Call activity | Thick border. Calls a process defined separately, and reusable. | | Event sub-process | Dotted border. Triggered by an event rather than by flow. | | Transaction | Double border. All or nothing, with compensation. | --- ## A few things that catch people out * A call activity is reusable; an ordinary sub-process is not. The distinction matters when automating. * Event sub-processes have no incoming sequence flow; they are triggered, not entered. * Collapse anything that is not the subject of this diagram. --- ## Related [BPMN sequence and message flowsSolid lines stay inside; dashed lines cross.](https://help.gocapable.com/diagrams/bpmn-sequence-and-message-flows.html) [BPMN pools and lanesWho is taking part, and who does what.](https://help.gocapable.com/diagrams/bpmn-pools-and-lanes.html) [BPMN notation referenceBack to the full symbol reference.](https://help.gocapable.com/diagrams/bpmn-notation-reference.html) --- _Sequence flow stays inside the pool._