Subprocesses represent a collection of activities being represented collectively as a single activity, providing a natural way to draw a simple top-down view of the process with the ability to drill-down to any level of detail.

A subprocess only exists within the process where it´s represented and in addition to that there are Call Activities which is when you call in another process in our model. Read more about this in the article Call Activities.

When to use Subprocesses

Subprocesses consist of a set of activities that are connected to the parent process. They are typically a section of the same process but have a clear objective and can be defined with a beginning and an end. It is usually used to hide complexity in the process model.

When opening a subprocess through the "+"-symbol a new window opens where you can edit and model your subprocess. 

How to create a subprocess

1. Add a subprocess symbol from the left-hand menu.

2. Click on the "+"-sign to expand the subprocess.

3. Model your subprocess within the enabled window, just the way you normally model with start, task and end symbols. Then close the subprocess window by using the x-sign in the top right.

4. Make sure your subprocess symbol is connected to the rest of your model.

5. If you want the process to be runnable, add participants to the tasks and other symbol just the way you usually do.

6. Publish the process.

NOTE: Subprocess instances are named after the sub process task name. Configure how the sub instances are named as well as set if the sub instance should be isolated from the main instance or not by using the sub instance settings. Read more in the article Sub instance settings.