Type identifier:
flow:executeCategory: Flow Operations
Runs another Flow, optionally scheduling it for a later run. Allows Flows to call other Flows, passing inputs and receiving results. Supports both synchronous (inline) and scheduled (background) run modes.
Handle | Data Type | Required | Description |
|---|---|---|---|
|
| Yes* | Execution trigger input (*unless data-only) |
|
| No* | When to run (*only if |
| Varies | Varies | Dynamic inputs matching target Flow trigger |
triggertriggerisDataOnly: falsescheduledAtdateNotes:
isScheduled is trueInput handles are dynamically generated based on the target Flow's trigger node incomingData configuration. The handle ID follows the pattern {type}:{incomingDataId}.
Handle | Data Type | Description |
|---|---|---|
|
| Emitted when the child Flow run succeeds |
|
| Emitted when the child Flow run fails |
|
| The run ID (only if |
| Varies | Result from each |
flowExecutionIdstring (CUID2 format)isScheduled is true. The ID can be used to track or cancel the scheduled run.When isScheduled is false, output handles are created for each flow:result node in the target Flow. The handle ID is the result node's nodeId, and the data type matches the result node's configured type.
Property | Type | Required | Default | Description |
|---|---|---|---|---|
|
| Yes |
| Display label for the node |
|
| Yes |
| CUID2 of the target Flow |
|
| Yes |
| Node ID of the trigger in the target Flow |
|
| No |
| Whether to schedule for a later run |
flowIdstring (CUID2 format, 25 characters)triggerNodeIdstringflow:trigger node in the target FlowisScheduledbooleanfalseNotes:
true, the Flow is queued to run in the backgroundfalse, the Flow runs inline and results are available immediatelytrigger input handleisScheduledux:message, ux:action) automatically pass output to the parent Flowsuccess on completion or error on failure (see Child Flow Failure Propagation)scheduledAt inputflowExecutionId for trackingsuccess after schedulingA synchronous child Flow fails when one of its nodes fails with an error that the node does not handle itself, that is, the failing node has no connected error output. This includes data nodes (for example a data:expression that throws) whose failure would otherwise only resolve to null in a consumer that tolerates missing data, such as flow:result. Errors that are only written to the run log (for example Missing required property '…' in source schema while mapping inputs) do not fail the child Flow, and a failing node whose error output is connected is treated as handled.
When the child Flow fails:
error output is connected, it triggers error and sets its error result to { message }, where the message names the failing child Flow node and its error. success is not triggered.error output is not connected, the failure is unhandled in the calling Flow as well: the node fails, and the failure keeps propagating to the next calling flow:execute node, up to the first one with a connected error output.For each incoming data item in the target trigger:
entity types, applies the standard Record fieldsux:message and ux:action outputs are automatically passed to the parent Flowflow:result outputs are captured and available on the corresponding output handleScenario | Behaviour |
|---|---|
Target Flow not found | Error: "flow not found" |
Trigger node not found | Error: "targetTriggerNode not found" |
Invalid | Error: "scheduledAt is not an Instant" |
| Runs immediately with info log |
Target Flow throws exception | Triggers |
Child Flow node fails, | Triggers |
Child Flow node fails, | Fails this node; propagates to the calling Flow |
Required input missing | Error during input resolution |
{
"type": "flow:execute",
"data": {
"label": "Execute Process Order",
"flowId": "clx1234567890abcdefghij",
"triggerNodeId": "node_abc123",
"isScheduled": false
}
}Input Handles (assuming target trigger has orderId string input):
trigger (trigger)string:orderId (string)Output Handles (assuming target has one result node):
success (trigger)error (trigger)node_result_xyz (matches result node type){
"type": "flow:execute",
"data": {
"label": "Schedule Email Reminder",
"flowId": "clx9876543210zyxwvutsrq",
"triggerNodeId": "node_def456",
"isScheduled": true
}
}Input Handles:
trigger (trigger)scheduledAt (date)Output Handles:
success (trigger)error (trigger)flowExecutionId (string)