Imixs-Workflow Engine

An open source BPMN 2.0 workflow engine for building human-centric process applications.

Stars
★ 418
Last updated
4d ago
License
NOASSERTION
Primary language
Java

At a glance

How it runs
Library / SDKSelf-hosted service
Works with
Universal · cross-platform
Cost
Free, no paid service needed
Setup effort
Medium · a few setup steps
You'll need
JDK 8+Maven 3.0.3+Jakarta EE application server (Wildfly, Payara, Open Liberty, Apache TomEE)Docker (optional, for Imixs Process Manager)Shell / CLINetwork accessLocal filesystem
Typical use
A Java enterprise team replacing paper or spreadsheet based approvals (leave, expense, purchase) with a programmable engine deployed on its existing Jakarta EE application server.
Not a fit if
  • Teams that cannot deploy a Jakarta EE application server
  • Users who want an instantly available hosted cloud service
  • Teams needing an embedded engine outside the Java/Jakarta EE stack

What does this agent do, and when should you use it?

Imixs-Workflow is an open source workflow engine for building human-centric workflow applications on a flexible, robust framework, with business logic modelled in BPMN 2.0 and executed by the engine. It is built on the Jakarta EE and Eclipse MicroProfile standards and runs on modern application servers such as Wildfly, Payara, Open Liberty and Apache TomEE, with full Jakarta EE 9 support (Jakarta EE 8 users can stay on version 5.2). The repository ships several parts: the core imixs-workflow-engine, a RESTful layer in imixs-workflow-jax-rs, a Lucene-based index module imixs-workflow-index-lucene, plus the Imixs-BPMN modelling tool, Imixs-Admin, the ready-to-run Imixs Process Manager and the Imixs-Microservice stack for Kubernetes or Docker-Swarm. You can consume the engine as a Maven dependency inside your own Java project or deploy it as a standalone microservice that manages human tasks through a RESTful API. Builds use Maven and artifacts are published to Maven Central, so it suits teams that want a self-hosted, programmable, standards-based engine rather than a hosted SaaS or a non-Java stack.

The engine takes process models designed with Imixs-BPMN, an Eclipse modelling tool based on the BPMN 2.0 standard, and executes the task transitions they define: it receives a process instance (workitem) and an event, advances the state according to the model, and triggers the modelled business logic. It is distributed as Maven artifacts such as org.imixs.workflow:imixs-workflow-engine, org.imixs.workflow:imixs-workflow-jax-rs and org.imixs.workflow:imixs-workflow-index-lucene, which you add as dependencies. The jax-rs module exposes a RESTful API so the engine can be deployed as a separate microservice managing human-centric workflow tasks; the index module uses Lucene for search over process data. Around the engine, Imixs-Admin provides web-based remote administration, Imixs Process Manager bundles a generic user interface and a Docker image, and Imixs-Microservice provides a full service stack for Kubernetes or Docker-Swarm. The build command is mvn install, and artifacts are published to Maven Central.

  1. A Java enterprise team replacing paper or spreadsheet based approvals (leave, expense, purchase) with a programmable engine deployed on its existing Jakarta EE application server.
  2. An architect who wants workflow as its own service in a microservice architecture, exposing the engine through the RESTful API of imixs-workflow-jax-rs.
  3. A process designer modelling flows in Eclipse with Imixs-BPMN according to BPMN 2.0, letting the engine execute them without writing transition code.
  4. An operator administering running instances remotely with Imixs-Admin, or spinning up development and test environments from the Imixs Process Manager Docker image.
  5. A platform team deploying on Kubernetes or Docker-Swarm and building a complete service stack from the Imixs-Microservice project.
  6. A developer adding imixs-workflow-index-lucene to support Lucene-backed search over workflow data.

How do you install or deploy this agent?

Building from source needs JDK 8+, Maven 3.0.3+ and a Jakarta EE application server. From the repository root run:

mvn install

To add the engine, REST layer and Lucene index to an existing Maven project:

<dependencies>
  <dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-engine</artifactId>
    <version>${org.imixs.workflow.version}</version>
  </dependency>
  <dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-jax-rs</artifactId>
    <version>${org.imixs.workflow.version}</version>
  </dependency>
  <dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-index-lucene</artifactId>
    <version>${org.imixs.workflow.version}</version>
  </dependency>
</dependencies>

For a working environment in one step, download the Imixs Process Manager docker-compose file and start it:

docker-compose up

The README does not document the REST endpoints, authentication scheme or initial administrator credentials; those require the project home or the relevant module documentation.

How do you use this agent?

After defining a process with Imixs-BPMN under the BPMN 2.0 standard, deploy the engine either as a Maven dependency or as a standalone microservice and drive task transitions through process instances. Dependency declaration example:

<dependency>
  <groupId>org.imixs.workflow</groupId>
  <artifactId>imixs-workflow-engine</artifactId>
  <version>${org.imixs.workflow.version}</version>
</dependency>

For a local or container environment with a generic user interface, start the Process Manager first:

docker-compose up

You can then administer the instance remotely with Imixs-Admin, or integrate through the RESTful API provided by imixs-workflow-jax-rs in a microservice architecture. The README does not list concrete REST paths or payload formats, so check the module documentation and examples for real integrations.

What are this agent's strengths and limitations?

Pros
  • Uses BPMN 2.0 as the modelling standard: flows designed in Imixs-BPMN are executed directly by the engine, keeping business logic out of code.
  • Built on Jakarta EE and Eclipse MicroProfile standards, so it deploys to Wildfly, Payara, Open Liberty or Apache TomEE without locking you to a single vendor runtime.
  • Modular distribution: engine, REST layer (imixs-workflow-jax-rs) and Lucene index are published separately to Maven Central.
  • Comes with a full toolchain around the engine: Imixs-BPMN for modelling, Imixs-Admin for administration, Imixs Process Manager and the Imixs-Microservice stack for deployment.
  • Released under EPL 2.0 (or GPL-2.0-or-later), so it can be used, modified and redistributed freely.
Limitations
  • Building and running requires a JDK, Maven and a Jakarta EE application server, which is more setup than a single-file tool.
  • There is a version split between Jakarta EE 9 and Jakarta EE 8 (EE 8 requires version 5.2), so upgrades need compatibility checks.
  • The README does not document concrete REST endpoints, authentication or initial credentials, so first integration needs extra documentation digging.
  • The core stack is Java/Jakarta EE, which makes it hard to embed in non-Java projects.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Imixs-Workflow Engine This agent 44 · Major gaps Library / SDKFree ★ 418 4d ago Java —
Budibase 52 · Major gaps Self-hosted serviceFreemium ★ 28k today TypeScript —
Bubble Lab 58 · Major gaps Web appFreemium ★ 1.1k 5mo ago TypeScript —
ClickClickClick 23 · Major gaps CLIFree + model costs ★ 714 6mo ago Python OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
44/ 100 5-point scale 2.2 / 5
Trust 7/29
Reliability 6/14
Adaptability 9/18
Convention 10/18
Effectiveness 9/13
Verifiability 3/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

least_privilege: only maven-publish.yml declares explicit contents: read and packages: write, which is reasonable, but codeql.yml declares no permissions and the repository provides no overall permission model, so 1. user_confirmation: neither README nor workflows describe any destructive operation requiring user confirmation or any interactive confirmation mechanism, so 0. data_flow_transparency: README mentions RESTful API and microservice integration but does not describe data flows, logging, or telemetry, so 1. sensitive_data_handling: no description of credential, personal data, or sensitive field handling anywhere, so 0. dependency_security: CodeQL workflow and Dependabot update process in SECURITY.md are verifiable dependency-security practices, but no SBOM or pinned-version evidence is provided, so 2. external_effects: README mentions Docker deployment and microservices but does not define external side-effect boundaries, so 1. rollback: no rollback, recovery, or migration-reversal guidance, so 0. source_attribution: README and LICENSE state EPL-2.0 and the project home, but publisher identity is unverified and attribution is limited, so 1.

Reliability6 / 14 · 2.1/5

self_consistency: README's Jakarta EE 9 support, version 5.2 support, build commands, and SECURITY.md supported-version table are broadly consistent, so 2. dependency_availability: README gives Maven Central coordinates and JDK8+/Maven 3.0.3+ prerequisites, making dependency sources clear, so 2. failure_messages: README, SECURITY.md, and workflows do not describe error messages, diagnostics, or failure reporting, so 0.

Adaptability9 / 18 · 2.5/5

audience_and_scenarios: README clearly targets developers building human-centric BPMN 2.0 workflow applications and lists Wildfly, Payara, Open Liberty, and TomEE scenarios, so 2. capability_boundaries: it states it is a workflow engine with a REST API but does not enumerate explicit capability boundaries or non-goals, so 1. trigger_precision: workflow triggers (push, pull_request, schedule, release) are clear, but Agent-level trigger semantics are undefined, so 1. environment_fit: README gives JDK, Maven, Jakarta EE application server, and Docker environment requirements, so 2.

Convention10 / 18 · 2.8/5

information_architecture: README is organized into build, BPMN, REST API, Admin, Process Manager, Microservice, and License sections, so 2. install_notes: Maven dependency snippets, mvn install command, and prerequisites are provided, so 2. naming_stability: module names (imixs-workflow-engine, imixs-workflow-jax-rs, imixs-workflow-index-lucene) are consistent and stable, so 2. examples_and_faq: only dependency examples and a docker-compose hint exist; FAQ and full usage examples are missing, so 1. known_limitations: SECURITY.md lists unsupported versions, but README does not systematically state known limitations, so 1. license: LICENSE.md provides the full EPL-2.0 and GPL-2.0-or-later dual-license text with SPDX identifiers, so 3. versioning_changelog: README mentions version 5.2 and Jakarta EE 8/9 differences, but there is no CHANGELOG file or version history, so 1. maintenance_responsibility: README points to the issue tracker and discussions and SECURITY.md gives a vulnerability-reporting path, but maintainer roles and response commitments are not explicit and the publisher is unverified, so 1.

Effectiveness9 / 13 · 3.5/5

output_usability: as a workflow engine, README provides Maven coordinates, build commands, and deployment paths that can be used directly for integration, so 2. marginal_value: it offers a BPMN 2.0 engine, REST API, and microservice integration with clear incremental value for the target scenario, so 2. cost_benefit: it depends on a Jakarta EE application server, giving moderate deployment cost, but feature coverage and open-source licensing make the benefit reasonable, so 2.

Verifiability3 / 8 · 1.9/5

claim_traceability: README claims Jakarta EE 9 support and version 5.2 support but provides no corresponding test or release evidence links, so 1. cross_source_corroboration: README, LICENSE.md, SECURITY.md, and workflows partially corroborate each other on licensing and version support, but code or test corroboration is absent, so 1. fact_inference_separation: the documents are mostly factual statements but do not distinguish verified facts from inference, so 1.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Publisher identity is unverified and must not be used to infer reliability or safety.
  • No user-confirmation, rollback, or recovery mechanisms were found; assess destructive-operation risk before deployment.
  • Sensitive-data handling and data-flow transparency are undocumented; extra review is needed for personal or business data.
  • Dependency security relies only on CodeQL and Dependabot, with no SBOM or version-pinning evidence.
  • README claims about Jakarta EE 9 support and supported versions lack traceable test or release evidence.
Evidence confidence: Low Reviewed Sep 29, 2026 Reviewed revision acddae5a1dec
See the full review method →

FAQ

Does Imixs-Workflow cost anything?
No. It is released under the Eclipse Public License v. 2.0, and the documentation states you may also use, modify and distribute it under GPL-2.0-or-later.
Am I tied to one vendor's application server?
No. The README lists Wildfly, Payara, Open Liberty and Apache TomEE among the supported modern application servers, and states its openness lets it fit into modern microservice architectures.
Which Jakarta EE version is supported?
Full Jakarta EE 9 support, so it runs on every modern application server supporting Jakarta EE 9. For Jakarta EE 8 you can use version 5.2, which is still fully supported.
Can I try it without building an environment myself?
Yes. Imixs Process Manager provides a Docker image and a docker-compose file; running docker-compose up starts a process-management suite with a generic user interface locally or in a container environment.
How do I connect it to an existing microservice system?
Deploy the engine as a separate microservice and use the RESTful API from imixs-workflow-jax-rs; the README also points to the Imixs-Microservice project for a full service stack.
View on GitHub ↗ Install ↓

Related agents