Automation variables

Templates use {{variable}} placeholders. The run store is a flat string map: keys may contain dots (repo.full_name), but they are not nested objects.

How references work

  1. Write the full catalog key inside {{…}}.
    Use {{repo.full_name}}, {{workflow.name}}, {{steps.fix.summary}}.
    Do not write {{repo}} or {{workflow}} alone — those keys are not published and become empty strings at run time.
  2. Dots are part of the key name, not object path navigation. {{pr.head.ref}} looks up the single key "pr.head.ref".
  3. Bare keys are valid when the catalog lists them ({{failed}}, {{head_branch}}). An event. prefix is optional for the same value ({{event.failed}} ≡ {{failed}}).
  4. Step outputs require an id on the producing step, then {{steps.<id>.<field>}}. The latest agent / commands / check step also publishes {{agent.summary}}, {{commands.output}}, {{check.passed}}.
  5. Unknown keys interpolate to empty. The editor and draft tools warn when a template references a key that is not available for the trigger or prior steps.

Event variables

Each trigger publishes fields from its catalog entry. Common examples:

  • Manual: message, inputs, plus each declared input as inputs.<name> and bare <name>
  • GitHub workflow run: conclusion, failed, workflow.name, run.url, head_branch, failed_jobs, repo.full_name
  • GitLab pipeline: pipeline.status, pipeline.failed, pipeline.ref, pipeline.url, project.path_with_namespace

Use get_automation_guide for the complete event field lists and check-step patterns.

Built-in automation fields

VariableMeaning
automation.nameWorkflow name
automation.idAutomation id
event.typeTrigger event id
event.received_atWhen the event was received

Step outputs

After a step with id completes, later steps can read:

PatternMeaning
steps.<id>.summaryAgent assistant summary
steps.<id>.outcomeAgent outcome (success / blocked / failed)
steps.<id>.thread_idAgent or commands thread id
steps.<id>.task_marked_completeWhether the agent marked the task complete
steps.<id>.exit_codeCommands exit code
steps.<id>.outputCommands combined output
steps.<id>.failedCommands failed (true / false)
steps.<id>.lastLast command string
steps.<id>.passedCheck expression result
steps.<id>.expressionCheck expression text

The latest agent / commands / check values are also available as agent.*, commands.*, and check.* (for example {{agent.summary}}, {{commands.output}}, {{check.passed}}).

Prefer stable step ids so prompts stay readable.

Interpolation sites

  • Agent prompt, repository, branch
  • Commands strings, workingDirectory, repository, branch
  • Notify title, body, href
  • Check if expressions (operands resolve the same way)

Always pass repository and branch on agent / commands steps from event variables (for example {{repo.full_name}} and {{head_branch}}) so the step attaches the correct checkout.