The best free Plugins for Camunda’s BPMN 2 Modeler

Robert Emsbach
7 min readMay 24, 2020

--

Last updated: 03/03/2021

Out of the box Camunda’s BPMN 2 Modeler is intentionally kept simple and lightweight. Instead of feature bloat it offers a plugin system, allowing flexible customization and extension according to individual use cases and preferences. The popular extension mechanism has led to a variety of (unfortunately) proprietary, internal, or free, publicly available, open-source community plugins.

This post lists “the best” free and publicly available plugins. No attempt to derive objective criteria was made. The selection is completely subjective, based solely on my experience. Your use cases and preferences may differ.

The plugin menu appears after plugins have been added.

While all plugins listed here work with the current Modeler version 4.6.0, the usability, or integration into the modeler UI of some leaves room for improvement. They are open source so feel free to contribute.

Non of these plugins are officially maintained or endorsed by Camunda. However, the plugin mechanism seems very stable and most plugins remained usable over the last few modeler versions without issues or updates.

Plugin Installation

The plugins have been published in different GitHub locations, partly nested, as part of a parent project. If you want to quickly give all of the listed plugins a spin, and then possibly delete those not needed, you can simply either

a) navigate to the installation folder mentioned below and
git clone https://github.com/rob2universe/plugins

b) download a ZIP from https://github.com/rob2universe/plugins/releases/
and extract its contents into the plugins folder.

I created this repository for a convenient, faster installation of all plugins and will check occasionally for updates upstream, but do not guarantee to mirror the latest version (switch he original source referenced below instead).

In general a plugin can be installed by downloading and extracting or cloning the sources with Git into the plugins-directory {path_to_modeler}/plugins. However, the preferable approach is to place the plugins into
C:\Users\{user_name}\AppData\Roaming\camunda-modeler\resources\plugins (Windows) or
/Users/{user_name}/Library/Application Support/camunda-modeler/plugins (Mac OS)
This preserves the plugins when the modeler installation is replaced with a new version and allows to use the plugins from several installed versions.

THE TOP FIVE

Transaction Boundaries

The save or commit points / transaction boundaries, introduced either implicitly by certain model elements (wait states) or explicitly via the async before /after settings, have a significant impact on the process model execution. Hence, it is important to understand where in the process model transaction boundaries exist. This plugin visualizes them with a T symbol.

Markers for Transaction Boundaries shown in Process

Home: https://github.com/camunda/camunda-modeler-plugins/tree/master/camunda-transaction-boundaries-plugin

git clone https://github.com/camunda/camunda-modeler-plugins.git

ZIP Download (latest code; remove unwanted plugins,
keep camunda-transaction-boundaries-plugin)

Model Validation / Linter

This bpmnlint-based plugin adds the default model validation rules by Camunda to the Modeler, but also provides its own plugin mechanism, allowing to register custom rules.

Model Validation Errors and Summary

Home: https://github.com/camunda/camunda-modeler-linter-plugin

git clone https://github.com/camunda/camunda-modeler-linter-plugin.git

Download page

Tool Tips

This extremely useful plugin adds tool tips showing important element properties, such as condition on sequence flows, message or signal names, or expressions, to the BPMN elements.

Tool Tips with important BPMN Element Attributes

Home: https://github.com/viadee/camunda-modeler-tooltip-plugin

git clone https://github.com/viadee/camunda-modeler-tooltip-plugin.git

Download page

Rename Technical Identifiers

When automating process or during their testing with Camunda, the technical IDs of many BPMN elements are used frequently. The IDs generated by the modeler by default do not reflect the element name, which makes it harder to identify the element based on its ID. Manually changing the IDs and applying a consistent patter is cumbersome. This plugin generates readable technical IDs based on the element name / visible label.

Home: https://github.com/camunda-consulting/code/tree/master/snippets/camunda-modeler-plugins/bpmn-js-plugin-rename-technical-ids

git clone https://github.com/camunda-consulting/code.git
use files in code\snippets\camunda-modeler-plugins or apply git filter

ZIP Download (latest code; manually remove unwanted plugins,
keep bpmn-js-plugin-rename-technical-ids)

Camunda Property Info

The plugin visualizes the Camunda-specific properties: Input, Output, Variable, Listener, Task Listener, Extension, Field Injection, Is (not) Executable using overlays on the BPMN 2 diagram.

Visualization of Camunda properties on a BPMN 2 diagram added via Property Info Plugin

Home: https://github.com/umb/camunda-modeler-property-info-plugin

git clone https://github.com/umb/camunda-modeler-property-info-plugin.git

ZIP Download (latest code, master)

HONORABLE MENTIONS

WYSIWYG Documentation

The model documentation field is extended with WYSIWYG text editor, allowing to create HTML documentation embedded inside the BPMN file.

Home: https://github.com/sharedchains/camunda-wysiwyg-documentation

git clone https://github.com/sharedchains/camunda-wysiwyg-documentation.git

ZIP Download (latest code, master)

Token Simulation

This plugin simulates the token creation, flow and consumption of tokens in a BPMN 2 process model. While the functionality currently does not cover more complex elements or models, the plugin is popular with training participants, trainers or less experienced BPMN practitioners to clarify how different BPMN elements affect the token flow.

Token Simulation in Action

Home: https://github.com/bpmn-io/bpmn-js-token-simulation-plugin

Download Page (latest code, master)

git clone https://github.com/bpmn-io/bpmn-js-token-simulation-plugin.git

Color picker

Opinions on the usage of colors in BPMN2 diagrams differ and the standard modeler already offers an icon to set a menu color. Anyway, if you need more colors or more choice, this plugin got you covered.

Changing model element colors using the Color Picker plugin

Home: https://github.com/camunda-consulting/code/tree/master/snippets/camunda-modeler-plugins/bpmn-js-plugin-color-picker

Generated Form Preview and Generator

If from fields are specified Camunda Tasklist will automatically generate corresponding task forms when the process is started or the user task is opened via Tasklist. This Modeler plugin allows to preview the generated forms and to generate the HTML code of this form, so it can be used as a starting point for a custom HTML embedded task form.

Preview Form via Properties Panel

Home: https://github.com/camunda-consulting/code/tree/master/snippets/camunda-modeler-plugins/camunda-modeler-plugin-usertask-generatedform-preview

git clone https://github.com/camunda/camunda-modeler-plugins.git

ZIP Download (latest code; manually remove unwanted plugins,
keep camunda-modeler-plugin-usertask-generatedform-preview)

Currently this plugin is not compatible wit the process I/O specification plugin. You need to remove this plugin (delete the sub folder) for the “Preview Forms” button to appear.

Multi-Diagram

Currently broken on Modeler 4.6
This plug-in allows to manage multiple process models in a single bpmn file and to link a Call Activity to a processes within the same bpmn file.

Home: https://github.com/sharedchains/camunda-modeler-plugin-multidiagram

git clone https://github.com/sharedchains/camunda-modeler-plugin-multidiagram.git

ZIP Download (latest code, master)

Process I/O Specification

The plugin adds an I/O Specification tab to the BPMN editor’s properties panel, allowing the specification of the inputs and outputs of a process. The information is useful as an interface specification e.g. when invoking a process as a service, by execution or task listeners or for documentation purposes.

Specify a Process’s Inputs and Outputs as Properties

Home: https://github.com/camunda/camunda-modeler-process-io-specification-plugin

git clone https://github.com/camunda/camunda-modeler-process-io-specification-plugin.git

Download page

Auto-Save

If you would like the Camunda Modeler to automatically save changes in a user-defined interval, then this is the plugin for you.

For plugin developers this plugin also serves as an example on how to extend the Modeler’s user interface with a React component.

Configure Interval and enable Auto-Save

Home: https://github.com/pinussilvestrus/camunda-modeler-autosave-plugin

git clone https://github.com/pinussilvestrus/camunda-modeler-autosave-plugin.git

Zip Download (latest code, master)

DMN Excel Import

The plugin imports the columns of an Excel sheet into a DMN file.

Home: https://github.com/pinussilvestrus/camunda-modeler-excel-import-plugin

git clone https://github.com/pinussilvestrus/camunda-modeler-excel-import-plugin.git

Zip Download (latest code, master)

Modeler internationalization

The plugin allows to translate the UI of the Camunda Modeler. It contains translations for German, English and Portuguese. Additional languages can be extended easily.

Switching Modeler language

Home: https://github.com/FlowSquad/camunda-modeler-i18n-plugin

git clone https://github.com/FlowSquad/camunda-modeler-i18n-plugin.git

Download ZIP (latest code, master)

Known Issues

The Transaction boundary plugin needs to be updated to the latest version to work with Modeler version ≥ 4.6.0.

Form Preview and Generator and process I/O specification plugin cannot be used together. The preview button will be missing.

Multi-Diagram and UI Preview and Generator plugins are broken at least on Modeler 4.5 and 4.6.

Plugin Development

To learn how to create your own Modeler plugin checkout these resources:
https://github.com/camunda/camunda-modeler-plugin-example
https://github.com/camunda/camunda-modeler/tree/master/docs/plugins

--

--

Robert Emsbach

Technologist, Digital transformation, BPM, Workflow / Process Automation, Micro Services, Cloud Computing, FinServ, Camunda — Opinions here are my own