Limit Workflows

This section describes how to use the out-of-the-box workflows in Atoti Limits.

What is a workflow?

In the context of Atoti Limits, a workflow is a sequence of tasks that are executed to manage the lifecycle of an object; in our case a limit or an incident. These tasks can executed by users (user tasks) or by the system (service tasks) to perform actions such as modifying the object state, notifying users of relevant information, or kicking off other workflows.

Why do I need workflows?

Managing object lifecycles can be complex, especially when multiple stakeholders are involved or when there are various conditions that need to be met before an object can transition from one state to another. Workflows help to automate and streamline these processes, ensuring that all necessary steps are followed, while also providing an audit trail of the object’s history to ensure compliance and accountability.

What objects are managed by workflows in Atoti Limits?

Limits and incidents are the two objects managed by workflows in Atoti Limits. These objects are fundamental pieces of Atoti Limits and managing their lifecycles effectively is crucial.

The object(s) managed by a workflow is determined by the activeviam.apps.workflow-service.business-functions property for the workflow in application.yml. Atoti Limits provides the following default business functions:

How are workflows implemented in Atoti Limits?

Workflows in Atoti Limits are created using Business Process Management Notation (BPMN) and Activiti is the workflow engine of choice. Workflows are outlined in .bpmn files and in the context of Atoti Limits a Workflow is synonymous with a Process.

For more information on workflows, BPMN and Activiti, please see:

What workflows are provided out-of-the-box in Atoti Limits?

Limit Workflows

The following workflows are provided out-of-the-box to manage the lifecycle of limits:

The remaining workflows are legacy workflows. They are maintained for backward compatibility and to simplify migration efforts, but they will be removed in a future release.

Incident Workflows

The following workflows are provided out-of-the-box to manage the lifecycle of incidents:

The remaining workflow is a legacy workflow. It is maintained for backward compatibility and to simplify migration efforts, but it will be removed in a future release.

How do I pass information when starting a workflow?

The Atoti Workflow Service allows workflows to be configured with initializing-variables that are stored in the workflow when a new one is initiated. These variables can then be used at various stages of the workflow to perform actions based on their values or provide information to the user.

Initializing variables are rendered as input fields in the limit structure form and in each limit row. The values set in the limit structure form are used as default values in the limit rows, but they can be overridden on a per-limit basis. The values set in the limit row are then passed to the workflow when it is started.