When your team’s manager goes on vacation, you know that the work still needs to happen while she’s sipping Mai Tai’s on the beach. If you use Salesforce CPQ, you know you’re covered with Advanced Approvals. Your Mai Tai Manager can delegate her authority to approve so you can still get Quotes in the hands of your prospects.
Let’s take a closer look at this use case. The business goal is to reduce the time it takes to get a Quote approved in order to get Quotes into prospects and partners inboxes faster. While Mai Tai Manager is out, the Deal Desk Team should have the ability to approve these quotes to keep deals moving towards Closed Won.
Exploring Delegate Approvals
Salesforce’s Advanced Approvals has features and capabilities beyond that of standard Salesforce approvals and can do a lot of cool things that streamline approvals while increasing sales velocity. To solve for our use case, it makes sense to start by exploring Delegate Approvals.
Dale Dealdesk is a Deal Desk User with minimal permissions. An Approval request for 15% discount gets assigned to Mai Tai Manager. Dale does not have the ability to reassign that Approval to himself because he is not referenced as an Approver and does not have “Modify All Data“. Quotes could get stuck if we don’t solve this.
If you’ve gone down this path before, then you’ve also found that:
- Approvers using Public Groups cannot be populated as the Delegate Approver.
- An Approver can only have one Delegate Approver at a time.
- An Approval record is created when a record is Submitted for Approval and meets the criteria of an Approval Rule.
- Behind Approval records is a tight security schema, which can make them difficult to maneuver.
- Only users with one of the following settings are able to Reassign, Approve, or Reject Approval records: “Modify All Data”, “Assigned To User”, A member of the “Assigned To Group”.
It’s time to tinker and look for another solution.
We see many admins turn to custom code when looking for ways to bulk update child records, or pass data down or upstream for processing. Admins often overlook the power of collection variables in flows. However, a flow solution can be useful in our scenario.
Through the use of an Autolaunched Flow, we can create automation to re-assign these overridable Approval records. Based on our use case above, we’ve created the ability to indicate at an Approval Rule level that the Deal Desk (including Dale Dealdesk) is able to override the approval. Next, we create a field for the Deal Desk to interact with on the source record, , the CPQ Quote record, which indicates that they are overriding approvals. Finally, a Process Builder with an Autolaunched Flow that re-assigns the Approvals to the Deal Desk group solves our use case.
If you’ve encountered a similar scenario, try out this solution. It may be the missing piece.