For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Flow/en/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Flow/en/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Flow/en/nodes/child-operation.md.

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

PropertyType and controlDefaultRules
reference_idReference IDstrStrInputchildStable reference identity.Required
kindOperation kindstrStrInputoperationHost-defined operation category.Required
operation_idOperation IDstrStrInputoperation-1Identity assigned by the external system.Required
flow_run_idFlow run IDstrStrInput""Optional related Flow run.Optional · Advanced
metadataMetadatadictJSONInput{}Optional host-owned JSON metadata.Optional · Advanced

Ports

DirectionPort IDKindValue types
InputinIncontrolFlowControl
OutputlinkedLinkedcontrolFlowControl

Node JSON example

The CLI creates the same structure from manifest defaults. Canvas position, title, and selection are presentation data.

workflow.json
{
  "position": {
    "x": 320,
    "y": 160
  },
  "id": "example-flow-child-operation",
  "data": {
    "reference_id": "child",
    "kind": "operation",
    "operation_id": "operation-1",
    "flow_run_id": "",
    "metadata": {},
    "type": "flow.child-operation"
  }
}

CLI usage

Inspect the installed manifest first, then create the node and validate the complete workflow. Every command emits JSON.

Terminal
a3s-flow node flow.child-operation --pretty
a3s-flow new flow.child-operation --id example-flow-child-operation --pretty
a3s-flow validate workflow.json --pretty
a3s-flow compile workflow.json --pretty
a3s-flow digest workflow.json --pretty

Skill usage

The package includes the a3s-flow Skill. It queries the CLI catalog before creating, validating, compiling, and digesting a workflow.

Prompt
Use $a3s-flow to add the "flow.child-operation" node to workflow.json, connect valid ports, and validate the result.

CLI usage · Skill usage

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.