Salesforce CPQ Integration


Salesforce CPQ Integration

What is Integration for Salesforce CPQ?

System Integration is the process of integrating all the physical and virtual components of an organization’s system. The physical components consist of various machine systems, computer hardware, inventory, etc. The virtual components include data stored in databases, software, and applications. Integrating all these components, which act as a single system, is the main focus of System integration.


Salesforce CPQ is specifically made to integrate with your existing sales and existing systems. Its features include contract management, invoicing and subscription billing tools, a proposal generator, and many more. It is a sales tool for companies to provide accurate pricing with any given product configuration scenario. CPQ applications take into account optional features, customizations, quantities, and discounts, allowing sales reps to quickly and accurately quote prices. Salesforce CPQ gives your sales team easy-to-use software available on any device due to its cloud-based platform.


By implementing Salesforce CPQ, your sales process becomes more competitive and you increase your win rate and deal size. And, if you take the next step and integrate with your ERP system or exiting system, you can get even more extensive benefits from implementing CPQ.  Most of the customer is looking into any Salesforce-ERP/CRM data integration.


Salesforce CPQ is rapidly becoming an indispensable part of Sale’s toolkit as they look to close bigger deals faster. With CPQ, Sales can quickly customize orders by rapidly configuring the right product option across a large number of possible variables. It is an especially important challenge to solve as a company’s products and services list grows. CPQ software also helps ensure that sales have the most up-to-date pricing for their product configurations, streamlining and speeding the quoting and order workflow.


This is the entire cycle of the order management which start from customer and follow the entire task which needs to perform in real time organisation. With the help of system integrations end to end system can be connect easily with full of the customer cycle.

The reason for organizations to use system integration is to improve productivity and quality of their business.

Salesforce CPQ Integration Methods

It is the entire cycle of the order management, which starts with the customer and follows the entire task, which needs to be performed in a real-time organization. With the help of system integrations end to end, the system can be connected easily with full of the customer cycle.

The reason for organizations to use system integration is to improve the productivity and quality of their business.

Integration Methods

Communication between two systems always required a language that follows the same protocol and the concept’s nature. In real life scenario, to communicate between two humans, the same languages is required, and both should understand this language.

  • XML – is one of the most widely-used formats for sharing structured information today: between programs, between people, between computers and people, both locally and across networks.

Example – <greeting>Hello, world</greeting>

Web service callouts to SOAP web services use XML, and typically require a WSDL document for code generation. SOAP helps to exposes components of application logic as services rather than data.

  • JSON – JavaScript Object Notation is an open standard file format. When exchanging data between a browser and a server, the data can only be text

Example – ‘{“name”:”John”, “age”:31, “city”:”New York”}’

HTTP callouts to services typically use REST with JSON.REST operates through a single, consistent interface to access named resources. It’s most commonly used when you’re exposing a public API over the Internet.

JavaScript Object Notation (JSON) support in Apex enables the serialization of Apex objects into JSON format and the deserialization of serialized JSON content. Apex provides a set of classes that expose methods for JSON serialization and deserialization. The following table describes the classes available.



System.JSONIt contains methods for serializing Apex objects into JSON format
System.JSONGeneratorIt contains methods used to serialize objects into JSON content
System.JSONParserRepresents a parser for JSON-encoded content.



Two systems can communicate in by directional. Request can be send to external system or received from another system. These are two ways of communication.

  • Inbound – When request received from externally, it is called an inbound communication.

Let’s take an example – Public Service Company receives many of the inbound requests from the external to use provided functionality. Weather report provider system received multiple of the external request whoever wants to use this feature in our business or to showcase the data in the portal. 

  • Outbound – When request send by system A to the B system it is called a Outbound call to the system A as its expecting some of the operation execution.

Let’s take an Example – A Customer service provider company provides home service to the customer. When a customer fills the form on the portal, he wants to make sure details should be correctly filled. To make the correct information company sent a request to the 3rd party application who will verify whether a filled address is correct. It is the scenario where the customer is making an outbound call to the 3rd party provided.

In the real-life scenario, it is impossible to prepare the end-to-end system within a single application. The business wants to focus on the key area rather than setting up all the system infrastructure on one application. They can use the paid subscription of the functionality, which can easily integrate into the primary business system making it more flexible.



Web Service in Salesforce CPQ Integration:

Web service is a standardized medium to communication between the client and server applications through Http. A web service is a software module that is designed to perform a particular set of tasks.

  1. REST web services.
  2. SOAP web services.

Rest Callout: 

REST callouts are based on HTTP. The knowledge about callouts’ work helps to understand a few things about HTTP. Each callout request is associated with an HTTP method and an endpoint.

Salesforce provides authorization endpoint. The system will not allow receiving a request from the authorization system without approval.

  • Go to SitemapàRemote Site Setting.
  • Create a new Remote Site Setting.
  • Keep the endpoint system URL.
  • Make record active


HTTP MethodDescription
GETRetrieve data identified by a URL.
POSTCreate a resource or post data to the server.
DELETEDelete a resource identified by a URL.
PUTCreate or replace the resource sent in the request body.


The methods of Rest API

Salesforce is not allowed to import Apex code directly on the server. Test classes are the code snippets which test the functionality of other Apex class. Let us write a test class for one of the codes which we have written previously. We will write test class to cover the same code.


@Test class

SOAP Callout:

Working on SOAP is an old way of integration, but it’s important to get the knowledge as today many systems support SOAP-based integrations. WSDL2Apex automatically generates Apex classes from a WSDL document. You download the web service’s WSDL file, and then you upload the WSDL, and WSDL2Apex generates the Apex classes for you.

WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. Integration with Salesforce provides a feature where WSDL XML can be converted to the Apex class.

  • Go to Site Map.
  • Search Apex Class.
  • You can see a button that will allow converting XML to the apex class.

The generated Apex classes include stub and type classes for calling the third-party web service represented by the WSDL document. These classes allow you to call the external web service from Apex. For each generated class, a second class is created with the same name and the prefix Async.


Async class


You can expose your Apex class methods as a REST or SOAP web service operation. By making your methods callable through the web, your external applications can integrate with Salesforce to perform all sorts of nifty operations.

To make a Apex class as REST enable, some of the annotation we needs to define


The URL mapping is appended to the base endpoint to form the endpoint for your REST service. There are some annotations which need to follow by the apex class to use it as a Restful API which can be invoked from external system based on requirement.

@HttpGetReadReads or retrieves records.
@HttpPostCreateCreates records.
@HttpDeleteDeleteDeletes records.
@HttpPutUpsertTypically used to update existing records or create records.
@HttpPatchUpdateTypically used to update fields in existing records.

Let’s take an example – A Company can have multiple channels where users can interact but always be a centralized repository that holds all the details on a single place. The company has a Website based on Java or .Net with UI design for interaction with customers and for displaying the order status details of incident details rather than manage a separate database. It also can integrate with Salesforce wherefrom the API requested details can be pulled.

It is a simple example of how Salesforce can be used as an inbound where an external system will interact with the internal system and get the required permission data because Salesforce is not allowed without authentication.

example API request

APIs help opens up a plethora of opportunities. Here are ways that software, customers, developers, and their teams can benefit from using APIs.

There are different technology-based systems in the market. Some of them are based on new technology. They are fast and easy to bind with other applications. At the same time, some of the legacy-based systems have a lot of limitations in connecting with others or even directly exposing the API, which can be consumed from others. This kindly of system integration are very common in real-time, where the business doesn’t want to remove old infrastructure but wants to add on new featured technology application. Here middleware application plays a critical role.

Let’s take an Example – Your integration needs to update a contact where it was changed on your ERP system such as SAP. But before the update, you need to check the assignment rule that the contact has the status ‘Released’ and is maintained by the sales agent group called ‘inside sales’.


Middleware is software that provides common services and capabilities to applications outside of what’s offered by the operating system. Data management, application services, messaging, authentication, and API management are all commonly handled by middleware.

Some of the middleware which is highly used with Salesforce is:



InformaticaInformatica offers data integration products for ETL, data masking, data Quality, data replica, data virtualization, master data management.
JitterbitIt provides no-coding integration for any SFDC Admin, Jitterbit Data Loader for Salesforce is a data migration tool that enables Salesforce users to automate the import/export of data between flat files, databases, and Salesforce /
Dell BoomiDell Boomi provides application integration, MDM and API management on a single, easy-to-use platform, minimizing ramp-up and training requirements for your team. It allows for crowdsourced regression testing. You can submit integration processes and test data to atomSphere from within the console.
MuleSoftMule Enterprise Service Bus is a middleware technology that quickly, easily, and securely connects the enterprise. Unlike typical middleware software, Mule as an ESB is a Java-based middleware solution that is easy to use and easy to scale
SAP PISAP PI/PO (Process Integration/Process Orchestration) is a tool that allows you to integrate solutions. It makes it easy to synchronize data between different systems. Let’s say you are using the SAP ERP system, and you wish to integrate with the CRM system.
TalendraTalendra is an open-source data integration platform. It provides various software and services for data integration, data management, enterprise application integration, data quality, cloud storage and Big Data.



Salesforce CPQ – Legacy System Integration:

Mule Enterprise Service Bus is a middleware technology that quickly, easily, and securely connects the enterprise. Unlike typical middleware software, Mule as an ESB is a Java-based middleware solution that is easy to use and easy to scale. It can also be used as the middleware connectivity tool which providing a more reliable and easy to use platform solution than other options on the market.


To make a system connected with the Legacy system Mulesoft will work as a middleware to connect API.

Building an application network with MuleSoft using an API-led connectivity approach was much better.

Mulesoft provides a tool to build API to connect with the external system.

  • Sign in to MuleSoft.
  • Go to the Design Center.
  • Create a new Create API to make connectivity between Salesforce and the legacy system.
  • Provide endpoint details of Salesforce, set the variable for the property set we want to send externally.
  • Provide endpoint details of the Legacy system for a different set of conditional logic.
  • Test the connection of the system to verify before send to the external system.
  • It all is working fine, publishes the API to make a live end to end connectivity.

Let’s implement API for Salesforce CPQ to the Legacy system on the Contract creates in the system. We need to make the configuration, which will allow communicating between two systems once the Contract creates.
Once create the Contract, API will consume the required message through Streaming API, which will be consumed from Mulesoft and send to the Legacy order management system, which will create a remaining process in the old system and send the notification to the respective order number owner.

  • Create Stream Push for the respective details.
  • Create SOQL query and pass to the respective Stream Push Topic.
  • Navigate to Mulesoft and go to design center.
  • Create new connection.
  • Provide the credential details and token of the Salesforce CPQ.
  • Click test to check the connection.
  • Different systems use different formats and fields to represent data. Create all the data types required for the project now.
  • Click the + icon next to Data Types.

"Amount": 15000,
"Id": "0061U0541079dWXQAY",
"CloseDate": "2019-01-25T00:00:00.000Z",
"Name": "ABC Telecom"

  • Make Connection Type with Legacy system.
  • Provide credential details of the system and end point URL.
  • Set the variable which will hold the data and pass to another end system to perform logic.
  • Create mapping which will pass data from one side set of property to another system set of property.
  • This will also allow updating the call-back to the Salesforce CPQ system respective record. Based on external system response mapping, it can be done to update of result field in Salesforce CPQ

To conclude, this article is about how we can connect to the external system with the help of a different kind of middleware system.

Many customer products are also available on Appexchange. They are built on Salesforce platform and are compatible with Salesforce, just with point and click configuration.

Need Help with Salesforce Integrations?
Send Message
Follow Us

3100 E 45th St,
Cleveland, OH