A workflow is the versioned definition: nodes, edges, triggers, and settings. A run is one concrete pass of that definition at a point in time, with status and logs.
💡 Definition vs execution
Workflow
Run
Nature
JSON model + Dolibarr metadata
Execution instance
Lifecycle
Draft → active → archived
queued → running → terminal
Storage
Internal llx_knot_* tables
Executions history
Idempotency
Keys on nodes
Applied on each retry
💡 Workflow lifecycle
Draft: free editing; Simulate allowed when Problems is clean.
Active: triggers (cron, webhook, object event) can create runs.