CPQ May Be Evolving, But This Feature Is Built to Last

While you may have heard that Salesforce has officially announced an End of Sale (EOS) for its classic Salesforce CPQ offering, don’t hit the panic button just yet. End of Sale doesn’t mean End of Life.
Yes, Salesforce is evolving its strategy to emphasize Revenue Cloud, but whether CPQ or Revenue Cloud - this one powerful feature is not going anywhere.
Now that we’ve cleared that up, let’s explore this often neglected functionality: Advanced Approvals (AA). A feature that facilitates a sophisticated and customizable approval process for various buttons such as ‘Submit for Approval’, ‘Recall’, ‘Preview’ and other buttons/settings to set up AA and even for objects such as Opportunities or Quotes. This package enhances the standard approval functionality in Salesforce, providing more flexibility and control over the approval workflows.
When you've finalized the object you want to set up approvals like opportunity or quote, you can submit it for approval using the Advanced Approvals package. Keep the approval process moving by reassigning an approval to a different approver.
Salesforce's Advanced Approvals is a robust tool designed to manage complex approval workflows within the Salesforce ecosystem. It extends the standard approval processes by allowing intricate configurations, such as serial and parallel approvals, tailored to specific business requirements.
To implement Advanced Approvals, consider the following prerequisites:
Salesforce Edition: Ensure your organization uses a Salesforce edition that supports Advanced Approvals, such as Enterprise or Unlimited.
Salesforce CPQ: Advanced Approvals are often utilized alongside Salesforce CPQ (Configure, Price, Quote) to manage approvals related to quotes and pricing.
User Permissions: Users involved in the approval process should have the necessary permissions to access and manage approval records.
Consider a scenario where a sales representative submits a quote with a discount exceeding 20%. Advanced Approvals can be configured to automatically route this quote through a predefined approval hierarchy, ensuring that appropriate managers and departments review and approve the discount before finalizing the deal. Below is an example scenario for reference.
1. Discount Thresholds:
- Deals with discounts ≤ 20%:Auto-approved.
- Deals with discounts > 20% and ≤ 40%: Requires Sales Manager approval.
- Deals with discounts > 40%: Requires VP of Sales and CFO approval.
2. Approval Routing:
- Approval requests must be routed to specific roles in sequence.
- If an approver rejects the deal, the process stops.
3. Parallel Approvals:
- For discounts > 40%, the VP of Sales and CFO can review the approval request simultaneously.
4. Audit Trail:
- The system must log all approval activities for compliance purposes.
1. Smart Approvals:
Suppose an approver or approval group has already approved a quote and gets rejected in a higher tier. In that case, the same approver or approval group isn’t required to re-approve when the quote is resubmitted. Salesforce CPQ remembers the sequence.
2. Parallel approvals:
When approvals are needed from different groups, parallel approvals allow separate approval threads, reducing overall approval and sales cycle time.
3. Dynamic approvers
If different approvers are needed in different cases, approval processes can be configured to ensure accurate routing and approvals.
4. Required Approval Visibility:
Reps have complete visibility into the approvals needed to close deals. See the visualization image below.
5. Enhanced Approval Emails:
- Approval notifications are sent using Visualforce Email Templates, providing the ability to supply more relevant information to the approver, such as product details from the quote and completed approval steps and comments. Approvals can also be provided via email response.
- Because users don’t have to see this code, you can add style tags so that the text doesn’t appear on the approval email. We recommend styling the code’s text color as white because most emails have a white background color. Write your code as follows:

6. Delegated Approvers:
It is used for assigning an approver to take over for someone while they are out of the office.
7. Replacing Approvers:
If a certain approver is no longer required to approve quotes, they can be replaced with clicks. This eliminates the need to delve into every approval process the old approver was a part of to replace them manually.
- Install the package. To install a package Click Here
- After installing the managed package, assign the permission set licenses to the user to whom we want to give visibility access to approval records. The permission sets are named Permission Set License Assignments and Permission Set Assignments.
- Follow the below steps to assign permission sets:
- From setup, enter Manage Users, and then select Permission Sets.
- Choose a permission set.
- Advanced Approvals Admin—Grants administrator user permissions across all Advanced Approvals objects.
- Advanced Approvals User—Grants standard user permissions across all Advanced Approvals objects.
- To assign permissions to users, click Manage Assignments.
- Click Add Assignments.
- Select the users that you want to add to the permission set, and then click Assign.
- Enable an Object for Advanced Approvals
- Create a field on the Approval object. Make the field visible.
- Data Type: Lookup
- Field Name: Quote (sObjects)
- Related to Quote (sObjects)
- Create a picklist field on the Quote (sObjects) object API name should be the same.
- Name: Approval Status
- API Name: ApprovalStatus__c
- Values: i.) Pending ii.) Approved iii.) Rejected iv.) Recalled
- Create a date field on the Quote object or sObject for which we enable advance approval. This field stores the submitted date for approval.
- Name: Submitted Date
- API Name: SubmittedDate__c
- Create a user lookup field on the Quote object or sObject for which we enable advance approval. This field stores the user record for the user who submitted the record for approval.
- Name: Submitted User
- API Name: SubmittedUser__c
- If you enable advanced approvals on quotes, ensure the quote validation rule Invalid_First_Segment_term_end_Date is inactive.
- Create an Apex class titled QuoteExtController and a test class with the name QuoteExtControllerTests and add the following code. Remember, replace the word Quote with the object’s name if you're enabling an object other than quotes.



- Create Visualforce pages for your Submit and Recall buttons with the following name:
- Label:SubmitQuote
- Name: SubmitQuote

- For Recall use the following name and code:
- Label: RecallQuote
- Name: RecallQuote

- Create buttons and link them to your Visualforce pages.
- From Setup, enter Objects in the Quick Find box, then select Objects. Select the Quote object or object you are set up for approval.
- From the Buttons, Links, and Actions related list, click New Button or Link.
- Create these buttons. Each button has a Display Type field of Detail Page Button and a height of 600.
- Submit for Approval:
- Button Label: Submit for Approval
- Button Name: Submit_for_Approval
- Behavior: Display in an existing window with a sidebar
- Content Source: Visualforce Page
- Visualforce Page: Choose the SubmitQuote page you made in Step 1c.
- Recall Approval:
- Button Label: Recall Approval
- Button Name: Recall_Approval
- Behavior: Display in an existing window with a sidebar
- Content Source: Visualforce Page
- Visualforce Page: Choose the RecallQuote page you made in Step 1d.
- Preview Approval:
- Button Label: Preview Approval
- Button Name: Preview_Approval
- Behavior: Display in an existing window with a sidebar.
- Button or Link URL: /apex/sbaa__PreviewApprovals?Id={!SBQQ__Quote__c.Id}
- Submit for Approval:
- On your object’s page layout, add the Submit for Approval, Recall Approval, and Preview Approval buttons.
- On your object’s page layout, add the Approval related list.
- On your Approvals page layout, add the Approve button and the Reject button.
- If you’re using an object other than Opportunities for approval, add that object’s API name as a value in the following locations.
- The approval chain field Target Object
- The approval rule field Target Object
- The approval variable field Target Object
- Below are screenshots of records of how approver, approval rule, approval chain, approval condition and email template records need to be created to set up approval for your object:





- Need to create all approver records whoever is approving or rejecting: You can create a trigger or write a script for creating all users as an approver from referring below example.



- Dynamic advance approver:-we need to create a formula field on the target object and store the user ID (Approver id), and there is an Approver field on the Approval Rule Record, we need to add the API name as a value on the Approver field.

Salesforce CPQ's Advanced Approvals equips businesses with a powerful, configurable framework to manage complex deal flows and approval hierarchies without a need for heavy custom development. From dynamic routing and parallel approvals to delegated access and audit-friendly tracking, this functionality adds serious operational efficiency and visibility into the quote-to-cash lifecycle.
It’s true, Salesforce has recently announced the End of Sale for Salesforce CPQ in alignment with its broader strategic shift toward Revenue Cloud. However, it's critical to understand that this does not signal an End of Life for CPQ itself.
What this means for you is that there’s still significant runway to optimize your CPQ investment, enhance its efficiency and prepare for future transitions towards Revenue Cloud all while ensuring business continuity.
At Cloud Peritus, we specialize in exactly that. Our team of highly trained CPQ consultants, architects and domain experts bring years of hands-on experience in designing, implementing and optimizing Salesforce CPQ and Advanced Approvals environments. Whether you're:
- Scaling your existing CPQ stack
- Streamlining complex approval chains
- Or even help prepare your transition towards Revenue Cloud in a phased, low-risk manner
We provide the strategic insight and technical firepower to help you capitalize on your investment while dramatically improving ROI, sales cycle velocity and compliance readiness.
Let’s turn your CPQ strategy into a revenue engine. Book a free consultation to know how we can help transform your business today.
Contact us at info@cloudperitus.com
Cloud Peritus has been at the forefront of innovation since its inception and has since played an integral role in delivering game changing solutions to its clients time and again, resulting in 5 star reviews from across the board.
Feel free to check us out at Salesforce AppExchange.