Salesforce CPQ Advanced Approval : Implement Dynamic Approver
Salesforce has standard approval functionality, which includes a lot of common use cases. But in some business scenarios which includes more complex approval workflows and complex structure of approvers, there Salesforce CPQ provides Advanced Approval Package.
An approver is a user who receives approval request emails and based on approval request within the Salesforce CPQ Advanced Approvals package he approves or rejects the record. In Advanced Approval Package an approver record can represent either one static user or a user group. But what if a sales rep wants to send approval to a user who is populated dynamically on a Quote object based on condition/any formula.
Let’s explore this using an example
What is Dynamic Approver?
A user who is populated on Quote or Opportunity based on criteria or using formula, who will receive an approval request to approve and reject the quote.
Client wants to submit an approval request to the regional manager related to Opportunity associated with Quote.
Steps to Implement
1. Create a custom field(lookup to User) named as Regional Manager on Opportunity.
2. Create a formula field on Quote to populate Regional manager related to opportunity on Quote.
3. Now we have to edit the Approval Rule object and add Approval Field on page layout.
4. Copy the API name of the field which we created on Quote in step 2 and add it to Approver Field picklist on Approval Rule object.
5. Now go to your Approval Rule and set that field as Approver field.
6. Note : Here is a catch! We need to create an Approver record for Regional Manager User even though that record is not directly referenced using the Approver field in the Approval rule.
It’s showtime…!!! Let’s check on Quote who will be approver for this Net Total greater than $100,000 approval rule.
1. Here is opportunity’s Regional Manager
2. Id of that Regional Manager gets populated on Quote.
3. Now when do preview approval it will show this regional manager as approver.
Points to remember about Dynamic Approver Implementation
Id of respective approver should be populated on Quote object.
Approver records should be created for users which are going to be used as a dynamic approver in the approval Rule.