About Subprocesses
Subprocesses are embedded or in-line processes within the main business process. They are mainly used to manage complex business processes by grouping related activities together. Subprocesses not only improves the readability of complex processes in design-time but also improves the runtime user experience by enabling users to take collective actions on similar tasks during process execution.
- Subprocesses are child processes within the main (parent) process. But unlike reusable processes, they can't be called from outside the parent process.
- Subprocesses must always begin with a none start event and end with a none end event.
- Subprocesses are useful in modeling a group of repeatable tasks within the main process as subprocess activities can be configured as multi-instance activities.
- Subprocesses can have sequence flows only within the subprocess. Sequence flows that connect to activities outside the subprocess are not supported.
Let us explore how we can use subprocesses to make a complex process such as an employee onboarding process into a more manageable and readable process in design time, and then explore the runtime experience for the same. The employee onboarding process can have several activities within it, such as activities related to the main hiring process, and activities for training newly hired employees. We'll use the subprocess activity to group related hiring and training activities into inline subprocesses thereby making the main process more readable.