Pipeline steps reference

Pipeline steps reference

Load this file when authoring or editing pipeline YAML steps. Teaching examples:

For every capability operation param table, start at capabilities.md and open capabilities/<type>.md before writing that step. Do not invent types missing from the index.

Top-level definition fields and triggers: schema.md.

Shared step fields

Field Required Notes
name yes Unique within the pipeline
capability yes Capability type (e.g. core, karakeep)
operation yes Operation name on that capability
params no Template-rendered before execution
retry no max_attempts, delay, backoff, max_delay, jitter, retry_on

Templates

Pipeline step params (string values) are rendered with Go text/template before the step runs.
Delimiters are {{ and }}.

Available variables

Variable Populated? How to read Source
Event yes {{event "field"}} / {{.Event.field}} DataEvent payload or pipeline run --event JSON
Steps yes {{step "step_name" "field"}} Outputs of already completed steps
Env sometimes {{.Env.HOME}} Process environment on the runner
Input no — Workflow-only; do not rely on it in pipelines

Helper functions

Closed set only. Missing helpers fail at run time with function "…" not defined.

Helper Example
event {{event "url"}}
step {{step "fetch" "count"}}
jsonpath {{jsonpath (step "api" "result") "data.id"}}
default {{default "guest" (event "user")}}
json / len / join / split / contains / now see workflow steps docs for shapes

YAML tip: when an expression contains quotes, wrap the param value in single quotes:

params:
  title: 'Item: {{event "title"}}'
  url: "{{event.url}}"