Notifications

362 views

Description

Approval rules are not conditional. Once a condition is evaluated to be false, the entire approval chain is aborted.

Our approvals process has multiple layers, and one of those approval layers is conditional:

  1. Approval 1 = Demand manager
  2. Approval 2 = Compliance (if a box is checked in the UI in step 1)
  3. Approval 3 = User's manager
  4. Approval 4 = Vice president

These approval rules are all set to run after each other, but if the condition isn't met at approval #2, then none of the other rules are evaluated (and the request is set to Approved).

Steps to Reproduce

 

As an Express admin:

  1. Add a custom field called Compliance with a data type of True/False to a task-based table, such as change_request or incident. Ensure this field is visible on the form layout.
  2. Create an Approval chain that consists of four approval rules, one rule running after another. Ensure that each approval rule contains a user or group to approve.
  3. On the second stage approval rule, which runs after the first rule, set the condition to: [Compliance] [is] [True].
  4. Create a new record on the table you added the Compliance field to in Step 1 and ensure the Approval chain created in Step 2 is triggered.
  5. As one of the approvers for the first Approval rule, view the record created in Step 4 and keep the compliance checkbox unchecked.
  6. Notice that the record never moves on to the third approval rule.

Workaround

As an Express admin, create a unique approval rule flow for each permutation to solve for condition approvals at different levels.

For example:

  1. Approval 1 = Demand manager
  2. Approval 2 = Compliance (if a box is checked in the UI in step 1)
  3. Approval 3 = User's manager
  4. Approval 4 = Vice president

Create one approval with the first approval rule containing the condition of compliance true:

  1. Approval 1 = Demand manager
    • Condition: box is checked = true
  2. Approval 2 = Compliance
  3. Approval 3 = User's manager
  4. Approval 4 = Vice president

Create another approval rule with the condition of compliance false:

  1. Approval 1 = Demand manager
    • Condition: box is not checked = false
  2. Approval 2 = User's manager
  3. Approval 3 = Vice president

As long as the step 1 conditions are mutually exclusive, the proper rule flow will run.

To learn more about the approval processing logic, please see the diagram below.


Related Problem: PRB713121

Seen In

Helsinki Patch 1

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2017-08-10 06:56:17
Published:2017-06-14