How to configure an Approval Matrix activity

An Approval Matrix specifies who and when is responsible for making a decision. It generates and assigns approval tasks based on Levels, Rules, and Conditions that describe the business logic. It is used to ensure that the required decision-makers are involved in the approval process at the right time.

An Approval Matrix can have multiple Approval Levels, each Level can have multiple Approval Rules, each Rule can have multiple Conditions and an Outcome. The Outcome consists of the creation and assignment of one or more approval tasks, as well as sending notifications.

Each Level is evaluated in order. For each Level, each Rule is evaluated in order. For each Rule, its Conditions are evaluated and, if all conditions are true, its Outcomes are applied.

Configuring an Approval Matrix

An Approval Matrix relies on Rules, therefore it is recommended you first go through  https://aurachain.atlassian.net/wiki/spaces/HowTo/pages/180388245 before setting up an Approval Matrix.

To configure an Approval Matrix you need to select it on the Diagram, and navigate to the its Levels tab on the right part of the screen. Then click the Add Another Level  button.

Levels

Each Level has a Name and a Description, as well as a pre-defined Expiration behavior and a list of Rules.

Expiration behaviour

Allows defining a period after which the task is either auto-accepted or auto-rejected, regardless of the Rules.

  • In case of an auto-accept, the Approval Matrix advances to the next Level.

  • In case of an auto-reject, the Approval Matrix either exits or continues to the next level depending on the “Continue to the next level if rejected” setting.

Rules

Rules are defined and evaluated per Level the same way they are defined and evaluated per Human Task (see https://aurachain.atlassian.net/wiki/spaces/HowTo/pages/180388245 for a detailed explanation). However, there are some key differences in terms of the Assignees and Task Details, explained below.

Assignees

As an Outcome of Level Rules, special approval tasks can be generated and assigned to decision groups. Each such decision group can contain one or more users and must have one of the following three types of approval role:

Evaluator

Can approve/reject but their decision is only consultative and cannot cause the Approval Matrix to continue to the next Level

Approver

Can approve/reject. Once a user from each Approver decision groups has indicated their decision, the final group decision depends on decision type configured (singular or group). If it is Singular then any of the group members can decide on behalf of the group and if is a Group decision then multiple members must approve in order to continue the process.

The required number of approvals can be set manually or dynamically using data model attributes. 

Overrider

If any Overriders are declared, the approve/reject decision of any one Overrider counts as the final decision, regardless of the decisions of any other groups. Once an Overrider has indicated their decision all open tasks sent to Evaluators and Approvers will be closed.

If the rule is executed and we have Singular decision, all members of the decision group will receive the task but only one individual needs to indicate their decision in order for the final decision to be considered for that group.

 

If the rule is executed and we have Group decision and a static/dynamic approval threshold configured, all members of the decision group will receive the task and the final decision will take into consideration if the approval threshold is reached or not.

Once a final approve/reject decision has been reached for each configured decision groups, the Approval Matrix will advance to the next Level or exit, depending on the settings in Task Details, described below.

Note:

If the approval threshold is dynamic and it is stored in a data model attribute then you can configure it by clicking MOD selector inside the field that displays the number of approvals like in the screen below.

Task Details

If the final decision of a level is to approve, the Approval Matrix continues to the next Level. If there are no further levels, the Approval Matrix exists with “Approve”.

If the final decision of a level is to reject, the “Continue to next level if rejected” toggle determines whether the Approval Matrix continues to the next Level or exists with “Reject”. This toggle can be set per Rule as well as per Level. The settings on the Rule which was evaluated as true overrides the settings on the Level.

If no user decision is taken, custom auto-accept or auto-reject behaviour may be specified for each Rule. This behaviour overrides the Expiration behaviour set per Level.


Related Articles: