fluxion

Make work flow.

Fluxion is a BPMN 2.0 workflow engine in Rust. Build dependable processes, ship them as a single service, and keep every moving part in view.

approval-process.bpmn
START
Validate order
?
Review task
Notify team
DONE

Less plumbing.

More doing.

When a process gets complicated, your runtime shouldn’t. Fluxion gives every task, decision, event, and variable a clear place to go.

From a single binary to a distributed cluster, the same BPMN graph stays readable, observable, and ready for production.

Fast where it
counts.

Rust means no JVM warm-up and no surprise garbage-collection pauses. Fluxion starts in milliseconds and keeps latency predictable from the first request.

Try the quickstart ↗
fluxion / runtimelive

Execution throughput

Average latency12ms
Instances today8,492
RuntimeRust 1.82

Every handoff
has a home.

Import a BPMN 2.0 diagram and Fluxion turns it into an executable workflow graph. Service tasks, user tasks, gateways, timers, and messages all speak the same language.

Explore the engine ↗

Things
in motion.

DEPLOYprocess definition
EXECUTEtokens & tasks
OBSERVEevents & traces
BPMN
native

From zero
to running.

Fluxion ships as a single binary with a REST API. Bring your own PostgreSQL or use the included Compose file.

Back to the top ↑
# Start PostgreSQL + Fluxion
cp .env.example .env
docker compose up -d postgres
cargo run -p fluxion-server

# Server is ready at 127.0.0.1:3001
curl http://127.0.0.1:3001/health
 {"status":"ok"}
# Deploy a BPMN process definition
curl --json '{ "bpmn_xml": "<definitions ...>" }' \\
  http://127.0.0.1:3001/api/v1/processes

 {"process_key":"approval","version":1}
# Start a process instance
curl --json '{ "variables": { "order_id": 42 } }' \\
  http://127.0.0.1:3001/api/v1/processes/approval/start

# → task created, ready for review
 {"status":"running"}

Give your
processes room.

Open-source workflow infrastructure for the work that matters.

Start with Fluxion ↗