Event Based Processes

Heads Up!

You need to setup the Event Based Processes feature to make use of this feature. See here for more information

Authorization for Event Based Processes

Please note that when Camunda Activity Events are used in Event Based Processes, Camunda Admin Authorizations are not inherited for the Event Based Process. The Authorization to use an Event Based Process is solely managed via the access management of Event Based Processes when publishing an Event Based Process or at any time via the Edit Access Option in the Event Based Process list.

Please check out Authorization Management - Event Based Process for the reasoning behind this behavior.

Event Based Processes are BPMN processes that can be created inside Optimize which are based on events. These events can be loaded from an external system or created from internal BPMN processes. They are particularly useful to create Reports and Dashboards based on a process that is not fully automated with Camunda Platform yet.

Once the Event Event Based Processes feature is correctly configured, you will see a new link in the navigation to go to the Event Based Processes list. From there, you can see, create or edit your event based processes.

Event Based Process List

All currently available Event Based Processes are listed under the main navigation item Event Based Processes. From there it is possible to see their state, which can be one of the following:

  • Unmapped - the process model is created but no single event is mapped to a Flow Node
  • Mapped - the process model contains at least one mapping of an event to a Flow Node
  • Published - the Event Based Process is published and can be used in Reports by users that are authorized to access it
  • Unpublished Changes - the process model contains changes that are not reflected in the currently published state of the Event Based Process, it needs to get republished manually

Event Based Process List - Edit Access

In order to manage authorizations for a published Event Based Process, the Edit Access option in the dropdown menu of each Event Based Process list entry allows you to authorize users or groups to create Reports for these processes in Optimize.

Creating an Event Based Process

There are three ways to create an Event Based Process.

Autogenerate

Heads Up!

The process autogeneration feature is currently in early beta stage.

The first way to create an Event Based Process is to allow Optimize to autogenerate the model based on provided configuration. Using this option, you can specify which event sources should be used for the process, including both Camunda and external events. Please note that for external events, it is currently only possible to select all the external events.

Optimize will attempt to generate an overall model based on these sources, determining the order of events in the model by sampling stored instances. After autogeneration is complete, you will see the process in view mode, with the model’s nodes fully mapped to their corresponding events. If you want to make changes to the autogenerated process, you can modify either the model itself, the process name or the process mappings in the same way as any other Event Based Process by entering edit mode.

Model a Process

The second way to create an Event Based Process is to model it manually using the integrated BPMN modeler.

Upload BPMN model

Finally, you can create an Event Based Process by uploading a .bpmn file directly into Optimize.

Edit Mode

The edit mode allows you to build and map your Event Based Process. Using this mode, you can perform all kinds of changing operations such as:

  • Rename the process
  • Model the process using the integrated BPMN modeler
  • Map your diagram nodes to an event from the event table
  • Edit event sources for the events to display in the event table
  • Save the current state with your applied changes
  • Cancel changes you already applied to the process

Modeling

Modeling can be done using the integrated modeler shown in the screenshot above. To maximize the modeling area, you can collapse the table during the modeling by clicking on the collapse button in the top right of the table.

Event sources

In order to be able to map BPMN nodes to events, you have to add event sources to the process first. To do that, click the Add Event Sources button available at the top of the table.

In this view, it is possible to add two types of events to the events list:

External Events

Events that were ingested into Optimize from an external system. These events can be imported into Optimize using the event ingestion API that Optimize provides.

Defining the group property when ingesting the events will allow selecting events that belong to a group. If the group property is not defined or left empty during ingestion of an event, Optimize will consider it ungrouped.

Camunda Events

These are events generated from an existing Camunda BPMN process. Only processes for which Optimize has imported at least one event will be visible for selection. This means that the process has to have at least one instance and that Optimize has to have been configured to import data from that process. Please see the technical guide for more information on how this is configured.

To add such events, you need to provide the following details:

  • The target process definition that you would like to generate the events from

  • The trace ID location: A trace ID uniquely identifies a process instance across system boundaries. One example would be an invoice number for an invoice handling process. For a Camunda process, it is possible to select a trace ID that exists either in a variable or in the process business key.

  • Which events to display in the table: Adding events for every Flow Node might not be necessary for the Event Based Process. Therefore, we provide the ability to only add the events that are necessary. There are three options available:

    • Process start and end: This will add only two events in the table, one event is triggered when the process starts and one when it ends.

    • Start and End Flow Node events: the number of events added to the table will depend on how many start and end events are in the process. e.g if there is one start event and two end events, three events will be added.

    • Start and End Flow Node events: This option will add events for every Flow Node in the process.

Once this information is defined and the sources are added, the events will appear in the table as shown below.

Events Table

Each event in the table will have the following properties:

  • Mapped as (start/end): defines whether the event indicates start of BPMN node or the end of it.

  • Event Name

  • Group

    • for external events, this corresponds to the group of the ingested event.
    • for camunda process events, this corresponds to the name of the process definition.
  • Source: external system or Camunda process event

  • Count: how many times this event was triggered. See additional notes for more information.

As assistance during event mapping, the events table offers suggestions of potential events to be mapped based on the selected node. This is indicated by a blue strap near the suggested event. The event suggestion only works when adding all external events as a source with no Camunda events.

Mapping Events

Mapping is the process of linking BPMN Flow Nodes to events. To start mapping, select the node that you would like to map from the diagram. To link the selected node to an event, simply enable the checkbox of that event from the table. After doing that, a checkmark sign will be shown on top of the node to indicate that the event has been mapped successfully.

Heads Up!

Not all BPMN nodes can be mapped. Only events and activities can be mapped to events.

Once all the necessary nodes are mapped, you can save your diagram to go the view mode.

View Mode

The view mode gives you a quick overview of which Flow Nodes have been mapped to events and allows you to enter the edit mode, publish or delete the current Event Based Process.

Publishing an Event Based Process

Once you have built and mapped your Event Based Process, you need to publish it to make it available for Reports and Dashboards. To publish your process, click the “Publish” button in the view mode of your Event Based Process.

In the shown modal, you can see who will have access to use the Event Based Process. By default, the process is only available to the user who created it. If you would like to allow other users to use the process in Reports, click on ‘Change…’ to open the permissions options.

In this modal, it is possible to search for users and groups and add them to the list of users who have access to the process. Once that is done, you can save the changes and publish your process.

Publishing the process will take some time to correlate all events and generate your Event Based Process. Once the publishing is done, a notification will appear indicating this.

Now the process is ready and can be used like any other process to create Reports and Dashboards.

External Ingested Events

After ingesting events into Optimize from an external system, each individual event will appear in the external events table.

By default, the table shows all ingested events sorted by the timestamp from newest to oldest. However, it is also possible to search for events or sort the results by event name, source, group, or trace ID.

Deleting Ingested Events

One or multiple events can be selected and deleted as shown in the figure below:

Heads Up!

Please note that when deleting an event that is mapped to a published Event Based Process, only the corresponding Flow Node instance will be removed from the process and no change will happen on the process instance level until the process is republished. For example, if you delete an ingested event that was mapped to the only end event within a process, the corresponding process instance will still be considered complete until the process is republished.

Additional Notes

Event Based Process Autogeneration

Event Based Process autogeneration attempts to determine the order of events based on a sample of stored instances. Due to the nature of sampling, it is possible that the generated model may not always appear as you might expect.

In some cases, it is possible that some sequence flows may be hidden by overlapping elements on the generated model.

If both an event source and an embedded subprocess contained within that source are included for autogeneration, they will appear in the autogenerated model as independent processes.

In the case where external events are configured as an event source, it is possible that Optimize will not be able to determine a model containing all external events. In this scenario, Optimize will autogenerate a model containing only the external events that it could determine the order of.

In any of the above scenarios, you are able to correct the model to suit your needs using the editor. Like any other Event Based Process, an autogenerated model can be edited so you can make any necessary corrections after autogeneration is complete.

Published Event Based Processes

In some scenarios, Reports created using Event Based Processes might not show all the information expected. To avoid this, we encourage you to avoid including the following elements when modelling your Event Based Processes:

  • Inclusive Gateways: These may be modelled in an Event Based Process diagram, however visual data flow will be interrupted on Reports such as heatmaps.
  • Complex Gateways: These may be modelled in an Event Based Process diagram, however visual data flow will be interrupted on Reports such as heatmaps.
  • Mixed Gateway directions: Mixed gateways are gateways which have no clear direction, instead being a combination of opening and closing gateways. These may be modelled in an Event Based Process diagram, however visual data flow will be interrupted on Reports such as heatmaps.
  • Chained gateways: A chained gateway is one that occurs as part of a sequence of consecutive gateways. These may be modelled in an Event Based Process diagram, however visual data flow will be interrupted on Reports such as heatmaps.

Event Counts

It could be that the event counts in the table do not match the values you expected. There are three possible explanations for this:

  • If you have enabled history cleanup, the counts will still include events from process instances that have since been cleaned up.
  • For events from Camunda processes, the count value represents the number of times that event has occurred across all versions and tenants of that process, regardless of how the event source is configured.
  • The counts for external events will still include ingested events that have since been deleted using the event inspection feature.

On this Page: