Oracle CPQ Cloud and Sales Cloud integration: Integration files (part three)

Posted by Doreen Nyeko on Mon, Mar 27, 2017 @ 1:33 PM

Sales and CPQ integration


This blog post is the third in a series of technical blogs exploring a few interesting scenarios that you may come across if you decide to integrate Oracle Configure, Price and Quote (CPQ) Cloud and Oracle Sales Cloud. If you’d like to read the previous posts within this series, please click the links below:

Part one – Lead to Quote: An introduction to Oracle CPQ Cloud and Sales Cloud integration
Part two – Oracle CPQ Cloud and Sales Cloud integration: SSO

Please note: CPQ Cloud has the ability to make and receive REST calls and Sales Cloud release 11 offers a REST API with most of the functionality of the SOAP web services. This differs from the standard integration with CPQ, which relies on SOAP (at the time of writing), therefore integration of the REST API function will require additional software.

How Web Services Work with Integration

The out-of-the-box integration between Oracle Sales Cloud and CPQ Cloud relies on CPQ Cloud sending changes back to Sales Cloud using the built-in Sales Cloud SOAP web services. For this reason, understanding Sales Cloud web services is vital for a seamless integration to CPQ Cloud. This is especially the case if you need to extend it to include information stored in custom fields in either application as part of the integration, or for any custom behaviour you need to factor in. For example, if your Opportunities or Opportunity Revenue lines have custom required fields such as Notes or Description, you can edit the integration to allow users to write descriptions on the CPQ transaction lines, then send the values from CPQ to Sales Cloud, providing the required information in both systems. This will also prevent changes to the Sales Cloud Opportunity being blocked, due to required fields not being populated.

The following is an extremely lightweight and simplified description outlining why SOAP web services play such an important part in the integration.

Sales Cloud does not actively trigger SOAP web service calls to send information to CPQ Cloud. Instead, Oracle Sales Cloud triggers SAML requests which direct users to different parts of the CPQ Cloud application. The most common places to which it will direct users are the areas for creating a new quote and editing existing quotes linked to the Opportunity. All SOAP web service calls in this integration are triggered by CPQ.

CPQ flows - 1

Fig 1: Simplified diagram from Oracle documentation showing flow of web service calls

CPQ Cloud can use SOAP web services to create, read, update or delete (i.e. CRUD operations) records on most objects in Sales Cloud. Oracle provides detailed documentation about the available SOAP web services in Sales Cloud via their website, which you can access by clicking here.

For each operation you will have to define a separate integration in CPQ, even if you are using two different operations from the same object web service. This is because each operation requires an individual SOAP request. Below is a summary table detailing what you require for a standard integration. However, during implementation, there is the option to define additional web service calls to other Sales Cloud objects.

CRUD Fig. 2: Table indicating standard operations required for integration of CPQ Cloud and Sales Cloud

These SOAP requests can be triggered to be called when certain actions or buttons are clicked in CPQ Cloud, or when CPQ Cloud transactions are opened.

Data Transformation

Once you have defined which SOAP web services and operations will be used, you need to design the XSLT files which will dynamically build the SOAP requests. SOAP is based on XML, and for each request a packet of information written in XML needs to be generated before being sent to Sales Cloud. XSLT is used to read the values of attributes in CPQ and to map these to the SOAP XML request, in the format required by Sales Cloud. (From this point onwards you will benefit from possessing working knowledge of how to edit and manipulate XML and XSLT files and you should be comfortable with XPath.)

For integration web services, CPQ Cloud provides its transaction data in XML format. This is so that the XSLT files created for the integration can extract the information they need and transform it in to the correct format to form a SOAP request.

Below is an example of XLST script generating a SOAP request for a READ operation (getOpportunity). It pulls the value of the Opportunity ID from the CPQ transaction and uses this to build a SOAP request:

Example of XLST script Fig. 3: An example of XLST script generating a SOAP request for getOpportunity

After the SOAP packet is sent to Sales Cloud, an XML response is sent back to CPQ Cloud. The information in the response packet will vary depending on the original SOAP packet sent, but it can include useful information such as the Sales Cloud IDs of newly created Revenue Lines, or values of all of the fields in the specified Opportunity. CPQ allows for XLST files to be designed to read these XML responses and save the information in CPQ attributes. For example, in the response packet from the getOpportunity operation, you can use XSLT to read the name of the Opportunity and save the value in a custom attribute on the transaction in CPQ Cloud called ‘Opportunity Name’.

CPQ will define basic default versions of the XLST transformations for each standard integration including the Parts and Account integrations, but it is highly likely that you will need to make some modifications in order for the integration to meet your specific use case.

By default, the standard integration will only pull information from the following fields from Sales Cloud to CPQ Cloud: (Opportunity) Name, PrimaryContactLastName, PrimaryContactFirstName, OptyNumber, PrimaryOrganizationId, OwnerResourcePartyId & CurrencyCode.

If you would like to view information from custom Sales Cloud fields in CPQ, or standard fields like Sales Stage, the title/salutation of the Primary Contact etc., you need to modify the integration XSLT files or in cases such as the Primary Contact title, define a new integration in CPQ using a relevant web service.

Hopefully this short post was helpful in understanding how data flows between Sales Cloud and CPQ Cloud. Please keep an eye out on the main series post, ‘Lead to Quote: An introduction to CPQ Cloud and Sales Cloud integration’, for further updates relating to this blog series.

More Information

Boxfusion Consulting boasts a deep knowledge of the Oracle CX Cloud technology (including CPQ Cloud and Sales Cloud) and offer expert advice and implementation services supported by constant engagement with Oracle’s product roadmap team. A specialised Oracle partner, particularly recognised by our skills and expertise in Cloud CX, we have deep expertise in the Oracle Sales Cloud and CPQ Cloud integration architecture and can help you implement all applications successfully with your existing systems.

If you’re interested in finding out more about Oracle CPQ Cloud features, or the benefits and opportunities that come with Oracle Service Cloud or Sales Cloud integration, call us on +44 203 283 4315 or contact us here

OPN-Platinum-Cloud-Standard-clrO_SpecPlat_OracleSales-OracleFusionCRMSolutions_clrSales Cloud Specialized - Oracle Platinum Partner Logo

Leave new comments

  • (will not be published)


2014 2015 A/B Testing abcs Active Directory ActiveX Active X ADM Adoption ADSI Agent Desktop Analysis Analytics Apache Ant API Applet application builder cloud service ATG Aurora theme Automated Tasks automotive best practice BI BI Apps BI Cloud Service BICS Big Data Big Machines BI Publisher BI Publisher Reports BI Roadmap Brower-based UI Browser UI Business Application Consultants Business Intelligence Campaign Careers CEI Chat chatbot Cloud Cloud CX Cloud Marketplace cloud migration Cloud Services Co-browse Collaboration COM communications consumer goods CPQ CRM CSS Current Vacancies Customer Experience Customer Portal Customisation Custom Object Support CX CX Cloud CX Summit DAC Daily Organiser Daily Planner Data Analysis data model data visualisation Data Warehousing Day Planner digital transformation Eloqua engagement cloud ETL EXADATA Experience routing Facebook financial services FUSE Fusion Fusion CRM G-Cloud gamification Gartner Gmail Google Drive Google Maps API Graduate Graduates higher education high tech html HTML5 IaaS ICS ID Graph IE8 iFrame Incentive Compensation Incident Mapping widget industry Informatica innovation pack Innovation Pack 2015 Innovation Pack 2016 integration integration cloud service Intergration iot IP 15 IP2013 IP2014 IP2015 ip2016 iPaaS Java javascript JConsole Job Role Functionality journey mapping journey to cloud jQuery Judith Sim Knowledge Knowledge base Larry Ellison LDAP Lead Conversion Mapping life sciences Linux Local XE Machine Learning Macros manufacturing Marketing Marketing Cloud May Release 2015 MBeans mcs messenger migration mobile Mobile application Mobile BI mobile cloud service Mobile Compatibility OBI OBIA OBIEE OBIEE 12c ODI on premise OOTB oow OPA Open UI Open UI pathway Open UI Theme Open UI Training OpenWorld Open World OpenWorld 2012 OpenWorld 2013 OpenWorld 2014 OpenWorld 2015 openworld 2016 OPN Opportunity Assessment Oracle Oracle 12c Oracle BI Oracle BI Cloud Services Oracle Cloud oracle commerce Oracle CPQ Cloud Oracle CRM Oracle CX Cloud Oracle Data Visualization Cloud Service Oracle Knowledge Oracle Marketing Cloud Oracle Modern Business Summit Oracle OpenWorld Oracle Partner Network Oracle PartnerNetwork Specialization for Oracle Sales Cloud Oracle Sales Cloud Oracle Service Cloud Oracle Siebel oracle social cloud Oracle Social Network Oracle Transactional Business Inteliigence Oracle Transactional Business Intelligence Oracle Visual Analyzer OSC OSN OTBI Outlook integration PaaS partner relationship management Performance Personalised Directions widget PHP Php upgrade planning tool Plug-in Wrappers POC Portlets prm Proactive proactive cx Recruiting Recruitment Release Release 9 Release Renne James Reporting tool REST RightNow RightNow CX Roadmap SaaS Sales Cloud Salesforce salesforce automation Sales lightbox SAML Self service Service Cloud Service Cloud February 2015 Release Service Cloud Roadmap sfa Siebel siebel Siebel blog siebel CRM Siebel Open UI Siebel Portlets Siebel Roadmap Siebel upgrade siebel ux Simplified UI SOA soap social Social Monitor Social Relationship Management Specialized Specialized Status SRM SSO Syndicated Widgets tco technical consultancy technical experts Testing third party cookie Time Management UI UI Flow UKOUG UNIX upgrade Usability User-facing prompts user experience user interface UX UX Metrics vertical video chat Virtual Assistant visualisation web customer service WebLogic Web Service Web Services wechat whatsapp Widgets WLST WSDL XML XSLT