Pipeline YAML schema
Canonical shape is pipeline.EditorDefinition (DB published YAML). Load this file before writing or editing a definition.
Step details: steps.md. Capability params: capabilities.md.
name: example_pipeline
description: "Human-readable description"
enabled: true
resumable: false
triggers:
- type: event
enabled: true
event: demo.item.created
- type: cron
enabled: false
cron: "0 3 * * *"
cron_timeout: "30m"
steps:
- name: notify
capability: core
operation: notify_send
params:
template_id: "demo.new_item"
channels: ["slack"]
payload:
title: '{{event "title"}}'
Top-level fields
| Field |
Required |
Notes |
name |
yes |
Unique; validated by pipeline.ValidateName |
description |
no |
Human-readable |
enabled |
no |
Published disabled pipelines appear in list but cannot run / load into the engine |
resumable |
no |
Checkpoint + restart recovery |
triggers |
yes |
Array of event / cron / webhook triggers |
steps |
yes |
Ordered capability invocations |
Triggers
| Type |
Fields |
event |
event (DataEvent.EventType) |
cron |
cron, optional cron_timeout |
webhook |
webhook.path, auth token and/or hmac_secret |
Authoring checklist
- Copy the skeleton; set
name and enabled: true.
- Add at least one enabled trigger.
- For each step, open
capabilities/<type>.md and fill required params.
- Use
event / step helpers only from steps.md.
flowbot pipeline apply --file ... then get / run.
apply rejects kind: pipeline_blueprint. Instantiate via flowbot blueprint instantiate (catalog: pkg/pipeline/blueprints/).