Skip to main content

Call Flow

The Call Flow node triggers and executes another workflow. It supports passing parameters and receiving return values.

Overview

Save reusable sub-logic (such as login, data cleaning) as an independent workflow file and call it from the main workflow via this node. When called, it blocks and waits for the sub-workflow to finish executing, then continues downstream nodes after receiving the return value.

The called workflow must be started via Manual Execute — otherwise, it won't appear in the candidate list.

Call Flow Configuration Panel

Usage

After dragging in the node, configure the following parameters:

Target Workflow

Select the workflow to call from the dropdown. The dropdown automatically filters to workflows containing a "Manual Execute" node — only this entry point can be called externally.

Carry Data

JSON parameters passed to the sub-workflow. The sub-workflow receives them via its trigger's "Receive Data" field.

Supports {{variableName}} references — variables are replaced with actual values before JSON parsing, so you can embed upstream variables anywhere in the JSON:

{
"url": "{{targetUrl}}",
"orderId": "{{orderId}}",
"config": {
"timeout": 5000,
"retry": {{retryCount}}
}
}

Assuming upstream retryCount = 3, the actual JSON passed to the sub-workflow is:

{
"url": "https://shop.example.com/order/12345",
"orderId": "12345",
"config": {
"timeout": 5000,
"retry": 3
}
}

Note: {{retryCount}} is not quoted, so it's replaced with the number 3. If written as "{{retryCount}}", it would be replaced with the string "3". Decide whether to quote based on the type the sub-workflow expects.

The data format is JSON, supporting relaxed syntax like trailing commas, single quotes, and comments.

Execution Mode

Controls which browser page the called workflow executes on. Three modes are available:

  • Inherit Target Config (default): Uses the execution mode configured in the called workflow's Manual Execute trigger.
  • Open New Tab: Opens a new tab and navigates to the specified URL, then executes the workflow on that page. Requires a target URL, supports {{variableName}} references.
  • Specify Tab (TabId): Executes the workflow on a specified already-opened tab. Requires the target tab's TabId, supports {{variableName}} references. Mainly used in combination with variables.

Output Variable

The variable name to store the sub-workflow's return value. Data returned by the sub-workflow via the Return node is stored in this variable, available to downstream nodes in the main workflow via {{variableName.field}}.

Main workflow — referencing the return value after the call:

Assuming Output Variable is set to "result" and the sub-workflow returns:
{
"status": "success",
"amount": 99.00,
"items": ["A", "B"]
}

Main workflow downstream references:
{{result.status}} → "success"
{{result.amount}} → 99.00
{{result.items}} → ["A", "B"]

After Execution

Controls what happens after the called workflow completes:

  • No Action (default): No extra operation. Downstream nodes in the main workflow continue execution.
  • Close Calling Workflow Page: Closes the page where the called workflow was executing. Useful when you open a new tab for the sub-workflow and want it auto-closed after completion.

Complete Example

Sub-workflow (the called side):

  1. Entry is "Manual Execute" with Receive Data set to data
  2. The sub-workflow accesses the main workflow's parameters via {{data.url}}, {{data.orderId}}
  3. After execution, the Return node returns the result:
{
"status": "success",
"amount": "99.00"
}

Main workflow (the calling side):

  1. "Call Flow" node: Target Workflow set to the sub-workflow, Carry Data filled with JSON containing variables, Output Variable set to result
  2. After the call completes, reference the return value via {{result.status}}, {{result.amount}}
  3. If Output Variable is left empty, the return value is discarded and the sub-workflow only executes as a side effect

Parameter Reference

ParameterTypeDefaultDescription
Target WorkflowDropdownRequired. Only lists workflows containing Manual Execute
Carry DataJSONParameters passed to the sub-workflow. Supports {{variableName}} references; variables are replaced before JSON parsing
Execution ModeDropdownInherit Target ConfigControls which page the sub-workflow executes on. Options: Inherit Target Config, Open New Tab (URL required), Specify Tab (TabId required)
Output VariableTextVariable name to store the return value. Leave empty to discard
After ExecutionDropdownNo ActionAction after the sub-workflow completes. Options: No Action, Close Calling Workflow Page

FAQ

Target workflow doesn't appear in the dropdown

Symptom: The target workflow has been saved, but doesn't show in the dropdown.

Cause: The target workflow is missing a Manual Execute node.

Solution: Add a "Manual Execute" node to the target workflow and save it.

Sub-workflow doesn't receive the passed parameters

Symptom: JSON was filled in Carry Data, but the sub-workflow's variables are empty.

Cause: The sub-workflow trigger's "Receive Data" field is empty, or the field name doesn't match the variable name referenced inside the sub-workflow.

Solution: Confirm the sub-workflow trigger's "Receive Data" is filled in (e.g., data), and the sub-workflow references it via {{data.fieldName}}.