Feature Description
Support for scripts (e.g., Groovy, JavaScript) in the visual Inspector for Task/Execution Listeners is essential in the following scenarios:
Pure External Task architecture – when the worker application code does not run inside the Camunda engine. In this case, delegateExpression or camunda:class (Java classes) cannot be used because they require deploying code to the engine. Scripts execute directly inside the engine without extra dependencies.
Simple, synchronous operations tied to a task event – for example, setting a default assignee or candidateUsers, initializing local variables (task.setVariableLocal), setting dueDate, or writing audit logs. These actions must be fast (milliseconds) and do not warrant a separate External Task.
Avoiding Java class deployment to the engine – the script is stored directly in the BPMN diagram, simplifying versioning and deployment, and eliminating the need to build JARs or restart the engine.
Rapid prototyping and debugging – developers can write and test a small script directly in the modeler without compilation.
Without script support, developers in such architectures would either have to abandon Listeners (and model everything as explicit Service Tasks) or break architectural cleanliness by forcing Java classes onto the engine.
Feature Description
Support for scripts (e.g., Groovy, JavaScript) in the visual Inspector for Task/Execution Listeners is essential in the following scenarios:
Pure External Task architecture – when the worker application code does not run inside the Camunda engine. In this case, delegateExpression or camunda:class (Java classes) cannot be used because they require deploying code to the engine. Scripts execute directly inside the engine without extra dependencies.
Simple, synchronous operations tied to a task event – for example, setting a default assignee or candidateUsers, initializing local variables (task.setVariableLocal), setting dueDate, or writing audit logs. These actions must be fast (milliseconds) and do not warrant a separate External Task.
Avoiding Java class deployment to the engine – the script is stored directly in the BPMN diagram, simplifying versioning and deployment, and eliminating the need to build JARs or restart the engine.
Rapid prototyping and debugging – developers can write and test a small script directly in the modeler without compilation.
Without script support, developers in such architectures would either have to abandon Listeners (and model everything as explicit Service Tasks) or break architectural cleanliness by forcing Java classes onto the engine.