🔧 Camunda 7.x - 8.8 to 8.9 Migration Project Report

Complete migration analysis
📅 2026-07-05 14:30:41
Camunda BPMN
8.9.0
Camunda SDK
8.9.0
Spring Boot
4.0.0
JDK
21
34
BPMN Processes
✅ Migrated
179
Source Nodes
✅ Parsed
179
Migrated Nodes
✅ Parsed
23
Delegates Referenced
✅ Found
21
Delegates in JAR
⚠️ 2 not in JAR
21
Spring Boot Workers
✅ Generated
21
Plain Java Workers
✅ Generated
44
Service Tasks
✅ Converted
186
User Tasks
⚠️ 184 No Forms
1
Script Tasks
⚠️ Need Workers
98
FEEL Expressions
✅ Converted
2
Forms
✅ Migrated
2
Critical/High Issues
🚨 Must Fix

📊 Complexity Distribution

Simple 27
Medium 7
Complex 0
Very Complex 0
Critical 0
Very Critical 0
Extreme Critical 0

📋 Executive Summary

📊
34 BPMN processes migrated successfully
23 JavaDelegates referenced in BPMN → 21 found in JAR ⚠️ 2 missing
⚙️
21 Plain Java workers generated from available delegates
📝
1 Script Tasks across 1 processes
⚠️
2 critical/high and 32 medium issues
🎯
98 FEEL expressions converted from JUEL

📊 Process Complexity Distribution

BPMN File Score Process Complexity Nodes Service Script User Gateways Events Timer Cancel Comp Cond Trans Java
invoiceApproval.bpmn 9 Camunda Forms Quickstart Simple 3 0 0 1 0 0 0 0 0 0 0 0
camunda-testing-job-announcement.bpmn 53 camunda-testing-job-announcement Medium 22 1 0 4 1 0 0 0 0 0 0 1
react-example.bpmn 12 React Example Simple 5 0 0 1 1 0 0 0 0 0 0 0
xslt-example.bpmn 12 XSLT Example Simple 3 0 1 0 0 0 0 0 0 0 0 0
process-history-full.bpmn 14 process-history-full Simple 3 1 0 0 0 0 0 0 0 0 0 1
process.bpmn 29 Customer Data Process Simple 8 1 0 3 1 0 0 0 0 0 0 1
TwitterDemoProcess.bpmn 32 TwitterDemoProcess Medium 7 2 0 1 2 0 0 0 0 0 0 2
process-history-activity.bpmn 14 process-history-activity Simple 3 1 0 0 0 0 0 0 0 0 0 1
tenant1_process.bpmn 17 tenant1_process Simple 4 1 0 1 0 0 0 0 0 0 0 1
sample.bpmn 9 Sample Simple 3 0 0 1 0 0 0 0 0 0 0 0
camunda-testing-job-announcement-publication.bpmn 51 Job Announcement Publication (Subprocess) Medium 11 3 0 0 6 0 0 0 0 0 0 3
mainProcess.bpmn 20 Main Process Simple 3 0 0 0 0 0 0 0 0 0 0 0
loanApproval.bpmn 9 Embedded Forms Quickstart Simple 3 0 0 1 0 0 0 0 0 0 0 0
SpringExpressionResolvingTest.testResolveBean.bpmn 14 SpringExpressionResolvingTest.testResolveBean Simple 3 1 0 0 0 0 0 0 0 0 0 1
instantiating_process.bpmn 17 instantiating_process Simple 4 1 0 1 0 0 0 0 0 0 0 1
bpmnParseListener.bpmn 22 BpmnParseListener Simple 4 2 0 0 0 0 0 0 0 0 0 2
waitingState.bpmn 9 waitingState Simple 3 0 0 1 0 0 0 0 0 0 0 0
order-handling.bpmn 46 Order Process Medium 9 2 0 0 0 1 1 0 0 1 1 2
testProcess.bpmn 9 testProcess Simple 3 0 0 1 0 0 0 0 0 0 0 0
process-history-none.bpmn 14 process-history-none Simple 3 1 0 0 0 0 0 0 0 0 0 1
asynchronousServiceInvocation.bpmn 20 Asynchronous Service Invocation Simple 5 1 0 2 0 0 0 0 0 0 0 1
subProcess.bpmn 12 Sub-Process (tenant-specific) Simple 4 0 0 2 0 0 0 0 0 0 0 0
loan-granting.bpmn 51 Granting Loans Medium 13 3 0 0 1 0 1 0 0 0 0 3
process-history-custom-variable.bpmn 14 process-history-custom-variable Simple 3 1 0 0 0 0 0 0 0 0 0 1
retry-example.bpmn 41 retry-example Medium 6 4 0 0 0 0 0 0 0 0 0 4
synchronousServiceInvocation.bpmn 20 Synchronous Service Invocation Simple 5 1 0 2 0 0 0 0 0 0 0 1
SpringExpressionResolvingTest.testResolveBeanFromJobExecutor.bpmn 14 TestDeployProcessArchive Simple 3 1 0 0 0 0 0 0 0 0 0 1
tenant2_process.bpmn 17 tenant2_process Simple 4 1 0 1 0 0 0 0 0 0 0 1
bpmnParseListenerOnUserTask.bpmn 12 bpmnParseListenerOnUserTask Simple 4 0 0 2 0 0 0 0 0 0 0 0
message_start_process.bpmn 19 message_start_process Simple 3 0 0 1 0 0 0 0 0 0 0 0
exampleProcess.bpmn 9 Example Process Simple 3 0 0 1 0 0 0 0 0 0 0 0
invoicePayment.bpmn 40 Embedded Forms BPMN Events Medium 9 0 0 3 0 2 0 0 0 0 0 0
EjbExpressionResolvingTest.testResolveBean.bpmn 14 EjbExpressionResolvingTest.testResolveBean Simple 3 1 0 0 0 0 0 0 0 0 0 1
invokeRestService.bpmn 23 Get Holiday Simple 7 1 0 2 1 0 0 0 0 0 0 0

☕ Delegate to Worker Mapping

Java Delegate Used In Plain Java Worker Spring Boot Worker
org.camunda.bpm.quarkus.example.datasource.ApprovalServiceDelegate ApprovalServiceDelegate ApprovalServiceDelegate
org.camunda.bpm.example.invoice.service.ArchiveInvoiceService ArchiveInvoiceService ArchiveInvoiceService
org.camunda.quickstart.servicetask.invocation.AsynchronousServiceTask asynchronousServiceInvocation.bpmn→Asynchronous Service Task
org.camunda.bpm.example.loanapproval.CalculateInterestService CalculateInterestService CalculateInterestService
org.camunda.bpm.example.CreateVariablesDelegate process-history-full.bpmn→Create Variables, process-history-activity.bpmn→Create Variables and 2 more...
org.camunda.bpm.quickstart.ejb.EjbJavaDelegate EjbJavaDelegate EjbJavaDelegate
org.camunda.bpm.example.spring.servlet.pa.ExampleDelegateBean ExampleDelegateBean ExampleDelegateBean
org.camunda.bpm.example.tasklistener.InformAssigneeTaskListener InformAssigneeTaskListener InformAssigneeTaskListener
org.camunda.bpm.example.event.message.InstantiateProcessByMessageDelegate instantiating_process.bpmn→Send Message http-connector http-connector
org.camunda.bpm.example.JsonJavaDelegate process.bpmn→Validate customer JsonJavaDelegate JsonJavaDelegate
org.camunda.bpm.example.executionlistener.ProgressLoggingExecutionListener ProgressLoggingExecutionListener ProgressLoggingExecutionListener
org.camunda.bpm.spring.boot.example.twitter.RejectionNotificationDelegate RejectionNotificationDelegate RejectionNotificationDelegate
org.camunda.bpm.spring.boot.example.webapp.delegate.SayHelloDelegate SayHelloDelegate SayHelloDelegate
org.camunda.bpm.example.delegate.ServiceTaskOneDelegate bpmnParseListener.bpmn→ServiceTask 1, retry-example.bpmn→Fetch data from the CRM system  and 1 more... ServiceTaskOneDelegate, ServiceTaskOneDelegate,
org.camunda.bpm.example.delegate.ServiceTaskTwoDelegate bpmnParseListener.bpmn→ServiceTask 2, retry-example.bpmn→Send customer data to the ERP system and 1 more... ServiceTaskTwoDelegate, ServiceTaskTwoDelegate,
org.camunda.bpm.tutorial.multitenancy.SimpleServiceTask SimpleServiceTask SimpleServiceTask
org.camunda.bpm.quarkus.example.service.StoreOrderItemService StoreOrderItemService StoreOrderItemService
org.camunda.quickstart.servicetask.invocation.sync.SynchronousServiceTask synchronousServiceInvocation.bpmn→Synchronous Service Task
org.camunda.bpm.tutorial.multitenancy.TenantAwareServiceTask tenant1_process.bpmn→tenant-aware service task, tenant2_process.bpmn→tenant-aware service task TenantAwareServiceTask TenantAwareServiceTask
org.camunda.bpm.spring.boot.example.twitter.TweetContentDelegate TweetContentDelegate TweetContentDelegate
org.camunda.bpm.spring.boot.example.twitter.TweetContentOfflineDelegate TweetContentOfflineDelegate TweetContentOfflineDelegate
org.camunda.bpm.platform.example.servlet.can can can
org.camunda.quickstart.servicetask.invocation.sync.will will will
Summary: 23 delegates referenced in BPMN → 21 found in JAR → 21 Spring Boot workers + 21 Plain Java workers generated | ⚠️ 2 delegate(s) missing from JAR: SynchronousServiceTask, AsynchronousServiceTask

🔵 Camunda 8.9 Special Migration Summary

Migration Pattern Count Affected Processes
Conditional Event JUEL → FEEL 1 Order Process
Escalation Event → Escalation Event (with FEEL) 1 Embedded Forms BPMN Events
Script Task → Job Worker 1 XSLT Example

📦 JAR Summary

Category Count Description
Plain Java Individual JARs 0 None generated
Spring Boot Individual JARs 0 None generated
Plain Java Group JAR 0 None generated
Spring Boot Group JAR 0 None generated
ScriptWorker Individual JARs 0 None generated
TOTAL JARs 0 All JAR files generated
Deployment Options: Microservice (0 JARs) | Monolith (Spring Boot: 0 JAR) | Monolith (Plain Java: 0 JAR)

🔄 Transformation Analysis - Actual BPMN Nodes

Note: All BPMN nodes are listed.

BPMN File Name Score Source Node Source ID Source Type Migrated Node Migrated ID Migrated Type Status
invoiceApproval.bpmn 9 Invoice Received StartEvent_1 Start Invoice Received StartEvent_1 Start ✅ Preserved
Invoice Processed EndEvent_1 End Invoice Processed EndEvent_1 End ✅ Preserved
Approve Invoice UserTask_1 User Task Approve Invoice UserTask_1 User Task ✅ Preserved
camunda-testing-job-announcement.bpmn 53 LaneSet_0938wst laneSet LaneSet_0938wst laneSet ✅ Preserved
Automated Lane_105il6x lane Automated Lane_105il6x lane ✅ Preserved
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
Management Lane_0sb6j56 lane Management Lane_0sb6j56 lane ✅ Preserved
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
HR Lane_1klekz5 lane HR Lane_1klekz5 lane ✅ Preserved
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
flowNodeRef LaneSet_0938wst laneSet 🔄 ID Changed
New open position Event_0nt3pjb Start New open position Event_0nt3pjb Start ✅ Preserved
Send confirmation mail Service Task Send confirmation mail Service Task ✅ Preserved
New position announced Event_194gsd3 End New position announced Event_194gsd3 End ✅ Preserved
Execute announcement publication Call Activity Execute announcement publication Call Activity ✅ Preserved
Review job role description review User Task Review job role description review User Task ✅ Preserved
OK? Gateway_0o79ay3 Exclusive Gateway OK? Gateway_0o79ay3 Exclusive Gateway ✅ Preserved
Describe job role edit User Task Describe job role edit User Task ✅ Preserved
Improve job role description correct User Task Improve job role description correct User Task ✅ Preserved
Publish announcement publish User Task Publish announcement publish User Task ✅ Preserved
react-example.bpmn 12 Invoice Received StartEvent_1 Start Invoice Received StartEvent_1 Start ✅ Preserved
Approve Invoice Task_1a9adlo User Task Approve Invoice Task_1a9adlo User Task ✅ Preserved
Invoice not processed EndEvent_0fmx4bw End Invoice not processed EndEvent_0fmx4bw End ✅ Preserved
Invoice Approved? ExclusiveGateway_0kzw7nc Exclusive Gateway Invoice Approved? ExclusiveGateway_0kzw7nc Exclusive Gateway ✅ Preserved
Invoice Processed EndEvent_0zc07k5 End Invoice Processed EndEvent_0zc07k5 End ✅ Preserved
xslt-example.bpmn 12 give input StartEvent_1 Start give input StartEvent_1 Start ✅ Preserved
convert input ScriptTask_1 Script Task convert input ScriptTask_1 Script Task ✅ Preserved
show output EndEvent_1 End show output EndEvent_1 End ✅ Preserved
process-history-full.bpmn 14 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Create Variables ServiceTask_1 Service Task Create Variables ServiceTask_1 Service Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
process.bpmn 29 Customer entered StartEvent_1 Start Customer entered StartEvent_1 Start ✅ Preserved
Approve customer UserTask_1 User Task Approve customer UserTask_1 User Task ✅ Preserved
Customer age? ExclusiveGateway_1 Exclusive Gateway Customer age? ExclusiveGateway_1 Exclusive Gateway ✅ Preserved
Under 21 UserTask_3 User Task Under 21 UserTask_3 User Task ✅ Preserved
Over 21 UserTask_2 User Task Over 21 UserTask_2 User Task ✅ Preserved
Old customer validated EndEvent_2 End Old customer validated EndEvent_2 End ✅ Preserved
Young customer vaildated EndEvent_3 End Young customer vaildated EndEvent_3 End ✅ Preserved
Validate customer Task_0n2pfas Service Task Validate customer Task_0n2pfas Service Task ✅ Preserved
TwitterDemoProcess.bpmn 32 Send rejection notification service_task_send_rejection_notification Service Task Send rejection notification service_task_send_rejection_notification Service Task ✅ Preserved
Approved? gateway_approved Exclusive Gateway Approved? gateway_approved Exclusive Gateway ✅ Preserved
Join gateway_join Exclusive Gateway Join gateway_join Exclusive Gateway ✅ Preserved
Publish on Twitter service_task_publish_on_twitter Service Task Publish on Twitter service_task_publish_on_twitter Service Task ✅ Preserved
Tweet handled end_event_tweet_handled End Tweet handled end_event_tweet_handled End ✅ Preserved
Tweet written start_event_new_tweet Start Tweet written start_event_new_tweet Start ✅ Preserved
Review Tweet user_task_review_tweet User Task Review Tweet user_task_review_tweet User Task ✅ Preserved
process-history-activity.bpmn 14 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Create Variables ServiceTask_1 Service Task Create Variables ServiceTask_1 Service Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
tenant1_process.bpmn 17 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
user task UserTask_0ip48n0 User Task user task UserTask_0ip48n0 User Task ✅ Preserved
tenant-aware service task ServiceTask_0dsnjuy Service Task tenant-aware service task ServiceTask_0dsnjuy Service Task ✅ Preserved
sample.bpmn 9 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
do something UserTask_1 User Task do something UserTask_1 User Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
camunda-testing-job-announcement-publication.bpmn 51 Event_0izgki4 Start Event_0izgki4 Start ✅ Preserved
Publish announcement on website publish_announcement_website Service Task Publish announcement on website publish_announcement_website Service Task ✅ Preserved
Gateway_0z7rp9m Parallel Gateway Gateway_0z7rp9m Parallel Gateway ✅ Preserved
Chose Twitter? Gateway_0c0k10n Exclusive Gateway Chose Twitter? Gateway_0c0k10n Exclusive Gateway ✅ Preserved
Publish announcement on Twitter publish_announcement_twitter Service Task Publish announcement on Twitter publish_announcement_twitter Service Task ✅ Preserved
Gateway_030yxlx Exclusive Gateway Gateway_030yxlx Exclusive Gateway ✅ Preserved
Gateway_1loiva2 Parallel Gateway Gateway_1loiva2 Parallel Gateway ✅ Preserved
Gateway_0j1qkse Exclusive Gateway Gateway_0j1qkse Exclusive Gateway ✅ Preserved
Publish announcement on Facebook publish_announcement_facebook Service Task Publish announcement on Facebook publish_announcement_facebook Service Task ✅ Preserved
Chose Facebook? Gateway_1bdrrsh Exclusive Gateway Chose Facebook? Gateway_1bdrrsh Exclusive Gateway ✅ Preserved
Event_087qk1c End Event_087qk1c End ✅ Preserved
mainProcess.bpmn 20 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
subprocess CallActivity_0ahffuc Call Activity subprocess CallActivity_0ahffuc Call Activity ✅ Preserved
EndEvent_0pf67o7 End EndEvent_0pf67o7 End ✅ Preserved
loanApproval.bpmn 9 Loan Request Received StartEvent_1 Start Loan Request Received StartEvent_1 Start ✅ Preserved
Done EndEvent_1 End Done EndEvent_1 End ✅ Preserved
Approve Request UserTask_1 User Task Approve Request UserTask_1 User Task ✅ Preserved
SpringExpressionResolvingTest.testResolveBean.bpmn 14 Start theStart Start Start theStart Start ✅ Preserved
End endevent1 End End endevent1 End ✅ Preserved
Service Task servicetask1 Service Task Service Task servicetask1 Service Task ✅ Preserved
instantiating_process.bpmn 17 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Send Message ServiceTask_1 Service Task Send Message ServiceTask_1 Service Task ✅ Preserved
Wait in Instantiating Process UserTask_1 User Task Wait in Instantiating Process UserTask_1 User Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
bpmnParseListener.bpmn 22 Start StartEvent_1 Start Start StartEvent_1 Start ✅ Preserved
ServiceTask 1 ServiceTask_1 Service Task ServiceTask 1 ServiceTask_1 Service Task ✅ Preserved
ServiceTask 2 ServiceTask_2 Service Task ServiceTask 2 ServiceTask_2 Service Task ✅ Preserved
End EndEvent_1 End End EndEvent_1 End ✅ Preserved
waitingState.bpmn 9 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
EndEvent_0nrd2ju End EndEvent_0nrd2ju End ✅ Preserved
Wating state Task_0xibf8v User Task Wating state Task_0xibf8v User Task ✅ Preserved
order-handling.bpmn 46 Task_1nbdup3 Sub Process Task_1nbdup3 Sub Process ✅ Preserved
StartEvent_1iul9gy Start StartEvent_1iul9gy Start ✅ Preserved
EndEvent_036eexy End EndEvent_036eexy End ✅ Preserved
Create Invoice Task_06z99p1 Service Task Create Invoice Task_06z99p1 Service Task ✅ Preserved
EndEvent_00asnpf End EndEvent_00asnpf End ✅ Preserved
EndEvent_0q2wrcp End EndEvent_0q2wrcp End ✅ Preserved
Order received StartEvent_1 Start Order received StartEvent_1 Start ✅ Preserved
Archive invoice? BoundaryEvent_1y1bvad Boundary Event Archive invoice? BoundaryEvent_1y1bvad Boundary Event ✅ Preserved
Archive invoice Task_1yjkccw Service Task Archive invoice Task_1yjkccw Service Task ✅ Preserved
testProcess.bpmn 9 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Handle Request UserTask_1 User Task Handle Request UserTask_1 User Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
process-history-none.bpmn 14 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Create Variables ServiceTask_1 Service Task Create Variables ServiceTask_1 Service Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
asynchronousServiceInvocation.bpmn 20 Start StartEvent_1 Start Start StartEvent_1 Start ✅ Preserved
Wait State Before waitStateBefore User Task Wait State Before waitStateBefore User Task ✅ Preserved
Asynchronous Service Task serviceTaskActivity Service Task Asynchronous Service Task serviceTaskActivity Service Task ✅ Preserved
Wait State After waitStateAfter User Task Wait State After waitStateAfter User Task ✅ Preserved
End EndEvent_1 End End EndEvent_1 End ✅ Preserved
subProcess.bpmn 12 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
task in tenant specific subprocess UserTask_17fr4ij User Task task in tenant specific subprocess UserTask_17fr4ij User Task ✅ Preserved
another task UserTask_0wbry7k User Task another task UserTask_0wbry7k User Task ✅ Preserved
EndEvent_001dp5e End EndEvent_001dp5e End ✅ Preserved
loan-granting.bpmn 51 Check credit score Task_1lvjtd4 Service Task Check credit score Task_1lvjtd4 Service Task ✅ Preserved
Decide if a loan is granted SubProcess_16kr5xn Sub Process Decide if a loan is granted SubProcess_16kr5xn Sub Process ✅ Preserved
ExclusiveGateway_12xhuxz Exclusive Gateway ExclusiveGateway_12xhuxz Exclusive Gateway ✅ Preserved
EndEvent_1alwvtl End EndEvent_1alwvtl End ✅ Preserved
EndEvent_0zj88y0 End EndEvent_0zj88y0 End ✅ Preserved
StartEvent_01840xx Start StartEvent_01840xx Start ✅ Preserved
Grant loan Task_0v4gadf Service Task Grant loan Task_0v4gadf Service Task ✅ Preserved
Reject loan request Task_0j0sjlk Service Task Reject loan request Task_0j0sjlk Service Task ✅ Preserved
TextAnnotation_0u1nkri textAnnotation TextAnnotation_0u1nkri textAnnotation ✅ Preserved
TextAnnotation_0qjs0yj textAnnotation TextAnnotation_0qjs0yj textAnnotation ✅ Preserved
EndEvent_0q9wl5o End EndEvent_0q9wl5o End ✅ Preserved
StartEvent_1 Start StartEvent_1 Start ✅ Preserved
TextAnnotation_0k1pblj textAnnotation TextAnnotation_0k1pblj textAnnotation ✅ Preserved
process-history-custom-variable.bpmn 14 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Create Variables ServiceTask_1 Service Task Create Variables ServiceTask_1 Service Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
retry-example.bpmn 41 Start StartEvent_1 Start Start StartEvent_1 Start ✅ Preserved
End EndEvent_1wq706h End End EndEvent_1wq706h End ✅ Preserved
Fetch data from the CRM system  service-fetch-data Service Task Fetch data from the CRM system  service-fetch-data Service Task ✅ Preserved
Fetch address data from CRM system service-fetch-address Service Task Fetch address data from CRM system service-fetch-address Service Task ✅ Preserved
Send customer data to the ERP system service-send-data Service Task Send customer data to the ERP system service-send-data Service Task ✅ Preserved
Add address data in the ERP system service-add-address Service Task Add address data in the ERP system service-add-address Service Task ✅ Preserved
synchronousServiceInvocation.bpmn 20 Start StartEvent_1 Start Start StartEvent_1 Start ✅ Preserved
Wait State Before waitStateBefore User Task Wait State Before waitStateBefore User Task ✅ Preserved
Synchronous Service Task ServiceTask_1 Service Task Synchronous Service Task ServiceTask_1 Service Task ✅ Preserved
Wait State After waitStateAfter User Task Wait State After waitStateAfter User Task ✅ Preserved
End EndEvent_1 End End EndEvent_1 End ✅ Preserved
SpringExpressionResolvingTest.testResolveBeanFromJobExecutor.bpmn 14 Start theStart Start Start theStart Start ✅ Preserved
End endevent1 End End endevent1 End ✅ Preserved
Service Task servicetask1 Service Task Service Task servicetask1 Service Task ✅ Preserved
tenant2_process.bpmn 17 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
user task UserTask_0ip48n0 User Task user task UserTask_0ip48n0 User Task ✅ Preserved
tenant-aware service task ServiceTask_0dsnjuy Service Task tenant-aware service task ServiceTask_0dsnjuy Service Task ✅ Preserved
bpmnParseListenerOnUserTask.bpmn 12 Start StartEvent_1 Start Start StartEvent_1 Start ✅ Preserved
End EndEvent_1ea8dnn End End EndEvent_1ea8dnn End ✅ Preserved
User Task 1 Task_1i9jsnp User Task User Task 1 Task_1i9jsnp User Task ✅ Preserved
User Task 2 Task_01v3a6u User Task User Task 2 Task_01v3a6u User Task ✅ Preserved
message_start_process.bpmn 19 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
Wait in Message Process UserTask_1 User Task Wait in Message Process UserTask_1 User Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
exampleProcess.bpmn 9 StartEvent_1 Start StartEvent_1 Start ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
Example User Task UserTask_14494ua User Task Example User Task UserTask_14494ua User Task ✅ Preserved
invoicePayment.bpmn 40 Invoice Receipt StartEvent_1 Start Invoice Receipt StartEvent_1 Start ✅ Preserved
Pay Invoice Task_16y91ka User Task Pay Invoice Task_16y91ka User Task ✅ Preserved
Invoice Paid EndEvent_1ug8ljt End Invoice Paid EndEvent_1ug8ljt End ✅ Preserved
Unspecified Amount BoundaryEvent_18unjdv Boundary Event Unspecified Amount BoundaryEvent_18unjdv Boundary Event ✅ Preserved
Invoice Archived EndEvent_1ga7c7t End Invoice Archived EndEvent_1ga7c7t End ✅ Preserved
Archive Invoice Task_1a2twqz User Task Archive Invoice Task_1a2twqz User Task ✅ Preserved
Inform Supervisor Task_0q869n2 User Task Inform Supervisor Task_0q869n2 User Task ✅ Preserved
Invoice Escalated EndEvent_1irlotk End Invoice Escalated EndEvent_1irlotk End ✅ Preserved
Suspicous sender BoundaryEvent_1uy9o9h Boundary Event Suspicous sender BoundaryEvent_1uy9o9h Boundary Event ✅ Preserved
EjbExpressionResolvingTest.testResolveBean.bpmn 14 Start theStart Start Start theStart Start ✅ Preserved
End endevent1 End End endevent1 End ✅ Preserved
Service Task servicetask1 Service Task Service Task servicetask1 Service Task ✅ Preserved
invokeRestService.bpmn 23 start with date StartEvent_1 Start start with date StartEvent_1 Start ✅ Preserved
Check if date is holiday ServiceTask_1 Service Task Check if date is holiday ServiceTask_1 Service Task ✅ Preserved
ExclusiveGateway_1 Exclusive Gateway ExclusiveGateway_1 Exclusive Gateway ✅ Preserved
Pack for holiday UserTask_1 User Task Pack for holiday UserTask_1 User Task ✅ Preserved
Pack for work UserTask_2 User Task Pack for work UserTask_2 User Task ✅ Preserved
EndEvent_1 End EndEvent_1 End ✅ Preserved
EndEvent_2 End EndEvent_2 End ✅ Preserved
TOTAL NODES ANALYZED: 179
Source Nodes: 179 → Migrated Nodes: 179 Diff: 0
Preserved  |  🔄 Changed  |  🔵 Transformed  |  🟠 Review Required  |  🔴 Verify Required  |  Removed  |  New Node Added
📄 invoiceApproval.bpmn ⚠️ With Warnings Simple
Camunda Forms Quickstart Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: camundaFormsQuickstart  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Camunda Forms Quickstart
✅ Improvement Suggestions
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Approve Invoice ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Invoice Received Start Start ✅ Success
2 -- (Start) EndEvent_1 Invoice Processed End End ✅ Success
3 -- (Start) UserTask_1 Approve Invoice User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Approve Invoice' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 camunda-testing-job-announcement.bpmn ⚠️ With Warnings Medium
unnamed Nodes: 22 Transforms: 0 Warnings: 4 Special: 0 Delegates: 0
Process ID: camunda-testing-job-announcement  |  Version: Camunda 8.9.0 Complexity: Medium ⚠️ Missing Process Name
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 4 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
review Review job role description ❌ No
edit Describe job role ❌ No
correct Improve job role description ❌ No
publish Publish announcement ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) LaneSet_0938wst laneSet laneSet ✅ Success
2 -- (Start) Lane_105il6x Automated lane lane ✅ Success
3 -- (Start) flowNodeRef flowNodeRef ✅ Success
4 -- (Start) flowNodeRef flowNodeRef ✅ Success
5 -- (Start) flowNodeRef flowNodeRef ✅ Success
6 -- (Start) flowNodeRef flowNodeRef ✅ Success
7 -- (Start) Lane_0sb6j56 Management lane lane ✅ Success
8 -- (Start) flowNodeRef flowNodeRef ✅ Success
9 -- (Start) flowNodeRef flowNodeRef ✅ Success
10 -- (Start) Lane_1klekz5 HR lane lane ✅ Success
11 -- (Start) flowNodeRef flowNodeRef ✅ Success
12 -- (Start) flowNodeRef flowNodeRef ✅ Success
13 -- (Start) flowNodeRef flowNodeRef ✅ Success
14 -- (Start) Event_0nt3pjb New open position Start Start ✅ Success
15 -- (Start) mail Send confirmation Service Task Service Task ✅ Success
16 -- (Start) Event_194gsd3 New position announced End End ✅ Success
17 -- (Start) publication Execute announcement Call Activity Call Activity ✅ Success
18 -- (Start) review Review job role description User Task User Task ✅ Success
19 -- (Start) Gateway_0o79ay3 OK? Exclusive Gateway Exclusive Gateway ✅ Success
20 -- (Start) edit Describe job role User Task User Task ✅ Success
21 -- (Start) correct Improve job role description User Task User Task ✅ Success
22 -- (Start) publish Publish announcement User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Review job role description' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Describe job role' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Improve job role description' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Publish announcement' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 react-example.bpmn ⚠️ With Warnings Simple
React Example Nodes: 5 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: reactExample  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: React Example
✅ Improvement Suggestions
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
Task_1a9adlo Approve Invoice ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Invoice Received Start Start ✅ Success
2 -- (Start) Task_1a9adlo Approve Invoice User Task User Task ✅ Success
3 -- (Start) EndEvent_0fmx4bw Invoice not processed End End ✅ Success
4 -- (Start) ExclusiveGateway_0kzw7nc Invoice Approved? Exclusive Gateway Exclusive Gateway ✅ Success
5 -- (Start) EndEvent_0zc07k5 Invoice Processed End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Approve Invoice' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 xslt-example.bpmn ⚠️ With Warnings Simple
XSLT Example Nodes: 3 Transforms: 1 Warnings: 1 Special: 1 Delegates: 0
Process ID: xslt-example  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: XSLT Example
🔵 Special Migrations (Camunda 8.9)
📌 Script Task → Job Worker
Node: convert input (ScriptTask_1)
Original: Script Tasks with JavaScript/Groovy/Python are NOT supported natively in Camunda 8.9
Converted: Converted to Service Task with Job Worker (zeebe:taskDefinition type="script")
Reason: Camunda 8.9 only supports FEEL scripts natively. Non-FEEL scripts must be extracted to Job Workers.
Recommendation: Extract script logic to a Zeebe Job Worker or convert to FEEL expression
Camunda 8 Way: FEEL expressions for simple logic, Job Workers for complex logic
Status: Completed - Needs Worker
Script Language: javascript
✅ Improvement Suggestions
[CRITICAL] Script Task 'convert input' needs Job Worker extraction
💡 Create a Zeebe Job Worker for the script logic
🏗️ Camunda 8 Way: Implement as @JobWorker in Spring Boot or plain Java worker
📋 Source BPMN
✅ Converted BPMN
🔵 Transformations in this BPMN
Script Task 'convert input' → Job Worker (language: javascript) Converted
Reason: Auto-converted for Camunda 8.9 compatibility
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 give input Start Start ✅ Success
2 -- (Start) ScriptTask_1 convert input Script Task Script Task ✅ Success
3 -- (Start) EndEvent_1 show output End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: Script Task 'convert input' uses javascript
💡 Recommendation: Extract to Job Worker or convert to FEEL
📄 process-history-full.bpmn ✅ Success Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 1
Process ID: process-history-full  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.CreateVariablesDelegate Create Variables
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) ServiceTask_1 Create Variables Service Task Service Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
📄 process.bpmn ⚠️ With Warnings Simple
Customer Data Process Nodes: 8 Transforms: 0 Warnings: 3 Special: 0 Delegates: 1
Process ID: customerDataProcess  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Customer Data Process
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.JsonJavaDelegate Validate customer JsonJavaDelegate JsonJavaDelegate
✅ Improvement Suggestions
[MEDIUM] 3 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Approve customer ❌ No
UserTask_3 Under 21 ❌ No
UserTask_2 Over 21 ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Customer entered Start Start ✅ Success
2 -- (Start) UserTask_1 Approve customer User Task User Task ✅ Success
3 -- (Start) ExclusiveGateway_1 Customer age? Exclusive Gateway Exclusive Gateway ✅ Success
4 -- (Start) UserTask_3 Under 21 User Task User Task ✅ Success
5 -- (Start) UserTask_2 Over 21 User Task User Task ✅ Success
6 -- (Start) EndEvent_2 Old customer validated End End ✅ Success
7 -- (Start) EndEvent_3 Young customer vaildated End End ✅ Success
8 -- (Start) Task_0n2pfas Validate customer Service Task Service Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Approve customer' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Under 21' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Over 21' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 TwitterDemoProcess.bpmn ⚠️ With Warnings Medium
TwitterDemoProcess Nodes: 7 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: TwitterDemoProcess  |  Version: Camunda 8.9.0 Complexity: Medium Process Name: TwitterDemoProcess
✅ Improvement Suggestions
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
user_task_review_tweet Review Tweet ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) service_task_send_rejection_notification Send rejection notification Service Task Service Task ✅ Success
2 -- (Start) gateway_approved Approved? Exclusive Gateway Exclusive Gateway ✅ Success
3 -- (Start) gateway_join Join Exclusive Gateway Exclusive Gateway ✅ Success
4 -- (Start) service_task_publish_on_twitter Publish on Twitter Service Task Service Task ✅ Success
5 -- (Start) end_event_tweet_handled Tweet handled End End ✅ Success
6 -- (Start) start_event_new_tweet Tweet written Start Start ✅ Success
7 -- (Start) user_task_review_tweet Review Tweet User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Review Tweet' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 process-history-activity.bpmn ✅ Success Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 1
Process ID: process-history-activity  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.CreateVariablesDelegate Create Variables
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) ServiceTask_1 Create Variables Service Task Service Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
📄 tenant1_process.bpmn ⚠️ With Warnings Simple
unnamed Nodes: 4 Transforms: 0 Warnings: 1 Special: 0 Delegates: 1
Process ID: example-process  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.tutorial.multitenancy.TenantAwareServiceTask tenant-aware service task TenantAwareServiceTask TenantAwareServiceTask
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_0ip48n0 user task ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) EndEvent_1 End End ✅ Success
3 -- (Start) UserTask_0ip48n0 user task User Task User Task ✅ Success
4 -- (Start) ServiceTask_0dsnjuy tenant-aware service task Service Task Service Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'user task' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 sample.bpmn ⚠️ With Warnings Simple
Sample Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: Sample  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Sample
✅ Improvement Suggestions
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 do something ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) UserTask_1 do something User Task User Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'do something' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 camunda-testing-job-announcement-publication.bpmn ✅ Success Medium
Job Announcement Publication (Subprocess) Nodes: 11 Transforms: 0 Warnings: 0 Special: 0 Delegates: 0
Process ID: camunda-testing-job-announcement-publication  |  Version: Camunda 8.9.0 Complexity: Medium Process Name: Job Announcement Publication (Subprocess)
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) Event_0izgki4 Start Start ✅ Success
2 -- (Start) publish_announcement_website Publish announcement on website Service Task Service Task ✅ Success
3 -- (Start) Gateway_0z7rp9m Parallel Gateway Parallel Gateway ✅ Success
4 -- (Start) Gateway_0c0k10n Chose Twitter? Exclusive Gateway Exclusive Gateway ✅ Success
5 -- (Start) publish_announcement_twitter Publish announcement on Twitter Service Task Service Task ✅ Success
6 -- (Start) Gateway_030yxlx Exclusive Gateway Exclusive Gateway ✅ Success
7 -- (Start) Gateway_1loiva2 Parallel Gateway Parallel Gateway ✅ Success
8 -- (Start) Gateway_0j1qkse Exclusive Gateway Exclusive Gateway ✅ Success
9 -- (Start) publish_announcement_facebook Publish announcement on Facebook Service Task Service Task ✅ Success
10 -- (Start) Gateway_1bdrrsh Chose Facebook? Exclusive Gateway Exclusive Gateway ✅ Success
11 -- (Start) Event_087qk1c End End ✅ Success
📄 mainProcess.bpmn ✅ Success Simple
Main Process Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 0
Process ID: mainProcess  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Main Process
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) CallActivity_0ahffuc subprocess Call Activity Call Activity ✅ Success
3 -- (Start) EndEvent_0pf67o7 End End ✅ Success
📄 loanApproval.bpmn ⚠️ With Warnings Simple
Embedded Forms Quickstart Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: embeddedFormsQuickstart  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Embedded Forms Quickstart
✅ Improvement Suggestions
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Approve Request ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Loan Request Received Start Start ✅ Success
2 -- (Start) EndEvent_1 Done End End ✅ Success
3 -- (Start) UserTask_1 Approve Request User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Approve Request' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 SpringExpressionResolvingTest.testResolveBean.bpmn ✅ Success Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 0
Process ID: testResolveBean  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) theStart Start Start Start ✅ Success
2 -- (Start) endevent1 End End End ✅ Success
3 -- (Start) servicetask1 Service Task Service Task Service Task ✅ Success
📄 instantiating_process.bpmn ⚠️ With Warnings Simple
unnamed Nodes: 4 Transforms: 0 Warnings: 1 Special: 0 Delegates: 1
Process ID: Instantiating_Process  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.event.message.InstantiateProcessByMessageDelegate Send Message http-connector http-connector
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Wait in Instantiating Process ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) ServiceTask_1 Send Message Service Task Service Task ✅ Success
3 -- (Start) UserTask_1 Wait in Instantiating Process User Task User Task ✅ Success
4 -- (Start) EndEvent_1 End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Wait in Instantiating Process' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 bpmnParseListener.bpmn ✅ Success Simple
BpmnParseListener Nodes: 4 Transforms: 0 Warnings: 0 Special: 0 Delegates: 2
Process ID: bpmnParseListener  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: BpmnParseListener
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.delegate.ServiceTaskOneDelegate ServiceTask 1 ServiceTaskOneDelegate, ServiceTaskOneDelegate,
2 org.camunda.bpm.example.delegate.ServiceTaskTwoDelegate ServiceTask 2 ServiceTaskTwoDelegate, ServiceTaskTwoDelegate,
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start Start ✅ Success
2 -- (Start) ServiceTask_1 ServiceTask 1 Service Task Service Task ✅ Success
3 -- (Start) ServiceTask_2 ServiceTask 2 Service Task Service Task ✅ Success
4 -- (Start) EndEvent_1 End End End ✅ Success
📄 waitingState.bpmn ⚠️ With Warnings Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: waitingProcess  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
Task_0xibf8v Wating state ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) EndEvent_0nrd2ju End End ✅ Success
3 -- (Start) Task_0xibf8v Wating state User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Wating state' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 order-handling.bpmn ✅ Success Medium
Order Process Nodes: 9 Transforms: 0 Warnings: 0 Special: 1 Delegates: 0
Process ID: Order_Process  |  Version: Camunda 8.9.0 Complexity: Medium Process Name: Order Process
🔵 Special Migrations (Camunda 8.9)
📌 Conditional Event JUEL → FEEL
Node: Archive invoice? (BoundaryEvent_1y1bvad)
Original: Conditional Events are NEW in Camunda 8.9 (first-class support introduced)
Converted: Preserved as Conditional Event with JUEL expressions converted to FEEL
Reason: Conditional Events have first-class support in Camunda 8.9. JUEL expressions must be converted to FEEL.
Recommendation: Verify FEEL expressions work correctly in the redesigned BPMN
Camunda 8 Way: FEEL expressions with zeebe:conditionalFilter extension
Status: Completed - Verify FEEL Expressions
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) Task_1nbdup3 Sub Process Sub Process ✅ Success
2 -- (Start) StartEvent_1iul9gy Start Start ✅ Success
3 -- (Start) EndEvent_036eexy End End ✅ Success
4 -- (Start) Task_06z99p1 Create Invoice Service Task Service Task ✅ Success
5 -- (Start) EndEvent_00asnpf End End ✅ Success
6 -- (Start) EndEvent_0q2wrcp End End ✅ Success
7 -- (Start) StartEvent_1 Order received Start Start ✅ Success
8 -- (Start) BoundaryEvent_1y1bvad Archive invoice? Boundary Event Boundary Event ✅ Success
9 -- (Start) Task_1yjkccw Archive invoice Service Task Service Task ✅ Success
📄 testProcess.bpmn ⚠️ With Warnings Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: testProcess  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Handle Request ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) UserTask_1 Handle Request User Task User Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Handle Request' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 process-history-none.bpmn ✅ Success Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 1
Process ID: process-history-none  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.CreateVariablesDelegate Create Variables
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) ServiceTask_1 Create Variables Service Task Service Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
📄 asynchronousServiceInvocation.bpmn ⚠️ With Warnings Simple
Asynchronous Service Invocation Nodes: 5 Transforms: 0 Warnings: 2 Special: 0 Delegates: 1
Process ID: asynchronousServiceInvocation  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Asynchronous Service Invocation
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.quickstart.servicetask.invocation.AsynchronousServiceTask Asynchronous Service Task
✅ Improvement Suggestions
[MEDIUM] 2 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
waitStateBefore Wait State Before ❌ No
waitStateAfter Wait State After ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start Start ✅ Success
2 -- (Start) waitStateBefore Wait State Before User Task User Task ✅ Success
3 -- (Start) serviceTaskActivity Asynchronous Service Task Service Task Service Task ✅ Success
4 -- (Start) waitStateAfter Wait State After User Task User Task ✅ Success
5 -- (Start) EndEvent_1 End End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Wait State Before' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Wait State After' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 subProcess.bpmn ⚠️ With Warnings Simple
Sub-Process (tenant-specific) Nodes: 4 Transforms: 0 Warnings: 2 Special: 0 Delegates: 0
Process ID: subProcess  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Sub-Process (tenant-specific)
✅ Improvement Suggestions
[MEDIUM] 2 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_17fr4ij task in tenant specific subprocess ❌ No
UserTask_0wbry7k another task ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) UserTask_17fr4ij task in tenant specific subprocess User Task User Task ✅ Success
3 -- (Start) UserTask_0wbry7k another task User Task User Task ✅ Success
4 -- (Start) EndEvent_001dp5e End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'task in tenant specific subprocess' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'another task' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 loan-granting.bpmn ✅ Success Medium
Granting Loans Nodes: 13 Transforms: 0 Warnings: 0 Special: 0 Delegates: 0
Process ID: loan_process  |  Version: Camunda 8.9.0 Complexity: Medium Process Name: Granting Loans
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) Task_1lvjtd4 Check credit score Service Task Service Task ✅ Success
2 -- (Start) SubProcess_16kr5xn Decide if a loan is granted Sub Process Sub Process ✅ Success
3 -- (Start) ExclusiveGateway_12xhuxz Exclusive Gateway Exclusive Gateway ✅ Success
4 -- (Start) EndEvent_1alwvtl End End ✅ Success
5 -- (Start) EndEvent_0zj88y0 End End ✅ Success
6 -- (Start) StartEvent_01840xx Start Start ✅ Success
7 -- (Start) Task_0v4gadf Grant loan Service Task Service Task ✅ Success
8 -- (Start) Task_0j0sjlk Reject loan request Service Task Service Task ✅ Success
9 -- (Start) TextAnnotation_0u1nkri textAnnotation textAnnotation ✅ Success
10 -- (Start) TextAnnotation_0qjs0yj textAnnotation textAnnotation ✅ Success
11 -- (Start) EndEvent_0q9wl5o End End ✅ Success
12 -- (Start) StartEvent_1 Start Start ✅ Success
13 -- (Start) TextAnnotation_0k1pblj textAnnotation textAnnotation ✅ Success
📄 process-history-custom-variable.bpmn ✅ Success Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 1
Process ID: process-history-custom-variable  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.CreateVariablesDelegate Create Variables
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) ServiceTask_1 Create Variables Service Task Service Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
📄 retry-example.bpmn ✅ Success Medium
unnamed Nodes: 6 Transforms: 0 Warnings: 0 Special: 0 Delegates: 4
Process ID: process  |  Version: Camunda 8.9.0 Complexity: Medium ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.example.delegate.ServiceTaskOneDelegate Fetch data from the CRM system  ServiceTaskOneDelegate, ServiceTaskOneDelegate,
2 org.camunda.bpm.example.delegate.ServiceTaskOneDelegate Fetch address data from CRM system ServiceTaskOneDelegate, ServiceTaskOneDelegate,
3 org.camunda.bpm.example.delegate.ServiceTaskTwoDelegate Send customer data to the ERP system ServiceTaskTwoDelegate, ServiceTaskTwoDelegate,
4 org.camunda.bpm.example.delegate.ServiceTaskTwoDelegate Add address data in the ERP system ServiceTaskTwoDelegate, ServiceTaskTwoDelegate,
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start Start ✅ Success
2 -- (Start) EndEvent_1wq706h End End End ✅ Success
3 -- (Start) service-fetch-data Fetch data from the CRM system  Service Task Service Task ✅ Success
4 -- (Start) service-fetch-address Fetch address data from CRM system Service Task Service Task ✅ Success
5 -- (Start) service-send-data Send customer data to the ERP system Service Task Service Task ✅ Success
6 -- (Start) service-add-address Add address data in the ERP system Service Task Service Task ✅ Success
📄 synchronousServiceInvocation.bpmn ⚠️ With Warnings Simple
Synchronous Service Invocation Nodes: 5 Transforms: 0 Warnings: 2 Special: 0 Delegates: 1
Process ID: synchronousServiceInvocation  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Synchronous Service Invocation
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.quickstart.servicetask.invocation.sync.SynchronousServiceTask Synchronous Service Task
✅ Improvement Suggestions
[MEDIUM] 2 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
waitStateBefore Wait State Before ❌ No
waitStateAfter Wait State After ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start Start ✅ Success
2 -- (Start) waitStateBefore Wait State Before User Task User Task ✅ Success
3 -- (Start) ServiceTask_1 Synchronous Service Task Service Task Service Task ✅ Success
4 -- (Start) waitStateAfter Wait State After User Task User Task ✅ Success
5 -- (Start) EndEvent_1 End End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Wait State Before' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Wait State After' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 SpringExpressionResolvingTest.testResolveBeanFromJobExecutor.bpmn ✅ Success Simple
TestDeployProcessArchive Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 0
Process ID: testResolveBeanFromJobExecutor  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: TestDeployProcessArchive
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) theStart Start Start Start ✅ Success
2 -- (Start) endevent1 End End End ✅ Success
3 -- (Start) servicetask1 Service Task Service Task Service Task ✅ Success
📄 tenant2_process.bpmn ⚠️ With Warnings Simple
unnamed Nodes: 4 Transforms: 0 Warnings: 1 Special: 0 Delegates: 1
Process ID: example-process  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
📋 Java Delegate Usage & Worker Mapping
S.No Java Delegate Used In Task Plain Java Workers Spring Boot Workers
1 org.camunda.bpm.tutorial.multitenancy.TenantAwareServiceTask tenant-aware service task TenantAwareServiceTask TenantAwareServiceTask
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_0ip48n0 user task ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) EndEvent_1 End End ✅ Success
3 -- (Start) UserTask_0ip48n0 user task User Task User Task ✅ Success
4 -- (Start) ServiceTask_0dsnjuy tenant-aware service task Service Task Service Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'user task' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 bpmnParseListenerOnUserTask.bpmn ⚠️ With Warnings Simple
bpmnParseListenerOnUserTask Nodes: 4 Transforms: 0 Warnings: 2 Special: 0 Delegates: 0
Process ID: bpmnParseListenerOnUserTask  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: bpmnParseListenerOnUserTask
✅ Improvement Suggestions
[MEDIUM] 2 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
Task_1i9jsnp User Task 1 ❌ No
Task_01v3a6u User Task 2 ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start Start ✅ Success
2 -- (Start) EndEvent_1ea8dnn End End End ✅ Success
3 -- (Start) Task_1i9jsnp User Task 1 User Task User Task ✅ Success
4 -- (Start) Task_01v3a6u User Task 2 User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'User Task 1' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'User Task 2' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 message_start_process.bpmn ⚠️ With Warnings Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: Message_Start_Process  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Wait in Message Process ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) UserTask_1 Wait in Message Process User Task User Task ✅ Success
3 -- (Start) EndEvent_1 End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Wait in Message Process' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 exampleProcess.bpmn ⚠️ With Warnings Simple
Example Process Nodes: 3 Transforms: 0 Warnings: 1 Special: 0 Delegates: 0
Process ID: exampleProcess  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Example Process
✅ Improvement Suggestions
[MEDIUM] 1 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_14494ua Example User Task ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Start Start ✅ Success
2 -- (Start) EndEvent_1 End End ✅ Success
3 -- (Start) UserTask_14494ua Example User Task User Task User Task ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Example User Task' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 invoicePayment.bpmn ⚠️ With Warnings Medium
Embedded Forms BPMN Events Nodes: 9 Transforms: 0 Warnings: 3 Special: 1 Delegates: 0
Process ID: embeddedFormsBpmnEvents  |  Version: Camunda 8.9.0 Complexity: Medium Process Name: Embedded Forms BPMN Events
🔵 Special Migrations (Camunda 8.9)
📌 Escalation Event → Escalation Event (with FEEL)
Node: Suspicous sender (BoundaryEvent_1uy9o9h)
Original: Escalation Events ARE FULLY SUPPORTED in Camunda 8.9
Converted: Preserved as Escalation Event with JUEL expressions converted to FEEL
Reason: Camunda 8.9 supports Escalation Events natively as non-critical events. Execution continues at both throw and catch locations.
Recommendation: Review escalation event configurations and FEEL expressions in the redesigned BPMN
Camunda 8 Way: Use Escalation Events with FEEL expressions for non-critical communication
Status: Completed - Preserved with FEEL expressions
✅ Improvement Suggestions
[MEDIUM] 3 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
Task_16y91ka Pay Invoice ❌ No
Task_1a2twqz Archive Invoice ❌ No
Task_0q869n2 Inform Supervisor ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 Invoice Receipt Start Start ✅ Success
2 -- (Start) Task_16y91ka Pay Invoice User Task User Task ✅ Success
3 -- (Start) EndEvent_1ug8ljt Invoice Paid End End ✅ Success
4 -- (Start) BoundaryEvent_18unjdv Unspecified Amount Boundary Event Boundary Event ✅ Success
5 -- (Start) EndEvent_1ga7c7t Invoice Archived End End ✅ Success
6 -- (Start) Task_1a2twqz Archive Invoice User Task User Task ✅ Success
7 -- (Start) Task_0q869n2 Inform Supervisor User Task User Task ✅ Success
8 -- (Start) EndEvent_1irlotk Invoice Escalated End End ✅ Success
9 -- (Start) BoundaryEvent_1uy9o9h Suspicous sender Boundary Event Boundary Event ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: User Task 'Pay Invoice' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Archive Invoice' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Inform Supervisor' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📄 EjbExpressionResolvingTest.testResolveBean.bpmn ✅ Success Simple
unnamed Nodes: 3 Transforms: 0 Warnings: 0 Special: 0 Delegates: 0
Process ID: testResolveBean  |  Version: Camunda 8.9.0 Complexity: Simple ⚠️ Missing Process Name
✅ Improvement Suggestions
[MEDIUM] Process has no meaningful name
💡 Add a descriptive process name for better identification
🏗️ Camunda 8 Way: Use meaningful process names in BPMN
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) theStart Start Start Start ✅ Success
2 -- (Start) endevent1 End End End ✅ Success
3 -- (Start) servicetask1 Service Task Service Task Service Task ✅ Success
📄 invokeRestService.bpmn ⚠️ With Warnings Simple
Get Holiday Nodes: 7 Transforms: 0 Warnings: 3 Special: 0 Delegates: 0
Process ID: holiday  |  Version: Camunda 8.9.0 Complexity: Simple Process Name: Get Holiday
✅ Improvement Suggestions
[MEDIUM] 2 User Task(s) have no forms defined
💡 Create and attach Camunda 8 forms to these user tasks
🏗️ Camunda 8 Way: Use Camunda 8 Forms with zeebe:formDefinition
📋 User Task Form Association
Task ID Task Name Has Form
UserTask_1 Pack for holiday ❌ No
UserTask_2 Pack for work ❌ No
📋 Source BPMN
✅ Converted BPMN
# Parent Node ID Node Name Original Type Converted Type Status
1 -- (Start) StartEvent_1 start with date Start Start ✅ Success
2 -- (Start) ServiceTask_1 Check if date is holiday Service Task Service Task ✅ Success
3 -- (Start) ExclusiveGateway_1 Exclusive Gateway Exclusive Gateway ✅ Success
4 -- (Start) UserTask_1 Pack for holiday User Task User Task ✅ Success
5 -- (Start) UserTask_2 Pack for work User Task User Task ✅ Success
6 -- (Start) EndEvent_1 End End ✅ Success
7 -- (Start) EndEvent_2 End End ✅ Success
⚠️ Warnings - Action Required
📌 Unknown
Issue: Service Task 'Check if date is holiday' has no delegate
💡 Recommendation: Create a Zeebe Job Worker
📌 Unknown
Issue: User Task 'Pack for holiday' has no form
💡 Recommendation: Create and attach a Camunda 8 form
📌 Unknown
Issue: User Task 'Pack for work' has no form
💡 Recommendation: Create and attach a Camunda 8 form

☕ Worker Generation Details

Spring Boot Workers (23)

  • ⚙️ JsonJavaDelegate (type: JsonJavaDelegate)
  • ⚙️ CreateVariablesDelegate (type: )
  • ⚙️ CalculateInterestService (type: CalculateInterestService)
  • ⚙️ ProgressLoggingExecutionListener (type: ProgressLoggingExecutionListener)
  • ⚙️ InformAssigneeTaskListener (type: InformAssigneeTaskListener)
  • ⚙️ ServiceTaskOneDelegate (type: )
  • ⚙️ ServiceTaskOneDelegate (type: ServiceTaskOneDelegate)
  • ⚙️ ServiceTaskTwoDelegate (type: )
  • ⚙️ ServiceTaskTwoDelegate (type: ServiceTaskTwoDelegate)
  • ⚙️ InstantiateProcessByMessageDelegate (type: http-connector)
  • ⚙️ ArchiveInvoiceService (type: ArchiveInvoiceService)
  • ⚙️ ExampleDelegateBean (type: ExampleDelegateBean)
  • ⚙️ can (type: can)
  • ⚙️ SayHelloDelegate (type: SayHelloDelegate)
  • ⚙️ RejectionNotificationDelegate (type: RejectionNotificationDelegate)
  • ⚙️ TweetContentDelegate (type: TweetContentDelegate)
  • ⚙️ TweetContentOfflineDelegate (type: TweetContentOfflineDelegate)
  • ⚙️ StoreOrderItemService (type: StoreOrderItemService)
  • ⚙️ ApprovalServiceDelegate (type: ApprovalServiceDelegate)
  • ⚙️ TenantAwareServiceTask (type: TenantAwareServiceTask)
  • ⚙️ SimpleServiceTask (type: SimpleServiceTask)
  • ⚙️ EjbJavaDelegate (type: EjbJavaDelegate)
  • ⚙️ will (type: will)

Plain Java Workers (23)

  • ⚙️ JsonJavaDelegate (type: JsonJavaDelegate)
  • ⚙️ CreateVariablesDelegate (type: )
  • ⚙️ CalculateInterestService (type: CalculateInterestService)
  • ⚙️ ProgressLoggingExecutionListener (type: ProgressLoggingExecutionListener)
  • ⚙️ InformAssigneeTaskListener (type: InformAssigneeTaskListener)
  • ⚙️ ServiceTaskOneDelegate (type: )
  • ⚙️ ServiceTaskOneDelegate (type: ServiceTaskOneDelegate)
  • ⚙️ ServiceTaskTwoDelegate (type: )
  • ⚙️ ServiceTaskTwoDelegate (type: ServiceTaskTwoDelegate)
  • ⚙️ InstantiateProcessByMessageDelegate (type: http-connector)
  • ⚙️ ArchiveInvoiceService (type: ArchiveInvoiceService)
  • ⚙️ ExampleDelegateBean (type: ExampleDelegateBean)
  • ⚙️ can (type: can)
  • ⚙️ SayHelloDelegate (type: SayHelloDelegate)
  • ⚙️ RejectionNotificationDelegate (type: RejectionNotificationDelegate)
  • ⚙️ TweetContentDelegate (type: TweetContentDelegate)
  • ⚙️ TweetContentOfflineDelegate (type: TweetContentOfflineDelegate)
  • ⚙️ StoreOrderItemService (type: StoreOrderItemService)
  • ⚙️ ApprovalServiceDelegate (type: ApprovalServiceDelegate)
  • ⚙️ TenantAwareServiceTask (type: TenantAwareServiceTask)
  • ⚙️ SimpleServiceTask (type: SimpleServiceTask)
  • ⚙️ EjbJavaDelegate (type: EjbJavaDelegate)
  • ⚙️ will (type: will)

Camunda 7 APIs

✅ Auto-Migrated
  • ✓ org.camunda.bpm.engine.delegate.BpmnError
  • ✓ org.camunda.bpm.engine.delegate.DelegateExecution
  • ✓ org.camunda.bpm.engine.delegate.DelegateTask
  • ✓ org.camunda.bpm.engine.delegate.ExecutionListener
  • ✓ org.camunda.bpm.engine.delegate.JavaDelegate
  • ✓ org.camunda.bpm.engine.delegate.TaskListener
⚠️ Manual Review Required
  • ⚠ org.camunda.bpm.BpmPlatform
  • ⚠ org.camunda.bpm.ProcessEngineService
  • ⚠ org.camunda.bpm.application.PostDeploy
  • ⚠ org.camunda.bpm.application.PreUndeploy
  • ⚠ org.camunda.bpm.application.ProcessApplication
  • ⚠ org.camunda.bpm.application.ProcessApplicationContext
  • ⚠ org.camunda.bpm.application.ProcessApplicationDeploymentInfo
  • ⚠ org.camunda.bpm.application.ProcessApplicationInfo
  • ⚠ org.camunda.bpm.application.ProcessApplicationInterface
  • ⚠ org.camunda.bpm.application.impl.JakartaServletProcessApplication
  • ⚠ org.camunda.bpm.application.impl.ServletProcessApplication
  • ⚠ org.camunda.bpm.application.impl.event.ProcessApplicationEventParseListener
  • ⚠ org.camunda.bpm.client.ExternalTaskClient
  • ⚠ org.camunda.bpm.client.spring.SpringTopicSubscription
  • ⚠ org.camunda.bpm.client.spring.annotation.ExternalTaskSubscription
  • ⚠ org.camunda.bpm.client.spring.boot.starter.ClientProperties
  • ⚠ org.camunda.bpm.client.spring.event.SubscriptionInitializedEvent
  • ⚠ org.camunda.bpm.client.task.ExternalTaskHandler
  • ⚠ org.camunda.bpm.client.variable.ClientValues
  • ⚠ org.camunda.bpm.cockpit.Cockpit
  • ⚠ org.camunda.bpm.cockpit.db.QueryParameters
  • ⚠ org.camunda.bpm.cockpit.db.QueryService
  • ⚠ org.camunda.bpm.cockpit.plugin.resource.AbstractCockpitPluginResource
  • ⚠ org.camunda.bpm.cockpit.plugin.resource.AbstractCockpitPluginRootResource
  • ⚠ org.camunda.bpm.cockpit.plugin.sample.SamplePlugin
  • ⚠ org.camunda.bpm.cockpit.plugin.sample.db.ProcessInstanceCountDto
  • ⚠ org.camunda.bpm.cockpit.plugin.sample.resources.SamplePluginRootResource
  • ⚠ org.camunda.bpm.cockpit.plugin.spi.CockpitPlugin
  • ⚠ org.camunda.bpm.cockpit.plugin.spi.impl.AbstractCockpitPlugin
  • ⚠ org.camunda.bpm.cockpit.plugin.test.AbstractCockpitPluginTest
  • ⚠ org.camunda.bpm.dmn.engine.DmnDecision
  • ⚠ org.camunda.bpm.dmn.engine.DmnDecisionTableResult
  • ⚠ org.camunda.bpm.dmn.engine.DmnEngine
  • ⚠ org.camunda.bpm.dmn.engine.DmnEngineConfiguration
  • ⚠ org.camunda.bpm.dmn.engine.test.DmnEngineRule
  • ⚠ org.camunda.bpm.engine.AuthorizationService
  • ⚠ org.camunda.bpm.engine.CaseService
  • ⚠ org.camunda.bpm.engine.DecisionService
  • ⚠ org.camunda.bpm.engine.ExternalTaskService
  • ⚠ org.camunda.bpm.engine.FilterService
  • ⚠ org.camunda.bpm.engine.FormService
  • ⚠ org.camunda.bpm.engine.HistoryService
  • ⚠ org.camunda.bpm.engine.IdentityService
  • ⚠ org.camunda.bpm.engine.ManagementService
  • ⚠ org.camunda.bpm.engine.ProcessEngine
  • ⚠ org.camunda.bpm.engine.ProcessEngineConfiguration
  • ⚠ org.camunda.bpm.engine.ProcessEngineException
  • ⚠ org.camunda.bpm.engine.ProcessEngines
  • ⚠ org.camunda.bpm.engine.RepositoryService
  • ⚠ org.camunda.bpm.engine.RuntimeService
  • ⚠ org.camunda.bpm.engine.TaskService
  • ⚠ org.camunda.bpm.engine.cdi.impl.ProcessEngineServicesProducer
  • ⚠ org.camunda.bpm.engine.history.HistoricProcessInstance
  • ⚠ org.camunda.bpm.engine.history.HistoricVariableInstance
  • ⚠ org.camunda.bpm.engine.impl.ProcessEngineImpl
  • ⚠ org.camunda.bpm.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior
  • ⚠ org.camunda.bpm.engine.impl.bpmn.behavior.UserTaskActivityBehavior
  • ⚠ org.camunda.bpm.engine.impl.bpmn.parser.AbstractBpmnParseListener
  • ⚠ org.camunda.bpm.engine.impl.bpmn.parser.BpmnParseListener
  • ⚠ org.camunda.bpm.engine.impl.bpmn.parser.DefaultFailedJobParseListener
  • ⚠ org.camunda.bpm.engine.impl.bpmn.parser.FailedJobRetryConfiguration
  • ⚠ org.camunda.bpm.engine.impl.cfg.AbstractProcessEnginePlugin
  • ⚠ org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl
  • ⚠ org.camunda.bpm.engine.impl.cfg.ProcessEnginePlugin
  • ⚠ org.camunda.bpm.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration
  • ⚠ org.camunda.bpm.engine.impl.cfg.multitenancy.TenantIdProvider
  • ⚠ org.camunda.bpm.engine.impl.cfg.multitenancy.TenantIdProviderCaseInstanceContext
  • ⚠ org.camunda.bpm.engine.impl.cfg.multitenancy.TenantIdProviderHistoricDecisionInstanceContext
  • ⚠ org.camunda.bpm.engine.impl.cfg.multitenancy.TenantIdProviderProcessInstanceContext
  • ⚠ org.camunda.bpm.engine.impl.context.Context
  • ⚠ org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager
  • ⚠ org.camunda.bpm.engine.impl.history.HistoryLevel
  • ⚠ org.camunda.bpm.engine.impl.history.event.HistoryEvent
  • ⚠ org.camunda.bpm.engine.impl.history.event.HistoryEventType
  • ⚠ org.camunda.bpm.engine.impl.history.event.HistoryEventTypes
  • ⚠ org.camunda.bpm.engine.impl.identity.Authentication
  • ⚠ org.camunda.bpm.engine.impl.interceptor.Command
  • ⚠ org.camunda.bpm.engine.impl.interceptor.CommandContext
  • ⚠ org.camunda.bpm.engine.impl.interceptor.CommandInterceptor
  • ⚠ org.camunda.bpm.engine.impl.jobexecutor.JobExecutor
  • ⚠ org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
  • ⚠ org.camunda.bpm.engine.impl.persistence.entity.JobEntity
  • ⚠ org.camunda.bpm.engine.impl.pvm.delegate.ActivityBehavior
  • ⚠ org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution
  • ⚠ org.camunda.bpm.engine.impl.pvm.delegate.SignallableActivityBehavior
  • ⚠ org.camunda.bpm.engine.impl.pvm.process.ActivityImpl
  • ⚠ org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
  • ⚠ org.camunda.bpm.engine.impl.util.ClockUtil
  • ⚠ org.camunda.bpm.engine.impl.util.ParseUtil
  • ⚠ org.camunda.bpm.engine.impl.util.xml.Element
  • ⚠ org.camunda.bpm.engine.migration.MigrationPlan
  • ⚠ org.camunda.bpm.engine.repository.Deployment
  • ⚠ org.camunda.bpm.engine.repository.ProcessDefinition
  • ⚠ org.camunda.bpm.engine.repository.ProcessDefinitionQuery
  • ⚠ org.camunda.bpm.engine.rest.dto.repository.ProcessDefinitionDto
  • ⚠ org.camunda.bpm.engine.rest.impl.CamundaRestResources
  • ⚠ org.camunda.bpm.engine.rest.spi.ProcessEngineProvider
  • ⚠ org.camunda.bpm.engine.runtime.Job
  • ⚠ org.camunda.bpm.engine.runtime.JobQuery
  • ⚠ org.camunda.bpm.engine.runtime.ProcessInstance
  • ⚠ org.camunda.bpm.engine.runtime.VariableInstance
  • ⚠ org.camunda.bpm.engine.task.Task
  • ⚠ org.camunda.bpm.engine.task.TaskQuery
  • ⚠ org.camunda.bpm.engine.test.Deployment
  • ⚠ org.camunda.bpm.engine.test.ProcessEngineRule
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.complete
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.execute
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.historyService
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.job
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.jobQuery
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.runtimeService
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.task
  • ⚠ org.camunda.bpm.engine.test.assertions.ProcessEngineTests.taskService
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.assertThat
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.claim
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.complete
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.findId
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.processInstanceQuery
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.runtimeService
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.task
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.taskQuery
  • ⚠ org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.withVariables
  • ⚠ org.camunda.bpm.engine.test.assertions.examples.jobannouncement.JobAnnouncement
  • ⚠ org.camunda.bpm.engine.test.assertions.examples.jobannouncement.JobAnnouncementService
  • ⚠ org.camunda.bpm.engine.test.junit5.ProcessEngineExtension
  • ⚠ org.camunda.bpm.engine.test.mock.Mocks
  • ⚠ org.camunda.bpm.engine.variable.VariableMap
  • ⚠ org.camunda.bpm.engine.variable.Variables
  • ⚠ org.camunda.bpm.engine.variable.value.ObjectValue
  • ⚠ org.camunda.bpm.engine.variable.value.SerializableValue
  • ⚠ org.camunda.bpm.engine.variable.value.TypedValue
  • ⚠ org.camunda.bpm.example.delegate.ServiceTaskOneDelegate
  • ⚠ org.camunda.bpm.example.delegate.ServiceTaskTwoDelegate
  • ⚠ org.camunda.bpm.example.engine.cmd.EndBlockingCmd
  • ⚠ org.camunda.bpm.example.engine.cmd.StartBlockingCmd
  • ⚠ org.camunda.bpm.example.engine.cmd.UnblockedCommand
  • ⚠ org.camunda.bpm.example.executionlistener.ProgressLoggingExecutionListener
  • ⚠ org.camunda.bpm.example.invoice.InvoiceProcessApplication
  • ⚠ org.camunda.bpm.example.invoice.service.ArchiveInvoiceService
  • ⚠ org.camunda.bpm.example.spin.dataformat.configuration.Car
  • ⚠ org.camunda.bpm.example.spin.dataformat.configuration.Money
  • ⚠ org.camunda.bpm.example.tasklistener.InformAssigneeTaskListener
  • ⚠ org.camunda.bpm.extension.mockito.DelegateExpressions.autoMock
  • ⚠ org.camunda.bpm.model.bpmn.Bpmn
  • ⚠ org.camunda.bpm.model.bpmn.BpmnModelInstance
  • ⚠ org.camunda.bpm.model.bpmn.GatewayDirection
  • ⚠ org.camunda.bpm.model.bpmn.impl.BpmnModelConstants
  • ⚠ org.camunda.bpm.model.bpmn.instance.CallActivity
  • ⚠ org.camunda.bpm.model.bpmn.instance.ConditionExpression
  • ⚠ org.camunda.bpm.model.bpmn.instance.EndEvent
  • ⚠ org.camunda.bpm.model.bpmn.instance.Event
  • ⚠ org.camunda.bpm.model.bpmn.instance.ExclusiveGateway
  • ⚠ org.camunda.bpm.model.bpmn.instance.ExtensionElements
  • ⚠ org.camunda.bpm.model.bpmn.instance.FlowElement
  • ⚠ org.camunda.bpm.model.bpmn.instance.FlowNode
  • ⚠ org.camunda.bpm.model.bpmn.instance.Gateway
  • ⚠ org.camunda.bpm.model.bpmn.instance.Process
  • ⚠ org.camunda.bpm.model.bpmn.instance.Script
  • ⚠ org.camunda.bpm.model.bpmn.instance.ScriptTask
  • ⚠ org.camunda.bpm.model.bpmn.instance.SequenceFlow
  • ⚠ org.camunda.bpm.model.bpmn.instance.ServiceTask
  • ⚠ org.camunda.bpm.model.bpmn.instance.StartEvent
  • ⚠ org.camunda.bpm.model.bpmn.instance.UserTask
  • ⚠ org.camunda.bpm.model.bpmn.instance.bpmndi.BpmnPlane
  • ⚠ org.camunda.bpm.model.bpmn.instance.camunda.CamundaExecutionListener
  • ⚠ org.camunda.bpm.model.bpmn.instance.camunda.CamundaFormData
  • ⚠ org.camunda.bpm.model.bpmn.instance.camunda.CamundaFormField
  • ⚠ org.camunda.bpm.model.bpmn.instance.camunda.CamundaProperties
  • ⚠ org.camunda.bpm.model.bpmn.instance.camunda.CamundaProperty
  • ⚠ org.camunda.bpm.model.xml.instance.ModelElementInstance
  • ⚠ org.camunda.bpm.quarkus.engine.extension.QuarkusProcessEngineConfiguration
  • ⚠ org.camunda.bpm.quarkus.engine.extension.event.CamundaEngineStartupEvent
  • ⚠ org.camunda.bpm.quarkus.example.datasource.ApprovalServiceBean
  • ⚠ org.camunda.bpm.quarkus.example.dto.OrderItem
  • ⚠ org.camunda.bpm.spring.boot.starter.annotation.EnableProcessApplication
  • ⚠ org.camunda.bpm.spring.boot.starter.event.PostDeployEvent
  • ⚠ org.camunda.bpm.spring.boot.starter.event.PreUndeployEvent
  • ⚠ org.camunda.bpm.spring.boot.starter.property.CamundaBpmProperties
  • ⚠ org.camunda.bpm.spring.boot.starter.test.helper.AbstractProcessEngineRuleTest
  • ⚠ org.camunda.commons.utils.IoUtil
  • ⚠ org.camunda.connect.Connectors
  • ⚠ org.camunda.connect.httpclient.HttpRequest
  • ⚠ org.camunda.connect.httpclient.HttpResponse
  • ⚠ org.camunda.connect.spi.Connector
  • ⚠ org.camunda.connect.spi.ConnectorRequest
  • ⚠ org.camunda.connect.spi.ConnectorResponse
  • ⚠ org.camunda.spin.DataFormats
  • ⚠ org.camunda.spin.Spin.JSON
  • ⚠ org.camunda.spin.SpinList
  • ⚠ org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormat
  • ⚠ org.camunda.spin.json.SpinJsonNode
  • ⚠ org.camunda.spin.plugin.impl.SpinProcessEnginePlugin
  • ⚠ org.camunda.spin.plugin.variable.value.JsonValue
  • ⚠ org.camunda.spin.spi.DataFormatConfigurator

📚 Appendix: Reference Documentation

Camunda 8.9 Official Documentation

Specific Migration Guides

💡 All links are to the official Camunda 8.9 documentation. For the most up-to-date information, please refer to the official documentation.