Link child operation flow.child-operation
Use this node when another service owns a long-running operation but the workflow still needs a durable reference to it. Typical examples include a render job, a data export, a cloud build, or a batch request created outside the Flow runtime. The node records the relationship in workflow history. It does not start the operation, poll its status, wait for completion, or forward cancellation. Choose a child workflow node when Flow must own those lifecycle decisions.
Reference fields
reference_id is the stable identity of this reference inside the parent run. Keep it deterministic across replay and make its relationship to the graph node easy to inspect. kind is a host-defined category such as render-job or export. operation_id stores the identity assigned by the external system. The optional flow_run_id can point to another Flow run when that relationship is useful. Put only small, non-sensitive inspection data in metadata, such as a resource type or tenant-visible object reference.
After the reference event is committed, control leaves through linked and the structured reference is available on child. Connect an explicit task, hook, or signal path if the workflow must later query status, collect a result, or request cancellation. A linked node means the identity was accepted and recorded. It makes no claim about the current health or terminal outcome of the external operation.
Ownership and release checks
The host should verify that the operation exists, that the caller may reference it, and that each metadata key is safe to preserve in history. Cover duplicate submission, an unknown operation ID, an already completed operation, a temporarily unavailable owner service, and process recovery in tests. Operational views should distinguish linked, running, completed, and unavailable states instead of presenting the reference event as a result event. If the external result may be large, retain it in the owning system and pass a stable object reference through the workflow.
Use it to register a long-running job owned by another system, such as rendering, import, or an external batch. The node stores a reference and does not start or await the job.
Runtime behavior
After the reference commits, execution continues through linked. Polling, cancellation, and result collection require separate step, hook, or signal nodes.
Node contract
- Type
flow.child-operation- Role
- Durable runtime command
- Runtime binding
link_child_operation- Durable identity
- Graph node ID
Configuration properties
| Property | Type and control | Default | Rules |
|---|---|---|---|
reference_idReference ID | strStrInput | child | Stable reference identity.Required |
kindOperation kind | strStrInput | operation | Host-defined operation category.Required |
operation_idOperation ID | strStrInput | operation-1 | Identity assigned by the external system.Required |
flow_run_idFlow run ID | strStrInput | "" | Optional related Flow run.Optional · Advanced |
metadataMetadata | dictJSONInput | {} | Optional host-owned JSON metadata.Optional · Advanced |
Ports
| Direction | Port ID | Kind | Value types |
|---|---|---|---|
| Input | inIn | control | FlowControl |
| Output | linkedLinked | control | FlowControl |
Node JSON example
The CLI creates the same structure from manifest defaults. Canvas position, title, and selection are presentation data.
CLI usage
Inspect the installed manifest first, then create the node and validate the complete workflow. Every command emits JSON.
Skill usage
The package includes the a3s-flow Skill. It queries the CLI catalog before creating, validating, compiling, and digesting a workflow.
Operational notes
- Keep reference_id stable within the parent run.
- Use the real identity assigned by the external owner.
- Choose a child workflow when Flow must own the full lifecycle.
