Salesforce CPQ (Configure, Price, Quote) provides users the ability to generate quotes for customers using configurable pricing rules.

The CPQ product is widely adopted by customers who have a variety of product offerings and are growing rapidly with varying pricing rules. Pricing rules can vary depending on competition, demand, supply, and many other factors that would require a business to change its pricing model. Having a tool like CPQ helps generate accurate quotes with increased flexibility to the customers.

In my experience implementing Salesforce CPQ, I see teams that benefit the most from CPQ are those who have issues generating quotes in a timely manner or experience issues with incorrect pricing on products or services. Not only does this cause frustration to the customer, but it ultimately can impact your bottom line.

Salesforce CPQ provides APIs and hooks that ISVs (Independent Software Vendors) can connect into and enhance the product.

This blogpost shows the integration capabilities of the Salesforce CPQ for third-party and ISV apps.

Integrate with Salesforce CPQ Data using REST APIs provided by the CPQ Package

Below are some of the APIs Salesforce CPQ provides that make it easy to interact with Salesforce CPQ Data from other Salesforce orgs or other external third-party applications.

CPQ Quote API

CPQ Quote API allows third-party apps to read, validate, calculate, and update CPQ quotes along with the line items in Salesforce. This API also enables users to add products to the quote and recalculate the prices for the CPQ quote.

CPQ Contract API

CPQ Contract API allows third-party apps to renew and amend existing contracts in Salesforce.

Generate Quote Documents API

This API allows third-party apps to generate a quote document using the quote as well as quote templates. This API provides parameters to generate quotes in two different formats, like Word or PDF.

Technical details on the APIs are available in Salesforce’s documentation.

Global APEX class for ISV extension packages with CPQ as a base package

The CPQ package provides a global APEX class named “SBQQ.ServiceRouter” that has various utilities:

  • Read method to query a single row of data. Example: Query a quote using its quote Id
  • Load method to query rows of data. Example: Read all products for a given pricebook and currency.
  • Save method to update data into salesforce. Example: Save a quote in Salesforce.

Salesforce provides documentation with a quick start guide here

Plugins/Interfaces to extend out of box capabilities of CPQ package

Plugin Functionality Description
ElectronicSignaturePlugin This lets developers add electronic signature functionality to contracts.
Document Store Plugin Use this to store quote documents as custom objects or in third-party integrations. It is a global interface (SBQQ.DocumentStorePlugin) provided in the package and the developer will need to implement methods in this interface.
Product Search Plugin Use the Product Search plugin to modify or add specificity to product filter searches and guided selling searches. Developers have to implement “SBQQ.ProductSearchPlugin” global interface provided by the package for this.

JavaScript Quote Calculator Plugin

The quote line editor provided by the package can have additional functionality by implementing the JavaScript Quote calculator plugin. In order to implement it, you should create a custom script record with JavaScript that is saved as a record.

Salesforce provides comprehensive documentation on how to build and run these scripts here.

Wrapping Up

Salesforce CPQ provides excellent configuration and customization capabilities that third-party apps and ISVs can integrate and extend. You can even build Salesforce extension packages with CPQ as a base package to add further capabilities.


If you’re looking for experts to keep your app up to speed with the latest and greatest in the development world, why not schedule a consultation with our team?