DEV Community

Cover image for Stop Hardcoding Workflows: How We Turned Kogito Into a Full-Scale Automation Platform
Benchouia Ahmed Abdelhakim
Benchouia Ahmed Abdelhakim

Posted on Originally published at brief-dz.com

Stop Hardcoding Workflows: How We Turned Kogito Into a Full-Scale Automation Platform

The Spark: What’s Missing in Cloud-Native BPMN?

If you’ve ever used the Kogito VS Code extension to design cloud-native workflows, you already know it’s an incredibly powerful tool. Built on top of Quarkus and Drools, it’s designed from the ground up for Kubernetes speed and efficiency.
But as my co-founder and I started deploying workflows into our production environments, we hit a major architectural roadblock.
Kogito is exceptional at handling automated, high-throughput system tasks. However, in the real world, most business processes still heavily rely on the human factor. Whether it’s an operator validating a high-value transaction, a team leader launching a complex workflow, or even a "Human-in-the-Loop" architecture auditing an AI agent's decisions, human intervention provides the governance, trust, and confidence that enterprises require.
Out of the box, building a seamless, end-to-end web interface for human tasks in Kogito felt like putting a puzzle together with missing pieces. So, we decided to build what was missing.
What started as a simple idea to wrap Kogito in a clean web UI evolved into FlowIQ—a comprehensive enterprise platform featuring dynamic forms, Role-Based Access Control (RBAC), Kafka event streaming, and robust document management, task management and many more.

In this first episode, I’ll take you behind the scenes of how we kicked off the architecture and built our core user portal.

The Architecture: Managing Governance and Security

To ground our idea, we designed a classic enterprise use case: a digital banking onboarding process.
We needed a system that could handle both the launching phase of a process and its execution phase whenever a human operator needed to step in. This led us to build our first core component: the User App.

1. Enterprise Auth & RBAC

Security wasn't an afterthought. We integrated FlowIQ natively with Keycloak. This allows enterprises to effortlessly hook up third-party authentication providers like Active Directory (LDAP).
Once authenticated, our backend calculates the user's explicit privileges via RBAC (Role-Based Access Control). This dictates exactly which processes they can see, which forms they can access, and what actions they are allowed to take.
When a user logs in, they are greeted by a clean, centralized workspace:


From this single portal, authorized users can check their tasks, manage attached documents, investigate active process executions, create dossiers, or spin up new workflows.

Dynamic Forms and Dossier Management

Let’s walk through what happens when an operator launches a new customer onboarding workflow.

2. Creating a Dossier

If the user’s RBAC permissions allow it, they can initiate a new dossier. Instead of hardcoding UI forms for every single BPMN process, we built a dynamic form engine.




The UI reads the data schema defined by the Kogito process design and renders the form dynamically. The FlowIQ backend saves these form configurations and tracks their version history over time.

3. State Tracking & Parallel Execution
Once a user successfully creates a dossier, they can view it inside their form actions list. If they make changes or update a field before official execution, every single modification is completely traceable back to the initial version.


When the operator decides the data is pristine, they select the desired form and click Launch. For advanced workflows, our UI allows users to select multiple process forms and spin them up completely in parallel.

What happens under the hood? For a Kogito developer, the magic is straightforward: FlowIQ iteratively triggers the Kogito onboarding process endpoints via its standard REST API, handling state synchronization seamlessly.


Bringing Our Own Flavor to "My Tasks"

The core of any human task framework is the inbox. When a process spins up and requires human validation, it lands directly in the My Tasks menu.
Using Kogito’s REST endpoints, our backend extracts only the tasks relevant to the logged-in user's roles. But we wanted to go a step further for complex organizational structures, so we added a Department Filter.


FlowIQ automatically maps and filters tasks based on organizational department attributes already baked inside the process data. An risk-assessment agent only sees risk-assessment tasks, while a regional manager sees theirs—keeping noise to an absolute minimum.

What’s Next?

We've successfully laid down the foundation: authenticating users, dynamically rendering forms, and triggering Kogito processes via REST. But how do we keep the user interface updated in real-time when system-level steps complete?
In the next episode, I’ll dive into task attributes and how we track live process statuses using event streaming with Apache Kafka.
Have you worked with Kogito or built custom worklists for BPMN engines before? Let me know your thoughts, questions, or architectural pain points in the comments below!

Top comments (0)