With the latest version of the Imixs-Adapters Project 3.2.2, Imixs now offers a MyFactory Adapter that allows seamless integration between MyFactory ERP and the Imixs-Workflow engine. This adapter enables you to search customers, retrieve contact persons, or update sales orders directly from your workflow applications.
But this blog post is not just about a new adapter. It’s about why we built it and what it tells us about the state of enterprise software integration in 2025.
With our latest version of Imixs Workflow, we introduce a game-changing approach to business process automation, enabling domain-specific handling of BPMN 2.0 conditions.
The Challenge
In previous versions, conditional sequence flows in the Imixs Workflow engine —as in most traditional BPMN engines — could only be defined using script functions. While this scripting-based approach offered flexibility, it also introduced several limitations:
Domain-specific languages could not be supported
Conditions were tightly coupled to technical implementation
Adding new evaluation logic required modifying or extending engine code
Complex business rules were difficult to express and maintain
These constraints made it challenging to adapt and extend business logic across different domains.
The Solution: CDI Event-Driven Condition Evaluation
Imixs Workflow now introduces a revolutionary and extensible architecture for condition evaluation. Leveraging Jakarta EE’s CDI (Contexts and Dependency Injection) events, conditions can be transformed and interpreted by specialized observers before evaluation — all without modifying the core engine.
This new approach not only supports functional scripting, but also enables fully domain-specific evaluation of BPMN 2.0 conditions, such as SQL-based queries, external API calls, or even AI-driven logic.
How It Works
When a sequence flow condition is encountered, the system fires a CDI event that any registered observer can intercept and handle. Observers can:
Translate domain-specific languages into executable code
Implement business rule languages tailored to specific domains
Add validation, monitoring, and auditing layers
Integrate external services and rule engines
Real-World Example: Domain-Specific Conditions
Instead of writing complex JavaScript like this :
// Before: Hard-coded and difficult to maintain
!['AT', 'BE', 'BG', 'HR', ...].includes(workitem.getItemValueString('country'))
You can now define business rules in a domain-specific language:
SQL: SELECT COUNT(*) FROM eu_countries WHERE country_code = ? > 0
A specialized domain observer intercepts this rule and translates it into the appropriate JavaScript. The beauty? The RuleEngine doesn’t need to know anything about domain-specific languages — it simply evaluates the resulting JavaScript as it always has.
Implementation Example
The new event-driven design of Imixs Workflow is built on Jakarta EE’s CDI (Contexts and Dependency Injection) event mechanism — a core implementation of the Observer Pattern. This means that custom components can observe and react to condition evaluation events without depending on the workflow engine itself.
Creating your own domain-specific observer is straightforward. Simply extend the new ConditionalExpressionEvent class and implement your logic as a CDI observer method:
@ApplicationScoped
public class DepartmentSQLRule {
public void onConditionEvaluation(@Observes ConditionalExpressionEvent event) {
String condition = event.getCondition();
if (condition.startsWith("SELECT ")) {
// Transform domain-specific rule into JavaScript
String javascript = translateSQLRule(condition, event.getWorkitem());
event.setCondition(javascript);
}
}
}
In this example, the observer listens for every ConditionalExpressionEvent. If the condition starts with an SQL statement, it automatically transforms the domain-specific rule into executable JavaScript. Because this is handled entirely via CDI events, the core RuleEngine remains untouched — ensuring maximum flexibility and extensibility.
Opening Doors for Enterprise Development
This new observer-based architecture fundamentally changes how enterprise workflow systems are developed and evolved. By decoupling condition evaluation from the core engine, organizations gain unprecedented flexibility in how business rules are expressed, validated, and executed. Teams can now create tailored domain-specific languages that speak the language of their business domain—whether that’s banking regulations, insurance underwriting, supply chain logistics, or healthcare compliance.
The plugin-based approach means that new capabilities can be added without touching the workflow engine itself. Observers can be developed independently, tested in isolation, and deployed without impacting existing systems. This enables enterprises to build sophisticated, multi-layered workflow systems where each layer serves a specific purpose: one observer might handle compliance validation, another translates business rules into executable code, a third provides audit logging—all working seamlessly together.
The possibilities are as diverse as the challenges enterprises face. Complex routing logic that once required extensive JavaScript development can now be expressed declaratively. Integration with external rule engines and services becomes straightforward. Most importantly, subject matter experts and business analysts can participate directly in defining and maintaining business rules, reducing the gap between business requirements and technical implementation.
We’re excited to see OW2 recognizing Imixs Workflow as Project of the Month – November. OW2 stands for open, collaboratively developed enterprise software – a mission that perfectly matches our own: building sustainable, transparent BPM solutions for everyone. A big thank you to our community and all contributors who keep improving Imixs Workflow. Open source makes a difference – together we’re shaping the future of Business Process Management.
Imixs-AI is introducing a groundbreaking new feature in the Imixs Workflow ecosystem: the Imixs AI Assistant Adapter. This innovative component seamlessly integrates Large Language Models into BPMN 2.0 workflows, creating intelligent, context-aware automation that truly understands how your business process is working.
The Challenge
Modern businesses want to leverage AI, but face a critical question: How do you combine the power of Large Language Models with structured, auditable business processes?
Traditional workflow automation excels at routing tasks and enforcing rules, but struggles with nuanced communication and content generation. Meanwhile, AI assistants are powerful but lack process awareness—they don’t know if you’re in the initial contact phase, follow-up stage, or closing a deal.
The new Imixs-AI Assistant Adapter solved this problem.
AI That Knows your Business Process
The new AI Assistant Adapter brings true process awareness to AI. It automatically understands the current state of your workflow and adjusts its behavior accordingly—all configured directly in your BPMN model.
With in your BPMN model you can now define what the AI knows and how it behaves at each stage within your business process. As work items move through your process, the AI assistant automatically adapts its context, maintains conversation history, and performs exactly the actions defined in your model.
Think of it as having a smart assistant who not only knows your products and services, but also understands exactly where each customer interaction stands in your sales, support, or service process.
BPMN-Native Design
What makes this approach unique is how naturally it fits into BPMN 2.0 using the Imixs Open-BPMN Modeller.
Tasks define the current process context
Events trigger specific AI actions
DataObjects contain the prompt templates and instructions
The process flow controls the conversation flow
Everything is visible in your BPMN diagram. No hidden logic, no black boxes. Business analysts can design and modify AI behavior without writing code.
Persistent Intelligence
The adapter automatically manages conversation history throughout the process. The AI ‘remembers’ previous interactions, building context as the process progresses. When appropriate—such as moving e.g. from sales to contract negotiation—the system intelligently starts fresh conversations with new context.
All AI interactions are stored automatically in the workflow database, providing complete auditability and compliance.
The Imixs-AI Architecture
The AI Assistant Adapter is part of the broader Imixs-AI open source project, which provides a complete framework for integrating Large Language Models into workflow automation.
Modular Architecture
Imixs-AI consists of several specialized modules providing Jakarta EE services and adapter classes to access LLM servers based on the OpenAI API specification.
imixs-ai-workflow: The core module providing Jakarta EE services and adapter classes to access LLM servers based on the OpenAI API specification. This is where the AI Assistant Adapter lives.
imixs-ai-bpmn: Transforms BPMN 2.0 models into text representations that LLMs can understand, enabling AI to reason about process structures.
imixs-ai-rag: Integrates Retrieval-Augmented Generation (RAG) capabilities using Cassandra 4.0, allowing AI to access and reference your organization’s knowledge base.
imixs-ai-llama-cpp: Provides ready-to-use configurations for running local LLM servers with Docker.
Open Standards, Maximum Flexibility
With the latest version of Imixs-AI the adapter works now with any OpenAI-compatible API, giving you freedom to choose:
Custom models: Your own fine-tuned LLMs or preferred LLM provider
This standards-based approach gives you complete freedom to choose your hosting solution and model—switch providers without changing your workflows.
No-Code AI Integration
What sets Imixs-AI apart is its deep integration with BPMN 2.0. Prompt templates are defined directly in BPMN DataObjects using the Imixs Open-BPMN Modeler. Business analysts can design, test, and modify AI behavior without writing a single line of code.
The result? AI that’s not bolted onto your processes—it’s woven into them.
Get Started
The new Imixs AI Assistant Adapter represents a fundamental shift in workflow automation. We’re not just adding AI features to workflows—we’re creating workflows that think.
The Process Assistant Adapter is available now as part of the Imixs Workflow AI module. Want to see how AI-powered workflows can transform your business processes? Contact us for a personalized demo where we’ll show you the platform in action with your specific use cases.
With the new master project Imixs-Data, we are extending the technology stack of the Imixs Workflow Engine with a powerful new feature block. Imixs-Data provides functionality to view, group, and manage business process data. In the near future, the existing modules Imixs-Archive-Importer, Imixs-Archive-Exporter and Imixs-Archive-Documents will be migrated into this new master project.
Why a New Module?
The main motivation behind Imixs-Data is to separate the management of internal and external business data into a clean and reusable library. Especially with regard to the new AI functions of Imixs-Workflow, data and its clear grouping by business processes are becoming increasingly important.
Business data can either be generated directly by the Imixs Workflow Engine or provided by external data sources. Such data is typically required to run business processes efficiently and to provide users with relevant information.
Imixs-Data introduces four core capabilities:
Data Views – Display business data in a table or export it into a spreadsheet
Data Groups – Organize processes into main and sub-processes
Data Import – Import data from external sources (e.g. email, CSV, APIs)
Data Export – Export business data and documents into external storage
Data Views
Data Views provide a convenient way to select work items via queries and display the results in a list. A data view defines both the selector (e.g. a Lucene query or a reference to an internal/external data source) and the columns with their content.
In addition, data views allow you to configure columns, labels, and sorting options. They can also include custom search forms and spreadsheet exports, enabling flexible integration of individual business views.
Data Groups
Data Groups are a new pattern for organizing and linking business processes. A Data Group is itself a process that can be referenced by other processes within the same instance.
For example, you might want to:
Consolidate all payment transactions of a customer into a single Statement of Account
Group all invoices that need to be exported into an external IT system within a dedicated Export Process
Referencing a Data Group is done via a single process property, making it easy to access them through the Imixs Workflow API. This offers a smart and elegant way to handle complex relationships between business processes.
Data Import
The Imixs-Data Importer module provides a generic service to import documents from various external sources into the Workflow Engine. Sources can include an FTP server, an IMAP mailbox, or other structured data feeds.
The importer is built on top of the Imixs Scheduler API, enabling scheduled imports. The scheduler publishes CDI events that can be processed by specific importer implementations. This design makes the Importer highly extensible and adaptable to custom requirements.
Currently supported sources include:
IMAP – Import emails via IMAP
FTP – Import files from an FTP server
CSV – Import CSV files from local or remote locations
Custom import agents can also be implemented to handle additional data types.
Imixs-Archive-Exporter
The Imixs-Archive-Exporter is a microservice that exports documents from an Imixs Workflow instance into external storage systems, such as a local file system or an FTP server.
The service is fully decoupled from the workflow engine and can run independently – for example, on separate hardware or within an external cluster.
The Exporter processes EventLog entries created by the Workflow Instance and stores related file attachments in the defined target system. This architecture provides a scalable and flexible approach to managing long-term document storage.
Learn more about the possibilities of the Imixs Data function as well as its use in Imixs-Office-Workflow!
The Imixs Workflow proejct is now licensed under the EPL-2.0. The Eclipse Public License is a modern license which reflects the norms and expectations of an industry that has changed a lot in the last years.
As a weak copyleft license, the EPL is a middle ground of sorts between permissive options (like the MIT License or Apache License 2.0) and strong copyleft licenses (like GPL v2 and GPL v3.) A core requirement of the EPL – one that’s not part of permissive licenses – is that derivative works of EPL-licensed code must also be licensed under the EPL. As such, anyone who distributes a program that constitutes such a derivative work must also make their source code available. Find more details here.
In addition the new Imixs Workflow license model includes also a secondary license for GPL-2.0+ compatibility. In this way you can still license your work under GPL if you like.
As the business process management landscape continues to evolve at an unprecedented pace, organizations worldwide are seeking workflow solutions that can adapt to changing requirements while maintaining operational excellence. Today, we’re excited to share a comprehensive technical overview of Imixs-Workflow and our ambitious vision for the future of human-centric business process management.
The Foundation: Where We Stand Today
Imixs-Workflow has established itself as a powerful open-source BPMN 2.0 workflow engine, combining low-code simplicity with enterprise-grade capabilities. Built on the robust Jakarta EE platform, the Imixs-Workflow engine is specifically designed for human-centric business processes that require flexibility, security, and scalability.
We’re excited to announce our latest release of Imixs-Security OIDC, a powerful new OpenID Connect (OIDC) library for Jakarta EE 10 applications. This new release represents a significant milestone in our open source security toolkit, bringing enterprise-grade authentication capabilities to Jakarta EE applications.
Why Another OpenID Connect Library?
While Jakarta EE 10 introduced native OpenID Connect support through Eclipse Soteria 3.0, this default implementation shows some gaps that needed addressing for real-world enterprise applications. The primary limitation of the existing solution is their focus solely on browser-based user flows, leaving a significant gap for API authentication scenarios.
Imixs-Security-OIDC brings a new flexible solution providing comprehensive support for both – browser based OpenID Connect login and Bearer Token authentication. The later is a crucial requirement for modern applications that need to integrate with external systems via REST APIs.
A common question from users transitioning from task-centric engines (like Camunda) to Imixs-Workflow, is whether Imixs-Workflow supports Service Tasks—a common BPMN element used in workflow engines like Camunda. Let’s see how this works in Imixs-Workflow
First of all – you can add a service Task into your model. But this will not execute any code.
The answer to this lies in understanding Imixs’s event-driven architecture. Unlike BPMN engines that rely on embedded code in Service Tasks, Imixs executes custom logic through events by two core mechanisms:
1. Plugins: Reusable Workflow Logic
Plugins are Java classes triggered at the processing phases of the workflow lifecycle. They act like “global interceptors” for business logic.
Key Traits:
Extend org.imixs.workflow.Plugin or AbstractPlugin.
Running in each processing cycle
Modify workflow documents during processing.
A Plugin can be added into the Model Workflow definition and will be executed automatically in each processing cycle.
Example: Automatically calculate a discount in an order approval workflow:
public class DiscountPlugin extends AbstractPlugin {
@Override
public ItemCollection run(ItemCollection document, ItemCollection event)
throws PluginException {
if ("approve".equals(event.getItemValueString("name"))) {
double total = document.getItemValueDouble("total");
document.replaceItemValue("discount", total * 0.1); // 10% discount
}
return document;
}
}
Adapters (CDI observers) react to workflow events, similar to microservices listening to Kafka topics. They’re ideal for side effects (e.g., sending emails, logging).
Key Traits:
Support CDI / EJB / Transactional
Running on a specific Event
Decoupled from the core workflow (run asynchronously if needed).
Example:
public class DemoAdapter implements SignalAdapter {
// inject services...
@Inject
ModelService modelService;
...
@Override
public ItemCollection execute(ItemCollection document, ItemCollection event) throws AdapterException {
if ("approve".equals(event.getItemValueString("name"))) {
double total = document.getItemValueDouble("total");
document.replaceItemValue("discount", total * 0.1); // 10% discount
}
return document;
}
}
Why This Approach?
Separation of Concerns: Business logic lives outside BPMN files.
Flexibility: Plugins/Adapters can be shared, tested, and versioned independently.
Scalability: Events integrate with Java EE/CDI, Kubernetes, or serverless.
Migration Tip for Camunda Users
Instead of embedding code in a Service Task:
For document transformations: Use a Plugin.
For side effects (APIs, notifications): Use an Adapter.
With the latest version of Imixs-Workflow (6.2.0) we upgraded to GraalVM 24.1.2 and Widlfly 29.0.1-Final-JDK-17.
Wildfly 29 requires GraalVM in version 24.1, as the polyglot version ‘24.1.2’ is no longer compatible to older Truffle version ‘23.1.1’. Wildfly 29 comes also with a lot of bugfixes and minor improvements. In this way Wildfly has now become a bit stricter in dealing with some older packages from the JDK or Java SE version. To be able to execute Scripts with the GraalVM polyglot language engine you need to enable the global modules feature. Just add the module ‘jdk.unsupported’ to your ee subsystem config in standalone.xml: