Node Flowdocs

Workflow engine alternatives compared

How node-flow compares with Conductor, Orkes, Temporal, Trigger.dev, Inngest, Restate, iii, Hatchet, Step Functions, Airflow and Camunda — and when to pick each.

Choosing a workflow orchestrator is mostly choosing a model. Once the model is right, the rest — languages, hosting, pricing — narrows quickly. These pages compare node-flow with the engines people most often evaluate it against, and say plainly when the other tool is the better fit.

The short version

node-flow is a self-hosted workflow orchestration engine in the Netflix Conductor tradition: a workflow is a JSON DAG, workers in any language poll for the steps they own, and the engine owns retries, timeouts, compensation, waits and human approvals. Its one infrastructure dependency is PostgreSQL.

Workflow is…Runs onWorkers inSelf-host footprint
node-flowJSON DAG (data)Your infrastructureAny language, plain HTTPPostgres only
Netflix Conductor / Conductor OSSJSON DAG (data)Your infrastructureAny languageJVM server plus queue, persistence and index stores
Orkes ConductorJSON DAG (data)Orkes Cloud or enterprise installAny languageManaged, or a commercial self-hosted install
TemporalCode (deterministic functions)Temporal Cloud or self-hostedLanguages with a Temporal SDKServer cluster plus a SQL or Cassandra store, optional Elasticsearch
Trigger.devTypeScript codeTrigger.dev Cloud or self-hostedTypeScriptWebapp, Postgres, Redis, object storage, registry
InngestCode (step functions)Inngest Cloud or self-hostedLanguages with an Inngest SDKInngest server and its stores
RestateCode (durable handlers)Restate Cloud or self-hostedLanguages with a Restate SDKRestate server
iiiCode (functions + triggers)Self-hosted engineLanguages with an iii SDKiii engine
HatchetCode (tasks and DAGs)Hatchet Cloud or self-hostedLanguages with a Hatchet SDKHatchet engine plus Postgres
AWS Step FunctionsJSON state machineAWS onlyLambda, AWS services, activity workersNone — fully managed
Apache AirflowPython DAGYour infrastructure or a managed servicePython operatorsScheduler, metadata DB, executor
CamundaBPMN diagramCamunda SaaS or self-managedJob workersCamunda platform components

Competitor details change quickly. Each page links to the vendor's own documentation — check it before you decide.

Two models, one decision

Orchestration: node-flow, Conductor, Step Functions, Camunda Durable execution: Temporal, Restate, Inngest, Trigger.dev, iii, Hatchet The workflow is a document the engine reads Engine owns control flow; your code owns one step Any language, no runtime in the worker The workflow is code in your service SDK replays or checkpoints it One SDK per language
Where the workflow lives

Pick orchestration (node-flow) when a process crosses teams, services or languages; when operators who do not read your code need to see, retry or terminate a run; when long waits and human approvals are normal; and when you want to run one database rather than a platform.

Pick durable execution when the whole workflow lives inside one team's service, in one language, and is genuinely code — rich types, complex state, logic that would be miserable as JSON.

They also combine: node-flow can own a cross-team process and call a Temporal workflow, a Trigger.dev task or a Lambda as one step.

  • Looking for a Netflix Conductor alternative now that Netflix no longer maintains it? → Conductor
  • Looking for an Orkes Conductor alternative you can self-host without a licence negotiation? → Orkes
  • Looking for a Temporal alternative without determinism rules or a Cassandra cluster? → Temporal
  • Looking for a Trigger.dev alternative that is not TypeScript-only? → Trigger.dev
  • Looking for an open-source workflow orchestrator? → Open-source workflow engines

Frequently asked questions

What is node-flow?

node-flow is a self-hosted workflow orchestration engine. Workflows are declarative JSON DAGs, workers in any language poll for tasks over HTTP, and PostgreSQL 18 is the only infrastructure it needs. It is compatible with the Netflix Conductor API for supported workflow and worker endpoints.

What is the best alternative to Netflix Conductor?

If you want to keep Conductor’s model — JSON workflows and polling workers in any language — node-flow is the closest alternative: it exposes a Conductor-compatible API at /conductor/api and replaces Conductor’s Redis, persistence and Elasticsearch stack with a single Postgres database. If you want to move to code-first workflows instead, Temporal is the usual choice.

Is node-flow a Temporal alternative?

Yes, for cross-team and cross-language processes. Temporal makes code durable; node-flow orchestrates a JSON workflow whose steps are run by workers in any language. node-flow has no determinism rules for workflow code and needs only Postgres; Temporal is the better fit when the workflow is complex code owned by one team.

Is node-flow free?

Yes. node-flow is free to run, including commercially and in products you sell. It is source available rather than OSI open source: you may read, run and redistribute it unmodified, but not distribute modified versions.

On this page