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
- 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. - Dots are part of the key name, not object path navigation.
{{pr.head.ref}}looks up the single key"pr.head.ref". - Bare keys are valid when the catalog lists them (
{{failed}},{{head_branch}}). Anevent.prefix is optional for the same value ({{event.failed}}≡{{failed}}). - Step outputs require an
idon the producing step, then{{steps.<id>.<field>}}. The latest agent / commands / check step also publishes{{agent.summary}},{{commands.output}},{{check.passed}}. - 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 asinputs.<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
| Variable | Meaning |
|---|---|
automation.name | Workflow name |
automation.id | Automation id |
event.type | Trigger event id |
event.received_at | When the event was received |
Step outputs
After a step with id completes, later steps can read:
| Pattern | Meaning |
|---|---|
steps.<id>.summary | Agent assistant summary |
steps.<id>.outcome | Agent outcome (success / blocked / failed) |
steps.<id>.thread_id | Agent or commands thread id |
steps.<id>.task_marked_complete | Whether the agent marked the task complete |
steps.<id>.exit_code | Commands exit code |
steps.<id>.output | Commands combined output |
steps.<id>.failed | Commands failed (true / false) |
steps.<id>.last | Last command string |
steps.<id>.passed | Check expression result |
steps.<id>.expression | Check 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
ifexpressions (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.