explaingit

flowable/flowable-engine

9,260JavaAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

Flowable is a Java platform for automating multi-step business processes and workflows using industry standards, BPMN flowcharts, CMMN case management, and DMN decision tables, with both Java API and REST access.

Mindmap

mindmap
  root((flowable-engine))
    What it does
      Business process engine
      Workflow automation
      Decision rules
    Three Engines
      BPMN flowcharts
      CMMN case management
      DMN decision tables
    Integration
      Spring Boot
      REST API
      Java API
    Deployment
      Embedded in app
      Standalone server
      Cloud or cluster
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automate a multi-step document approval workflow where tasks route between people or systems based on business rules.

USE CASE 2

Define a decision table that automatically approves or rejects requests based on conditions like customer history or claim amount.

USE CASE 3

Integrate workflow automation into an existing Spring Boot Java application using Flowable's Java API.

Tech stack

JavaSpringREST API

Getting it running

Difficulty · hard Time to first run · 1h+

V7 requires Java 17 or newer. Deploying BPMN processes requires familiarity with Java, Spring, and XML-based process definition files.

Free to use and modify for any purpose, including commercial projects, under the Apache 2.0 license.

In plain English

Flowable is a Java-based platform for running and managing business processes and workflows. If your organization has multi-step processes, such as approving a document, handling a customer request, or routing tasks between people or systems, Flowable provides the engine to automate and track those processes. It includes three separate engines. The first handles BPMN, which is a standard notation for describing business processes as flowcharts showing steps, decisions, and who is responsible for each part. The second handles CMMN, which is a standard for case management, useful when the process is less predictable and depends on changing conditions. The third handles DMN, which is a standard for defining business rules and decision tables, such as "if the customer has been with us more than five years and the claim is under $1,000, approve automatically." Flowable can run inside an existing Java application or as a standalone service on a server, in a cluster, or in the cloud. It integrates with Spring, a popular Java framework, and provides both a Java programming interface and a REST API, which allows other systems to communicate with it over the web. The current version, V7, requires Java 17 or newer. An older version, V6, is still maintained and works with Java 8 and above. The project is open source under the Apache 2.0 license, which allows free use in personal and commercial projects. Flowable also offers a free cloud-based design tool where you can visually model processes using drag-and-drop diagrams without writing code. Downloads, documentation, and a community forum are available through the project's website.

Copy-paste prompts

Prompt 1
Using Flowable BPMN engine with Spring Boot, show me how to define a simple two-step document approval process with human tasks and deploy it to a running Flowable instance.
Prompt 2
With Flowable DMN, help me create a decision table that auto-approves customer refunds under $100 and routes larger amounts to a manager. Show the DMN XML and the Java call to evaluate it.
Prompt 3
I want to start a Flowable business process and check its task status from another system via REST API. Show me the HTTP calls to start a process instance and query its current open tasks.
Open on GitHub → Explain another repo

← flowable on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.