Skip to main content
Updated Nov 1, 2026

Execute Workflow

Use this action when you want one workflow or agent action to run another workflow manually.

Best for​

  • Reusing a common workflow from multiple places
  • Breaking a large automation into smaller reusable workflows
  • Triggering a workflow only when a previous step decides it should run

Main fields​

FieldWhat it does
Workflow IDSelects the workflow to run. It must have a manual or temporal trigger and be enabled
Args CEL Inputs ObjectA CEL expression that must evaluate to an object. Each of its keys becomes a top-level CEL variable in the child workflow — reference it by bare name (e.g. title, not args.title), matching the child's input names

What later steps can use​

This action stores the child workflow execution result inside workflow.step(N).data. The most commonly used field is:

  • workflow.step(N).data.returnValue — the value the child workflow's Return expression evaluated to (absent if no return expression was set)

Other available fields:

  • workflow.step(N).data.ok — true when the child workflow completed. It stays true when a step inside the child failed: the child's own execution record is then partial -- or stays success when every step that failed was marked allow failure -- so check the child's result through its Return expression if the parent depends on it
  • workflow.step(N).data.executed — number of steps executed in the child
  • workflow.step(N).data.occurrenceDate — execution timestamp
  • workflow.step(N).data.returnError — present only when the child's return expression failed to evaluate
  • workflow.step(N).data.workflow — the workflow document that ran

Debug once with realistic inputs before referencing these in later steps.

Tips​

  • The selected workflow must have a manual or temporal trigger and be enabled, or this action throws at runtime ("Only workflows with trigger.type === 'manual'|'temporal' can be executed via this function" / "This workflow is disabled and cannot be executed manually").
  • Name the child workflow's inputs to match the keys in the Args object so they map cleanly.