The “Start subprocess” is available only on User Task nodes.
For any other scenarios, you should use the Call Activity node instead.
Configuring a Start subprocess action
To use a process as a subprocess you must first create it. Once the subprocess is created, you can start it from another (parent) process. To do this, you will need to add a Start Subprocess action to a User task node in the parent process or by using a Call activity node. Here are the steps to start a subprocess from a parent process:- First, create a process designed to be used as a subprocess.
- In the parent process, create a user task node where you want to start the subprocess created at step 1.
- Add a Start subprocess action to the task node.
- Configure the Start Subprocess action and from the dropdown list choose the subprocess created at step 1.
The following properties must be configured for a Start subprocess action:
- Action Edit
- Trigger
- Execution
- Navigation
- Select Subprocess
- Subprocess Options
- Data Mapping
- Advanced Configuration
- Data to send (for Manual actions)
Action edit
- Name - used internally to make a distinction between different actions on nodes in the process. We recommend defining an action naming standard to be able to quickly find the process actions
- Action type - should be set to Start Subprocess
Trigger
- Manual - toggle to choose if this action should be triggered manually (triggered by the user) or automatically (when the process flow reaches this step). In most use cases, this will be set to automatic
- Repeatable - toggle to enable if the action can be triggered multiple times
Execution
- Optional - automatic actions are mandatory by default. Manual actions can be set as optional by enabling this toggle
- Autorun Children? - when this is enabled, the child actions (the ones defined as mandatory and automatic) will run immediately after the execution of the parent action is finalized
Navigation
- Allow back to this action - enables back-in-process functionality that allows you to go back in a business process and redo a series of previous actions in the process. For more details, check Moving a token backwards in a process section
Select Subprocess
- Subprocess name - dropdown to select the process that you want to start as a subprocess. The dropdown displays the available subprocesses in the format
[Workspace]ProcessName - Branch - a dropdown menu displaying available branches on the subprocess (both opened and merged)
- Version - the type of version that should be used within the subprocess
- Latest Work in Progress:
- Displayed if the selected branch is not merged into another branch.
- This configuration is used when there is a work-in-progress (WIP) version on the selected branch or when there is no WIP version on the selected branch due to either work in progress being submitted or the branch being merged.
- In such cases, the latest available configuration on the selected branch is used.
- Latest Submitted Work:
- This configuration is used when there is submitted work on the selected branch, and the current branch has been submitted on another branch (latest submitted work on the selected branch is not the merged version).
- Custom Version:
- Displayed if the selected branch contains submitted versions.
Subprocess Options
- Parallel Multi-Instance - enables the subprocess to run multiple instances in parallel
- Start Async - when enabled, the subprocess will start asynchronously
Data Mapping
- Switch to legacy mapping - toggle to enable legacy data mapping configuration
- Copy from current state - if a value is set here, it will overwrite the default behavior (of copying the whole data from the subprocess) with copying just the data that is specified (based on keys). Click the + button to add keys and specify the Output Key for each
- Exclude from current state - specify which fields you want to exclude when copying the data from the parent process to the subprocess (by default all data fields are copied). Click the + button to add keys to exclude
Map which data will be sent and received from the subprocess you are starting.
Advanced configuration
- Show Target Process - toggle to enable the subprocess to communicate with the parent process (the process where this action is configured)
Data to send
- Keys - are used when data is sent from the frontend via an action to validate the data (you can find more information in the User task configuration section)
Example
Let’s create a main process, in this process we will add a user task node that will represent a menu page. In this newly added node we will add multiple subprocess actions that will represent menu items. When you select a menu item, a subprocess will run representing that particular menu item.
To start a subprocess, we can, for example, create the following minimum configuration in a user task node (now we configure the process where we want to start a subprocess):
- Action -
menu_item_1- used internally to make a distinction between different actions on nodes in the process. We recommend defining an action naming standard to be able to quickly find the process actions - Trigger type - Manual; Optional
- Repeatable - yes
- Subprocess -
docs_menu_item_1- the name of the process that you want to start as a subprocess - Exclude from current state -
test.price- copy all the data from the parent, except the price data - Copy from current state - leave this field empty in order to copy all the data (except the keys that are specified in the Exclude from current state field), if not, add the keys from which you wish to copy the data
Advanced configuration
- Target process (parentProcessInstanceId) -
${processInstanceId}- current process ID
Result


