Skip to content

Introduction

Fleans is a BPMN 2.0 workflow engine built on Microsoft Orleans. It ships as a set of containers; your application drives workflows over the REST API, in any language that speaks HTTP.

The engine targets approvals, order flows, escalations, and other multi-step business logic that benefits from a visual workflow model rather than ad-hoc state machines.

BPMN (Business Process Model and Notation) is the industry-standard visual language for describing workflows. It defines a small set of symbols — events, activities, gateways, and flows — that combine into executable process diagrams.

Fleans runs as a cluster of its own — four published container images deployed via Docker Compose or the Helm chart. Your application sits outside that cluster and calls the REST API on fleans-api.

  • fleans-api — REST API + Orleans silo (Core role); this is the surface your app talks to.
  • fleans-web — Blazor admin UI for deploying BPMN diagrams and inspecting running workflows.
  • fleans-worker — Orleans silo (Worker role) running script and condition evaluation.
  • fleans-mcp — MCP server for AI-tool integrations.
  • (optional) custom worker host — a .NET process you build to add your own task types. It joins the cluster alongside fleans-worker. See the template repo.

Extending the engine with a new task type is .NET-only (handlers derive from CustomTaskHandlerBase). The standard task set — Service Tasks, User Tasks, Script Tasks, and the built-in REST caller plugin — covers most use cases without writing a plugin.

Three tracks. They overlap and you can mix them.

App developer — driving workflows from your application:

  1. Quick Start — clone, run, deploy a sample workflow.
  2. Service Tasks — call out to your code or HTTP endpoints.
  3. User Tasks — human-in-the-loop steps.
  4. Variables and scope — how workflow state flows between activities.

Plugin author — adding new task types to the engine:

  1. Custom Tasks — the plugin architecture.
  2. Writing Custom Tasks — implement a handler.
  3. Custom Worker Host — package and deploy your handler alongside the engine.

Operator — running the engine in your environment:

  1. Self-host with Docker Compose — the published bundle.
  2. Self-host with Helm — Kubernetes deployment.
  3. Architecture — how the engine is structured under the hood.

Fleans implements a growing subset of BPMN 2.0 — events, activities, gateways, sequence flows, plus message/signal/timer/error boundary events and compensation handlers.