A graph you can reason about.
Express branches, parallel work, loops, and human approvals in inspectable JSON.
Explore the workflow DSLTurn distributed work into a flow you can follow.
Durable execution, workers in any language, and just one dependency.
Validate an order, charge and reserve in parallel, then bring it all together.Illustrative execution · no server required
One worker protocol. Endless possibilities.
From a simple sequence to a sprawling graph, the same clear model takes you from definition to execution.
Express branches, parallel work, loops, and human approvals in inspectable JSON.
Explore the workflow DSLDurable state, task leases, and configurable retries keep distributed work moving.
Understand executionFollow execution history, inspect task outputs, and retry from the point that matters.
Take control of a runQueues, timers, workflow state, and the outbox. All backed by Postgres. One transactional foundation for the whole system.
Bring up Postgres, the server, and the dashboard with Docker Compose.
Describe your tasks in JSON. Register the definition with the API.
Lease a task, execute your logic, and report the result.
docker compose -f docker/docker-compose.yml upPostgresready
Node Flow server:3000
Dashboard:3100
From a local stack to a completed run. Follow the code, step by step.
QuickstartBranches, parallel tasks, waits, retries, and the complete workflow DSL.
Workflow guideEndpoints, schemas, and executable requests. Powered by Scalar.
API referenceDeploy, monitor, secure, and operate your own workflow infrastructure.
Self-hostingYour next workflow starts with a single step.
Start building with Node Flow
Built with curiosity. Shared with the world.