Workflow Block
Execute another workflow
The Workflow block executes another saved workflow as an inline sub-workflow. Use it to build modular, composable automation by combining smaller tested workflows into layered systems — for example, an orchestrator that delegates work to specialist workflows.
Overview
| Property | Value |
|---|---|
| Type | workflow |
| Category | blocks |
| Color | #705335 |
When to Use
- Reuse a shared "send notification" or "process data" workflow from multiple parent workflows
- Break complex logic into smaller, independently testable units
- Build orchestrator patterns where a top-level workflow routes tasks to specialist sub-workflows
- Chain workflows sequentially so the output of one feeds the input of another
- Avoid duplicating block logic — maintain it in one child workflow and call it everywhere it is needed
Configuration
Select Workflow (required)
A dropdown that lists every workflow in the current workspace except the workflow you are editing (to prevent recursion). Choose the workflow to execute. The value stored is the workflow's internal workflowId string.
Input Variable (optional)
A short text field. Provide a {{blockName.field}} reference (or a literal string) to pass data into the child workflow. Whatever you supply here is made available as start.input inside the child workflow, allowing it to receive context from the parent. Leave blank if the child workflow does not need external input.
Inputs & Outputs
Inputs
workflowId(string) — ID of the workflow to execute; populated automatically from the Select Workflow dropdowninput(string) — Variable reference or literal value to pass to the child workflow; available asstart.inputinside the child workflow
Outputs
success(boolean) — Whether the child workflow execution completed without errorchildWorkflowName(string) — Display name of the child workflow that was executedresult(json) — The full execution result returned by the child workflow's Response blockerror(string) — Error message if the execution failed; empty whensuccessistrue
Tools
Workflow Executor (workflow_executor) — Calls /api/tools/workflow-executor with the target workflowId and an optional inputMapping object. It runs the child workflow synchronously and returns success, childWorkflowId, childWorkflowName, duration, and the full child workflow result merged into the response.
YAML Example
workflow_1:
type: workflow
name: "Workflow"
inputs:
workflowId: "wf_abc123def456"
input: "{{agent_1.result}}"
connections:
outgoing:
- target: response_1Reference the child workflow's outputs in downstream blocks using {{workflow_1.result}}, {{workflow_1.success}}, or {{workflow_1.error}}.