﻿# Comparison of subprocess start methods

> [HTML Version](start-subprocesses.html)

When modeling complex business processes, you might need to decompose them: separate recurring or isolated scenarios into separate subprocesses. The system offers several ways to launch one process from another:



- The **Start Process** activity. It is a separate graphic element that you place on the parent process diagram. It allows you to launch any process associated with the app, workspace, or company.

- The **Start Process** tab in the settings of the **Task**, **Create App Item**, **Edit App Item**, **Approval**, **Send Document/App Item**, **Approval by Route**, **Document Registration**, and **Sign** activities. This method is available starting in system version 2026.2. It allows you to launch a subprocess simultaneously with the parent process task. In child process scripts, you can directly access the associated task data via the `\_\_task` system property.

- The **Call Process** activity. It launches processes created in the custom module.



Let's look at their similarities and differences.

## Call Process activity vs Start Process system block vs Start Process tab

The **Call Process** activity type, the standard **Start Process** activity, and the **Start Process** tab  are similar, but there is a number of differences between them. They are shown in the table below.

| | | | |
|------|------|------|------|
|  | **Call Process**<br> | **Start Process activity**<br> | **Start Process tab** |
| Purpose | Allows you to configure the execution of a specific business process created at the module level. <br>Such a process cannot be started directly from BRIX interface, for example, via a process launch button added to an item page. <br>It can only be executed using the **Call Process** activity type. | Allows you to launch any business process created at the company, workspace, or app level. | 
| Use case | Processing context variables of the parent process within the configured integration with a third-party resource via a custom module. | Working with parent process variables in a child process as part of a parallel complex task with its own swimlanes, steps, etc. | Passing system properties of a task from a parent to a child process, for example, to form a link to the task, etc. |
| When the subprocess starts | The subprocess is started in a separate step of the parent process. | | The subprocess is started simultaneously with the activity to which it is connected in the parent process. |
| Where the subprocess start is configured | A custom action created in advance in the module. Appears as a block on the **Integrations** tab if the module is enabled. | A separate block on the **Standard Elements** tab. | In the settings of the **Task**, **Create App Item**, **Edit App Item**, **Approval**, **Send Document/App Item**, **Approval by Route**, **Document Registration**, and **Sign** blocks. |
| Asynchronous start | No.<br>The transition to the next step of the business process is possible only after the business process activity of the **Call Process** type is completed. | Yes (optionally).<br>The parent process can run in parallel with the child process, i.e., with the **Start Process** activity, without waiting for it to complete.<br>You can also configure the parent process to continue only after the child process has finished. | Asynchronous launch only: in parallel with the parent process. |
| Associate a subprocess launch with a parent process object | No. | You can associate a subprocess launch to the **App**-type variable of the parent process. Then, the child process's events will appear in the activity stream of the associated object. | The subprocess is automatically associated with the current task of the parent process. This allows the child process to access this task's data in scripts using the `\_\_task` system property. |
| Passing context variables from parent to child process  | Yes. | | 
| Passing context variables from a child to a parent process | Yes. | Yes if the asynchronous start is disabled. | No. |
| Tracked in the Process Monitor | <br>Yes. | | 
| The history of each step is available to users | Yes. The information is available on the **History** tab of the instance page. | | 

Learn more about configuring these methods in the following articles:

- [Call Process activity](call-process-activity.md) for more information on the custom module activity.

- [Start Process](360012266792.md) for more information on the standard activity.

- [Parallel launch of a subprocess from the current step](start-subprocess-tab.md) for information on the **Start Process** tab.

