> For the complete documentation index, see [llms.txt](https://docs.zerowork.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zerowork.io/using-zerowork/using-building-blocks/run-taskbot.md).

# Run TaskBot

***Available in Agent 1.1.75.***

The **Run TaskBot** block allows you to start another TaskBot from within the currently running TaskBot.

<figure><img src="/files/baWTm4CnNdOgbYP9OiUb" alt=""><figcaption></figcaption></figure>

#### **How To Use It**

* Select the TaskBot you want to run.
* Optionally, pass values to variables in the selected TaskBot. Only the variables you specify are changed. All other variables keep their current values.
* Choose whether the current TaskBot should wait until the selected TaskBot finishes.

#### **Things To Know**

* All variable name and value fields accept [variable and table references](/using-zerowork/using-building-blocks/dynamic-inputs/references-to-variables-and-tables.md), as well as [expressions or code input](/using-zerowork/using-building-blocks/dynamic-inputs/code-in-inputs.md).
* You can select **Custom** to provide a TaskBot ID using a [variable or table reference](/using-zerowork/using-building-blocks/dynamic-inputs/references-to-variables-and-tables.md), [expression/code input](/using-zerowork/using-building-blocks/dynamic-inputs/code-in-inputs.md), or plain text instead of selecting a TaskBot from the list. This can be useful when building a TaskBot for a client or for sharing with others.
* By default, a value passed to a variable is also saved as that variable's new value in the selected TaskBot. To pass a value for this run only, turn off **Persist value** in the variable's settings inside the selected TaskBot.
* A TaskBot started by another TaskBot can itself start another TaskBot. There is no restriction to one parent-child level.

#### **Block Behavior**

* When **Wait until the TaskBot finishes** is enabled, the current TaskBot pauses until the selected TaskBot finishes. If the selected TaskBot fails or is manually stopped, an error is thrown at this block. You can use [Try-Catch](/using-zerowork/using-building-blocks/try-catch.md) blocks to handle the error.
* When **Wait until the TaskBot finishes** is disabled, the current TaskBot continues immediately. The selected TaskBot's outcome and errors do not surface in the current TaskBot. You can view them in the selected TaskBot's run reports.
* Recursive behavior is not allowed. For example, if TaskBot A starts TaskBot B and TaskBot B attempts to start TaskBot A, an error is thrown to prevent an infinite loop.
* Manually stopping a TaskBot also stops all child TaskBots started from that run, including child TaskBots further down the chain. For example, if TaskBot A starts TaskBot B, which starts TaskBot C, manually stopping TaskBot A also stops TaskBots B and C. Manually stopping TaskBot B stops TaskBot C, but does not stop TaskBot A. This applies only to child TaskBots started with **Wait until the TaskBot finishes** enabled.
