Early Access · Open Source

BPMN Workflows at
Rust Speed

Fluxion is an open-source BPMN 2.0 workflow engine built in Rust. Deploy processes via HTTP, execute tasks, route decisions, and orchestrate services — without the JVM.

Get Started Explore features
Start
Service
service-task
Review
user-task
?
gateway
End
Rust
Memory-safe runtime
BPMN 2.0
Standard-compliant
REST API
Deploy & operate via HTTP
Open Source
Self-host, no vendor lock-in
Multi-tenant
Built-in isolation

Everything you need to orchestrate

A full-featured workflow engine you can run anywhere — from a single binary to a distributed cluster.

🔄
BPMN 2.0 Engine

Import any BPMN 2.0 diagram. Fluxion parses, validates, and compiles it to an executable workflow graph — supporting service tasks, user tasks, exclusive and parallel gateways, message events, and timers.

Native Performance

Written in Rust. No JVM warm-up, no garbage collection pauses. Fluxion starts in milliseconds and handles high-throughput workloads with predictable latency from the first request.

💾
Persistent Workflows

Every process instance, token, task, and variable is persisted to PostgreSQL via SQLx. Instances survive restarts and crashes. Full execution history is queryable at any time.

🔐
Security First

HS256/RS256 JWT authentication, OAuth2 resource server support, RBAC with viewer, operator, and admin roles. Tenant isolation enforced at the database level.

📊
Full Observability

Prometheus metrics on every HTTP route, latency histograms, tenant-scoped gauges, and per-task counters. OpenTelemetry tracing with W3C traceparent propagation — plug Fluxion into your existing stack.

🧩
DMN Decisions

Evaluate business rules with the built-in DMN engine. Model decision tables and FEEL expressions outside your code, deploy them alongside your workflows, and call them from any service task.

🔗
Message Correlation

Pause a workflow at an intermediate catch event and resume it when a correlated message arrives via the API. Model long-running async patterns like order confirmations and payment callbacks cleanly.

🖥️
Built-in Cockpit UI

Open /ui for a live workflow console. View running and completed instances, inspect current graph position with node highlighting, manage user task inboxes, and act on tasks — no extra tooling needed.

⏱️
Timer & Scheduling

Boundary and intermediate timer events are executed by a built-in scheduler. Model ISO 8601 durations and absolute dates in BPMN — Fluxion fires them accurately without an external cron.

Quickstart

From zero to running workflow
in four commands

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

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

# Server is ready at http://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,
  "deployed_at": "2026-06-24T12:00:00Z"
}
# Start a process instance
curl --json '{ "variables": { "order_id": 42 } }' \
     http://127.0.0.1:3001/api/v1/processes/approval/start

# Claim and complete the generated user task
curl --json '{ "assignee": "alice" }' \
     http://127.0.0.1:3001/api/v1/tasks/TASK_ID/claim

curl --json '{ "assignee": "alice", "variables": { "approved": true } }' \
     http://127.0.0.1:3001/api/v1/tasks/TASK_ID/complete

{"status":"completed"}
Architecture

Designed for production from day one

Fluxion is structured as a Cargo workspace of focused crates, each with a clear boundary — easy to embed, extend, or replace.

🦀 Core Crates

  • fluxion-parser — BPMN 2.0 XML import & validation
  • fluxion-engine — Token-based workflow execution
  • fluxion-persistence — SQLx PostgreSQL repository
  • fluxion-dmn — DMN decision table evaluation
  • fluxion-api — Axum HTTP server & connectors

🔌 Connectors

  • HTTP — Call external services from workflows
  • Kafka — Trigger processes and publish lifecycle events
  • NATS — Pub/sub messaging integration
  • WebAssembly — Execute sandboxed WASM modules
  • AI — OpenAI & Ollama structured-output tasks

📡 API Surface

  • REST API under /api/v1/*
  • Process deploy, start, cancel, migrate
  • Task claim, complete, fail
  • Message correlation
  • Signal broadcast, variable patch

🏢 Enterprise Ready

  • JWT HS256 + OAuth2 RS256 authentication
  • RBAC: viewer / operator / admin roles
  • Multi-tenant with per-token claim enforcement
  • Prometheus metrics + OpenTelemetry traces
  • W3C traceparent distributed trace propagation
Integrations

Fits into your existing stack

Fluxion connects to the tools your team already runs — no proprietary agents or SaaS dependencies required.

PostgreSQL
Apache Kafka
NATS
Prometheus
OpenTelemetry
OpenAI
Ollama
WebAssembly
Vercel / Docker
BPMN 2.0
DMN / FEEL
Any HTTP service

Start orchestrating today

Fluxion is built for teams that need a fast, self-hosted workflow engine. Run cargo run -p fluxion-server, connect PostgreSQL, and your BPMN runtime is live in under a minute.