Approval Notification is not being sent when a request with high number of RITMs is made


Description

You will recognise this issue when you have an notification for approvals of a request with a condition of "State IS pending" and the request has a large number of request items ~>30


Under these conditions the notification is not sent

Cause

When there is a large number of RITM's the state is not updated to pending approval at the time the notification is triggered.

The request approval workflow is triggered on the creation of the Request record in the same transaction as the record creation.

The approvals are generated and this triggers the notification however the state change to pending is not committed until the transaction has completed for all RITM's.

With a large number of RITM's the transaction does not complete before the notification is triggered and thus the condition "State IS Pending" Evaluates to FALSE.

Once the notification is triggered the conditions are evaluated and as the state has not yet updated the notification is not sent.
As you have a condition on this state the notification is not sent.

Resolution

There is 2 possible solutions to this

  1. Remove the condition "State IS Pending"
  2. Add a wait timer in the workflow after the Approval action "Set Approval requested"


With option 1 the notification will be sent as there is no longer a condition on the State.

With Option 2, the addition of the timer in the workflow releases the record creation transaction at the timer activity in the workflow. This then commits the changes to the RITM's and allows the notification to evaluate the state condition correctly