Core Concept
- A playbook is a YAML declaration of a workflow.
- The server exposes APIs used by the UI, CLI, and workers.
- Worker pools lease work from the queue and execute playbook actions.
Playbook Sections
Each playbook contains four logical sections:
- metadata – identifies the playbook (
name,path, and optionalversion,description). - workload – global variables merged with the payload supplied when you register or execute the playbook.
- workbook – a namespace of named actions. Steps reference these entries with
tool: workbookandname: <task>. - workflow – the ordered list of steps, transitions, and branching logic.
All values support Jinja2 templating so you can substitute workload variables, payload data, iterator state, or previous results.
Step Behaviour
- Steps live inside the
workflowarray and must have a uniquestepname. - Every step declares a
tool. Supported options includeworkbook,python,http,duckdb,postgres, andplaybook(plus any plugin-specific tools).tool: playbookschedules another playbook for execution (withpathand optionalreturn_step).tool: workbookcombined withnamereferences a workbook task and runs its action definition.- Other action tools (
python,http,duckdb,postgres,secrets, etc.) execute inline using the attributes provided on the step.
- Iteration is modelled with a
loopblock on the step. Providecollection,element, and optionalmodeattributes. The engine runs the step once per element and can accumulate results. - Each step can expose a
nextlist. Usewhen/then/elseblocks to route execution and attach optionaldatapayloads for downstream steps. - Steps (and workbook tasks) can include a
sinkblock to funnel their results into storage-oriented actions such as Postgres, DuckDB, or HTTP. - Steps may declare
authto reference credentials resolved by the execution engine. - Every workflow must include a
startstep (entry router) and anendstep to aggregate results or return them to the caller.
Core Concept V2
NoETL is a lightweight, event-driven workflow engine. You describe intent in playbooks and NoETL evaluates steps, manages transitions, and records state so you can replay or resume executions.
Typical Flow
- Author – Write a playbook: define
metadata, declare defaults inworkload, add reusable actions toworkbook, and model the step graph inworkflow. - Execute – Run it from CLI or API, optionally providing a payload that overrides parts of
workload. - Observe – Workers execute steps, emit events, and persist results. You inspect logs, metrics, and saved outputs.