Posted by Buan Consulting
The Smart Approvals feature in Salesforce CPQ Advanced Approvals package has been around for some time but it hasn’t always worked as advertised. Initially, clients were very excited about the time-saving promise of this feature. If a quote is rejected during the approval cycle, approvers who initially approved would not receive another request for re-approval. For an example if a quote requires both legal and sales approvals, changes only to legal terms would not require re-approval by sales. We quickly found out, however, that the feature was only useful for very basic approval conditions. Only single approval condition could be evaluated and approval variables were not supported.
Recently, we revisited this feature and the situation is now much improved. Complex approval conditions are supported, as well as approval variables. Before we get into the configuration of this feature let’s take a look at a use case.
Below is an example approval chain with both serial and parallel approval paths.
In this example the quote first reaches the Sales Manager and if approved then goes independently to Finance, Legal and the Sales Director who are parallel approvers.
What if during the approval cycle all approve but the Company Secretary? Perhaps the company secretary objected to the level of discounting and wants it reduced. Here is the scenario:
With Smart Approvals enabled, reducing the discount and resubmitting will not require re-approval by the previous approvers (if the approval conditions for these approvers are still met). Now on re-submission the quote bypasses these approvers and goes directly to the company secretary and then on to the SVP.
Salesforce CPQ Smart Approvals Setup
Approval Rule object setup:
- Add the field sbaa__SmartApprovalIgnoresConditionsMet__c checkbox field to the Approval Rule object and add it to the page layout. This field overrides the Smart Approval conditional logic and forces an approval if any approval condition is true.
- Add the pick-list value ‘Custom’ to the Approval rule field ‘Conditions Met.’ Using Custom allows the use of logical operators in the Advanced Condition field (ie/ AND & OR)
- Optionally, add the tracked fields related list to Approval rule. Tracked values can be helpful to display what has changed on the quote to approvers. Update the Tracked Object and Tracked fields picklist with values that need to be tracked.
Approval Condition object setup:
- Add ‘Enable Smart Approval’ checkbox to Approval Condition layout. Add the Enable Smart Approval field to the Approval Condition page layout. Set enable checkbox to true on approval rules you wish to be ‘Smart.’
- If the deprecated fields, Approved Value Field & Approved Value Operator (pre SBAA 3.0) are present on Approval Rule object, delete them.
Limitations of Smart Approvals
In testing, Smart Approvals appear to be not so smart when an approval group is used. An example use case occurs when a quote is submitted and one member of the group approves and another rejects. When the quote is resubmitted for approval all members of the group are requested to approve again, even the member that previously approved.