Camunda 7 to Flowable migration

Moving process applications from Camunda 7 or Activiti to Flowable is a planned project covering assessment, data migration, code and model changes, in-flight work and cutover. This page explains what the work includes, what drives cost and duration, and what you need to provide.

On this page

What a Camunda 7 to Flowable migration involves

Moving a Camunda 7 or Activiti estate to Flowable means changing the engine that runs your BPMN process applications, and with it the deployed process models, the Java code behind service tasks, and the data the engine holds. Teams usually start for one of three reasons: licensing terms, the direction of the engine's development, or a wider platform change that puts Flowable's Java and REST APIs at the center of their stack. Flowable's engineering blog, dated September 7, 2022, states that Camunda 7 and Activiti data, including active process instances and history, can be migrated to Flowable in place.

The first practical step is an inventory. Flowable's free LEAP tool reports ahead of time what a migration involves, so run it against a copy of your production database before you commit to a plan. Then review each process model for Camunda or Activiti extension attributes, listeners and expression syntax in the BPMN XML, and each Java delegate or task listener that depends on engine classes. Ask Flowable to confirm which Camunda 7 and Activiti versions the tool and the in-place path cover for your estate.

The data decision drives cutover risk. Active instances can be migrated in place, but you still have to decide whether long-running instances finish on the old engine, move in one batch, or move in waves during a freeze window. Count timers, asynchronous jobs and open human tasks, since these are what users and downstream integrations notice when they stall. List any dependence on Camunda's own admin and task UIs as well, because those belong to Camunda and will not come with the Flowable engine, so confirm what replaces them.

In short, a team with Java and BPMN experience can do much of this in-house: the inventory, porting delegates, updating BPMN XML, and running regression tests against a database copy. A partner is common when in-flight volume is large, the cutover window is narrow, or the estate carries substantial Camunda-specific UI and extension code. Ask for the inventory output in writing before you compare options, because it sets the scope for any fixed-scope quote.

What the work includes

The migration breaks into a fixed set of work packages, each with a named deliverable. Scope and deliverables are agreed in writing before work starts, so the boundaries below can be checked against your own estate.

LEAP assessment and report review

Flowable's free LEAP tool reports ahead of time what a migration from Camunda 7 or Activiti involves. We run it against your database and process estate, then review the report line by line with your team. The check here is whether every flagged item maps to a named work item, so nothing surfaces for the first time during cutover.

In-place data migration plan and rehearsal

Flowable documents an in-place migration path for Camunda 7 and Activiti data, including active process instances and history. The plan defines the migration order, the database backup point, the expected schema changes and the verification queries that prove counts and states match. The rehearsal runs this plan end to end at least once before any production attempt.

BPMN XML and extension element changes

Process definitions carry Camunda-specific extension elements, such as service task implementations, listeners and form references, that do not carry over unchanged. We rewrite these to Flowable equivalents and diff each model against its original. Review the diff for every deployed process, not only the ones that appear in the LEAP report.

Porting Java delegates and listeners

Java delegates, execution listeners and task listeners written against Camunda 7 APIs are ported to Flowable's delegate and listener interfaces. Business logic stays in place and only the engine-facing code changes. Check that transaction boundaries, variable access and exception handling behave the same way in the ported code.

In-flight instance strategy

Running instances at cutover need an explicit decision: migrate them in place, let them finish on the old engine, or cancel and restart. The choice depends on process duration, timers and external callbacks. Document the decision per process definition and confirm how many instances each option affects before the cutover date is fixed.

Testing on a database copy

Migrated data and ported process code are tested against a recent copy of the production database, not a seeded test set. The test set covers open instances at each major state, timers, asynchronous jobs and history queries used by reports. Record the results and any defects so that the cutover decision rests on evidence from real data shapes.

Cutover runbook with rollback

The cutover runbook lists each step in order, with an owner, a check and a decision point. The rollback section states the point after which reverting is no longer clean, and it is rehearsed alongside the forward path. Ask for the runbook to be reviewed by the operations team that will execute it.

Handover documentation

Handover covers the ported code, the changed model set, the migration and cutover records, the rollback procedure and the open items list. It is written for the engineers who will maintain Flowable after go-live. Confirm the format and the walkthrough sessions in the written scope so the handover is accepted as a defined deliverable.

What drives cost and duration

This table lists the migration factors that most change effort and schedule for a Camunda 7 to Flowable move, with a practical way to reduce each one.

DriverWhy it mattersHow to keep it down
Process definitions and extension elementsEach BPMN file using Camunda extension elements, such as class, expression, form key, listener and input/output mappings, needs a Flowable equivalent and a test.Inventory every definition with the LEAP report, group recurring patterns and convert each pattern once.
In-flight instances and long-running timersRunning instances and pending timers must carry over correctly, and the more of them exist at cutover, the more reconciliation is needed.Count active instances and timers during planning, decide per definition whether to migrate or drain, and check timer due dates on a database copy.
Size of history dataFlowable's in-place migration includes history, so large history tables lengthen copy, migration and verification runs.Confirm history retention with the business owners, archive records your policy allows to leave behind, and size the test copy from the real volume.
Camunda web apps and custom task UIsFlowable 7.0.0 removed the UI applications, so Tasklist, Cockpit and Admin functions must be rebuilt or replaced before operators can work.List the screens operators and administrators use, reuse the REST APIs where possible and scope the UI as a separate work package.
Java delegates and listenersCamunda delegate and listener classes must be ported to Flowable interfaces and Spring beans, and each port needs unit and process tests.Count the classes, move shared logic into plain services first, and test each delegate against the Flowable API before the process tests.
Database engine and versionThe engine and its version affect schema scripts, locking, date precision and vendor-specific behavior. MySQL versions below 5.6.4 lack millisecond precision.Confirm the target database and version early and run the migration rehearsal on the same engine and version used in production.
Number of environmentsEach environment repeats the migration, configuration, testing and sign-off, so environment count multiplies effort.Rehearse once on a database copy, script the migration steps and reuse the same scripts in every environment.
Integrations and event consumersSystems that start processes, correlate messages, run external task workers or consume engine events must be repointed and retested.Inventory every caller of the Camunda REST API, message endpoints and event consumers, and decide where a compatibility layer is needed.
Compliance evidence for change approvalChange boards may require the migration plan, reconciliation of instance counts, test records and a rollback record. DeployOpen prepares this evidence, but auditors and approvers decide whether it is sufficient.Agree the evidence list with change approvers before testing starts and collect it as each step runs, not after cutover.

Migration phases and outputs

The migration runs in six ordered phases, each closing with a written artifact that gates the next phase so that cutover is decided on evidence rather than assumption.

  1. Run discovery and the LEAP report

    We inventory the Camunda 7 or Activiti deployment, including process definitions, delegates, listeners, custom forms, identity usage, database size and in-flight instances. Flowable's free LEAP tool is run against a copy of the data to report what a migration involves. The LEAP report review closes this step, and the output is a discovery inventory signed off by your team.

  2. Build the gap analysis and target design

    Each finding from discovery is recorded in a gap register with an owner, a disposition and a test approach. Decisions cover BPMN and XML extension changes, which Java delegates are ported or rewritten, how identity is handled through the Flowable identity service, and whether tasks use your own task UI because Flowable's open source UI applications are no longer provided. The signed gap register and target design document close this step.

  3. Port the models, delegates and build

    Process models and XML extensions are converted, delegates and listeners are adjusted to Flowable APIs, and the application is built and deployed to a non-production environment. Each ported process is checked against its gap register entry. The closing output is a green build with a port log that maps each source element to its Flowable equivalent.

  4. Rehearse the migration on a database copy

    The in-place migration is run against a copy of the production database, starting from a snapshot that includes active instances and history. Each run is timed, failures are classified, and fixes are retested until the run completes cleanly. The rehearsal log, with run results, defects and the agreed fixes, is the evidence that the procedure is repeatable.

  5. Run the parallel period or cutover window

    Where in-flight work must continue, new starts are directed to Flowable while legacy instances are monitored, or a single cutover window is executed from the cutover runbook. The runbook lists the freeze point, migration commands, verification queries, rollback triggers and the people who decide. Completion is confirmed when reconciliation checks match the rehearsal results.

  6. Provide hypercare and handover

    After go-live, the team watches job execution, async jobs, error queues and business metrics for an agreed period, then fixes defects found in production. Operational runbooks, monitoring setup and known-issue lists are transferred to your operations team. The signed handover pack and closed hypercare log mark the end of the engagement.

What teams keep in-house and what they outsource

This table shows who usually owns each part of a Camunda 7 to Flowable migration, the skills each part needs, and the point at which a partner becomes worth considering.

Work areaUsually owned bySkills requiredDecision point for a partner
Process owners and business rulesProcess owners and business analysts, with Camunda 7 operating experience helping them keep ownershipKnowledge of current process behavior, exception paths and DMN decision tablesPartner only if the rules are undocumented and must be reverse engineered from the Camunda 7 models
Java developers porting delegatesInternal developers who know the existing Camunda 7 codebase, supported by a partner where the port is largeJava, Spring, the Camunda 7 delegate API and the Flowable equivalentsConsider a partner when many delegates depend on Camunda-specific APIs or internal libraries
BPMN XML extension changesInternal developers with a partner reviewing the converted modelsWorking knowledge of BPMN extension elements and the Flowable namespace and listener syntaxConsider a partner if the model count is high and no one on the team has converted BPMN XML before
Database and operations staff running the migrationInternal DBAs and platform operators, who hold the production database and backup accessDatabase administration on the target platform, backup and restore, migration tool execution and rollback planningPartner if the team has no experience running in-place data migrations against live engine tables
Test automationInternal QA with developers, often extended by a partner for regression suitesTest design for long-running process models, automated engine testing and database-copy test runsPartner when regression coverage of existing processes is thin and must be built before cutover
Cutover coordinationInternal release management and the process owners who accept go-liveChange management, scheduling, drain of in-flight work and communication with dependent systemsPartner to plan and rehearse the cutover sequence if the migration touches many integrated systems
Post-go-live supportInternal operations and development teams once the platform is handed overMonitoring, incident handling on the Flowable engine and routine upgrade workPartner when a retainer covers response, upgrades and continuous testing after cutover
Acceptance testingProcess owners, since they decide whether migrated instances behave correctlyBusiness judgment on expected outcomes and sign-off against the original process behaviorKeep in-house; a partner can prepare test cases and evidence but the business owner signs off

What usually goes wrong

Most Camunda 7 to Flowable problems come from work that was already running, from behavior the source system provided implicitly, and from plans that were never tested end to end. Each pattern below has a specific check that can run before cutover.

In-flight work and timers

Running instances, pending timers and queued async jobs can behave differently after cutover if their state is not compared with the Camunda 7 source. Count active instances, timer jobs and async jobs before and after migration on a database copy. Then confirm that due timers fire and async jobs run on Flowable's async executor before any production traffic moves.

Extensions and expressions not carried over

Camunda-specific BPMN XML attributes, such as delegate class and expression bindings, listeners and input or output mappings, do not carry over automatically. Inventory every extension element and expression in the model files, then record a Flowable equivalent or a deliberate replacement for each one. Test each process path so that a silently ignored attribute surfaces before go-live.

Operations screens with no replacement

Operations teams often depend on Camunda's web applications for incident handling, task assignment and user administration. Flowable 7.0.0 removed the UI applications from the open source distribution, so each function needs a named replacement, such as a custom task interface or a monitoring view, before cutover. Agree who performs each task during the gap and test that they can do it.

Database precision and version gaps

Migrated timestamps and history depend on the database engine version. Flowable's configuration docs note that MySQL versions below 5.6.4 lack millisecond precision, which can affect timer ordering and duration reporting. Confirm your database type and version against the supported list, then check timestamp precision on the database copy before the migration run.

Rollback never rehearsed

A cutover plan without a tested return path leaves the team choosing between a broken production system and an unplanned recovery. Rehearse the reverse procedure on a database copy: restore the Camunda 7 schema, restart the Camunda 7 application and compare instance counts with the pre-cutover record. Record how long the rehearsal takes and what must be frozen while it runs.

Scope creep into a Flowable upgrade

Moving to Flowable 8.0.0 during the engine change adds Spring Framework 7, Spring Boot 4 and Jackson 3 changes, as described in the 8.0.0 release notes. Keep the migration on a fixed Flowable target version and treat the upgrade as separate planned work. Two concurrent platform changes make it hard to tell which one caused a defect.

How the work changes by starting point

When the Camunda 7 engine runs inside your own application, the migration centers on the application code and its deployment. The engine data, active instances and history can be moved in place, but the surrounding application changes with it.

  • Inventory the embedded configuration: list every process engine configuration, plugin, listener and custom job executor setting, since each one maps differently in Flowable.
  • Review Java delegates and listeners: Camunda API calls inside delegates and listeners need to be replaced with Flowable equivalents and retested.
  • Plan the cutover window: confirm how in-flight instances and timers will be handled while the old and new engines could both see the same data.
  • Confirm the Flowable version: check the current release notes and the Java and Spring baselines of the target version before choosing a runtime.
  • Confirm with Flowable: ask what the LEAP report covers for your exact Camunda 7 version and which embedded features need manual work.

What you need to provide

The most common reason a Camunda 7 to Flowable migration schedule moves is a missing input, not a technical surprise. Before the migration team starts, your side needs to supply read access to the BPMN models, Java code and build pipelines that run the Camunda 7 or Activiti applications, along with a current inventory of processes and the exact Camunda or Activiti version in use. Without the version, the in-place migration assessment cannot be scoped, so confirm it against the running engine rather than the project file.

Data inputs carry the most schedule risk. Provide a recent copy of the production database for rehearsal, and a list of the in-flight instance types, including which processes have active timers, message catches, asynchronous jobs and call activities. Flowable's engineering guidance says active instances and history can be migrated in place, but each instance type has to be tested against a real copy of your data. Ask your DBA to confirm the copy can be restored into a non-production environment with the same database engine and version as production.

Decisions are the other half of the list. Name business owners who can accept how each process will behave after migration, including any differences in timer handling or history, and make the call on task interfaces and identity: whether task lists stay on your current application, and whether users and groups come from the same directory they use today. Also secure a change window and written rollback approval, and confirm test and staging environment access for your team and ours. Work out these decisions in the first week, because each one that stays open blocks the rehearsal that follows.

Frequently asked questions

How long does a Camunda 7 to Flowable migration take?

The duration depends on the size and shape of your process estate, so DeployOpen scopes it in writing before work starts. The main drivers are the number of process definitions and their BPMN XML extensions, how many Java delegates, listeners and expressions depend on Camunda APIs, how many in-flight instances and how much history you keep, the number of integrations and identity dependencies, and how many environments need a rehearsal on a database copy before cutover. Ask any partner to show how each driver maps to tasks in the fixed-scope plan.

Can our own engineers migrate from Camunda 7 to Flowable alone?

Yes, a capable Java team can attempt it alone, because Flowable documents an in-place migration path for Camunda 7 and Activiti data. The work still touches data, process models and running instances at the same time. Your team needs people who understand the Camunda 7 engine, your BPMN XML and delegate code, the Flowable engine and your database operations. Many teams bring in a partner for the assessment and rehearsal runs, then keep ownership of the business logic. Decide after a written assessment of your estate.

What does the free Flowable LEAP report cover?

Flowable offers LEAP as a free tool that reports ahead of time what a migration from Camunda 7 or Activiti involves. Treat its output as one input to scoping and confirm with Flowable which elements the tool analyzes. Your own review of Java delegates, scripts, listeners and custom extensions still belongs in the plan. Because the tool carries no license fee, the cost of running it is negligible, but the effort to read its findings and act on them is part of the engagement.

Do in-flight process instances and history migrate with the application?

Flowable states that Camunda 7 and Activiti data can be migrated in place, including active process instances and history. Whether a given instance moves cleanly depends on its current state, the process definition it uses and the source engine version, so confirm each case in a rehearsal. Plan for instances that wait on removed or renamed elements, and decide whether some should finish on the old engine. History volume also affects the migration window and database load, so size it before cutover.

Must we upgrade to Flowable 8.0 during the Camunda 7 migration?

Not necessarily, but the target release decides how much else changes at the same time. Flowable 8.0.0 was released on February 27, 2026, and it moves to Spring Framework 7 and Spring Boot 4 with no backward compatibility for Spring Boot 3. It also makes Jackson 3 the default JSON library and removes JUnit 3 and 4 support. If you run Spring Boot 3 today, a combined move adds a platform upgrade to the migration risk. Set the target version and Spring baseline in the plan and confirm the supported path with Flowable.

Does DeployOpen certify our Camunda 7 migration for compliance audits?

No, DeployOpen does not issue audit reports, attestations or certifications. Its work is to prepare systems, controls and evidence so that an independent auditor or certification body can assess them. For a migration, that can include change records, test evidence from database copy rehearsals, access control and backup records for the new engine, and a documented map of what changed in the process estate. Ask your auditor which evidence they expect before the scope is agreed.

How DeployOpen delivers this migration

DeployOpen plans and runs Camunda 7 to Flowable migrations as fixed-scope projects inside your own infrastructure, starting from a written scope. Flowable's engineering guidance describes an in-place migration path for Camunda 7 and Activiti data, including active instances and history, and the free LEAP tool reports ahead what that involves.

How we scope

  • The written scope lists which Camunda 7 process applications, BPMN models and Java delegates move to Flowable.
  • Flowable's free LEAP tool reports ahead what a migration involves, and that report feeds the scope.
  • The fixed-scope agreement covers deliverables, cutover approach and acceptance criteria before any work starts.

How we build

  • Update BPMN XML extension attributes and listener references so they resolve correctly on Flowable.
  • Port Java delegates and expressions to Flowable's Java delegate API, then run them against a migrated database copy.
  • Build in-flight instance handling rules for timers, async jobs and waiting tasks before the first migration run.

How we hand over

  • Rehearse the in-place migration on a copy of your production database and record timing and differences.
  • Compare process definitions, active instances and history before and after each rehearsal run.
  • Deliver runbooks, cutover steps, rollback plan and migration documentation the team can repeat.

How we support

  • Ongoing support and upgrades after cutover are available as a retainer, scoped separately from the migration.
  • Ask what the retainer covers for your process models, delegates and Flowable version schedule.
  • Confirm response and change terms in writing before go-live as part of the agreed support scope.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.