> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Subprocess Step

> The Subprocess Step lets the current process trigger another Approval process workflow form, helping you decouple complex Approval processes. Typical scenarios include reusing the same process, process modularization, and invoking other processes. Available only in YiDA Dedicated edition.

This topic introduces the Subprocess Step, one of the step types you can add when designing an approval process workflow form.

<Note>
  The Subprocess Step is currently available only in YiDA Dedicated edition.
</Note>

## Use Cases

By breaking a complex approval process into one or more main processes and one or more subprocesses, you can organize your business more flexibly and reuse processes across different flows.

Typical scenarios include:

* Reusing the same process: When a business process needs to be reused, encapsulate it as a Subprocess Step so it can be reused across different processes.
* Modularizing processes: Break a complex business process into multiple Subprocess Steps for easier management and maintenance.
* Invoking other processes from a process: When one business process needs to invoke another, use a Subprocess Step to encapsulate the invoked process.

## Using Subprocesses

<Steps>
  <Step title="Step 1">
    Sign in to the [YiDA workbench](https://www.yidaapps.com/workPlatform). Select the target app and go to the app's **Page management** page.
  </Step>

  <Step title="Step 2">
    Select the workflow form, click the inverted triangle next to **Edit workflow form**, then click **workflow design**.
  </Step>
</Steps>

<Steps>
  <Step title="Move the cursor to the connecting line location of a step; a + button appears. Click + and select the Subprocess Step" />

  <Step title="Select the Subprocess Step, and in the step configuration panel on the right, initiate the subprocess form of the process" />

  <Step title="Select the initiator of the subprocess. Supports setting a specified user or a user field from the parent form">
    <Note>
      When there are multiple initiators, an approval process is created for each initiator, up to a maximum of 50 users.
    </Note>
  </Step>

  <Step title="Step 4">
    Configure data transfer for the Subprocess Step. In the data transfer step, you can set data transfer rules between the main process and the subprocess. This enables data initialization and data updates for specified fields.

    <Note>
      * You can assign parent process field values to the subprocess, and assign subprocess field values to the parent process.
      * Assigning values to subform components is not supported at this time.
    </Note>
  </Step>
</Steps>

For example, in a leave scenario, you can configure the process so that when a business-trip leave approval is completed, a business trip application is initiated, and the trip reason in the subprocess is set from the leave reason field in the parent process.

7. Set the trigger rules for the subsequent steps of the current main process step.

The following two routing rules are supported:

8. Set the auto-submit rules after the subprocess is initiated.

The following two auto-submit rules are supported:

9. Click **Save** to complete the configuration.

## Limits

* You can add a maximum of three subprocesses per parent process.
* You can pass a maximum of 50 field values to the subprocess or main process.
* Data transfer does not support subform components at this time.
* Parent-child process nesting supports a maximum of two tiers. For example, process A can nest process B, but nesting process C within process B is not supported.
