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 is represented. In addition, there are Call Activities which is when you call in another process in our model. Read more about this in the article Call Activity.
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 plus symbol + a new window opens where you can edit and model your subprocess.
How to create a subprocess
- Add a subprocess symbol from the left-hand menu.
- Click on the "+"-sign to expand the subprocess.
- Model your subprocess within the enabled window, just the way you normally model with a start task and end symbol. Then close the subprocess window by using the x-sign in the top right.
- Make sure your subprocess symbol is connected to the rest of your model. If you want the process to be runnable, add participants to the tasks and other symbols in the same way you do for a main process.
- Publish the process.
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.
Sub instance settings
For a sub process or Call Activity, fill in this field and all its sub instances will be named after the text you enter. It is also possible to isolate the sub instance from the main instance by stating a sub folder for all the content of the sub instance.
How to set the Sub instance settingsOpen the settings for the Sub process/Call Activity, click on Sub instance settings and make your changes:
- Enter a text for the name of the sub instances. If you want to use form fields to set the name, you may have to make some settings on your form, see Name the sub instance with form field below.
- Isolate the sub instance from the main instance by enabling Create sub folder, name the sub folder.
How can I name the sub instances
The sub instance name can be set to anything using these components:
- Static string - Write a static string and every instance will be named that string - Note that it's hard to separate the instances if only using strings for the name
- Form field - Use a form field to set the instance name, the syntax for fetching form fields are $[objectname].[fieldname]$, see example below
- Variable - Use variables to set the instance name, i.e. $instance.createddate$
- Concatenate - Use combinations of strings, form fields and variables, i.e. "Purchase request: $Request.requestName$", "$Requst.requestName$ $instance.createddate$", "$Request.requestName$ $Request.requestDate$"
All sub instances will be named according to [Main instance name] - [Sub instance name]. If you state a specific sub instance name it will still have the main instance name followed by a hyphen before the sub instance name.
Read more about variables in the article Variables.
Example of using form field to set the name of the sub instances
- Make sure you have the name of the data object from which you want to collect the form field data from.
- Get the field name of the field you wish to capture the text for the instance name from.
TIP: To make it easier to remember set your own name to the form field instead of using the default ones (i.e. Field8).
Set the sub instance setting to $[form template name].[field name]$
The syntax for sub instance name the images above are: "Invoice #: $InvoiceData.invoice$" (prior to the sub instance name is the main instance name "14 headphones" also created with a dynamic naming of the instance, followed by a hyphen).
When to set the Sub instance settings
Sub instances are named according to these requirements, in this specific order:
- If there is a Sub instance setting the instance is named according to that, else
- the instance is named exactly like the sub process task/Call Activity in the main process.
Use the sub instance settings when you want to control the name of the sub instance.
Instance settings are also available for ordinary instances, read more in the article How to Create Your First Process.