Integrating Sales Cloud and Service Cloud using ICS – troubleshooting issues with security configuration


This blog talks about a few “gotchas” when integrating Oracle Sales Cloud (OSC) and Oracle Service Cloud (OSvC) using Oracle’s iPaaS platform, the Integration Cloud Service(ICS).
The idea is to have a ready reckoner for some common issues faced, so that customers can hit the ground running when integrating between OSvC and OSc using ICS


ICS Integrations for OSC OSvC

Pre-built ICS integrations are available from Oracle for certain objects and can be downloaded from My Oracle Support. Contact Oracle Support to download the pre-built integrations and the documentation that comes along with it.   

The pre-built integration provides out of the box standard integration for the following –

  •     Integrate Account and Contacts Objects from Sales Cloud to Service Cloud


  •    Integrate Organization and Contact objects from Service Cloud to Sales Cloud

The pre-built integration is built using ICS and provides a few standard field mappings. It can serve as a template and users can update any custom field mappings as needed.
The ICS Prebuilt integrations also serve as reference for building other custom integrations between OSC and OSvC using ICS. ICS integrations can be built for integrating more objects like Partner and Opportunity objects from OSC. Similarly flows can be created to integrate Asset and Incident objects from OSvC. Refer to the Sales cloud Adapter documentation  and OSvC Adapter documentation  here for capabilities that can be used to build Custom integrations.


ICS Credential in Sales Cloud

One issue that could be faced by users after following the steps in the PreBuilt integrations document and activating the ICS integrations, is that the Account and Contact subscriptions do not flow from OSC to ICS.
This is usually due to issues with creating the ICS credentials in OSC.
Note that a csfKey entry in Sales Cloud infrastructure stores the ICS credentials used by Sales Cloud. This key is used to connect to ICS and invoke the subscription based integrations at runtime.

Refer to this excellent blog post from  my colleague Naveen Nahata, which gives simple steps to create the csf Key. The SOA Composer page where csf key and values are updated is shown below.


Note that OSC ‘R12’ and ‘R11’ customers can now self create csfKey on the SOA Composer App using the steps from Naveen’s blog above.
R10 customers however, should create a support SR for the csfKey creation. Refer to the steps as mentioned in the implementation guide document within the R10 preBuilt integrtaion download package.

Invalid Field Errors in OSvC

Further, when testing the integration of Contact or Account from OSC to OSvC, the ICS instances could be going to failed state.  ICS may show the instance to be in failed state as shown below.

Tracking the failed instance further may show error message as seen below


If the OSC_SVC_ACCOUNT_CREATED integration is ‘TRACE ENABLED’, then the Activity Stream/Diagnostic log file can be downloaded from ICS to further inspect the message payloads flowing in the integration instance.
If one searches the logs for request/response message payloads using the ICS instance ID that has failed, he/she may find out that the issue is not really at the createOriginalSystemReference stage of the flow but the BatchResponse stage from Service Cloud.

 Error:  Invalid Field While processing Organization->ExternalReference(string)

The response payload from OSvC will look as below

<nstrgmpr:RequestErrorFault xmlns:nstrgmpr="">
<n1:exceptionCode xmlns:nstrgmpr="">INVALID_FIELD</n1:exceptionCode>
<n1:exceptionMessage xmlns:nstrgmpr="">Invalid Field While processing Organization-&gt;ExternalReference(string).</n1:exceptionMessage>


Ensure that the credentials specified in the EVENT_NOTIFICATION_MAPI_USERNAME and EVENT_NOTIFICATION_MAPI_PASWD in OSvC do not refer to a ‘real’ OSvC user. OSvC user credentials may not have the rights to update External Reference fileds. It is important  that a dummy username/password is created in the EVENT_NOTIFICATION_MAPI_* fields in OSvC. And remember to use this credential when configuring the OSvC connection in ICS.

ICS Credential in Service Cloud

Another crucial part of the OSvC Configuration is setting the Credentials to use for Outgoing Requests from OSvC to ICS. This is done by setting the EVENT_NOTIFICATION_SUBSCRIBER_USERNAME and EVENT_NOTIFICATION_SUBSCRIBER_PASSWD  parameters in OSvC. This credential is used by OSvC to connect and execute ICS integrations and must point to a ‘real’ user on ICS. This user should have the “Integration Cloud Service Runtime Role” granted to it.


Using Event Handling Framework for Outbound Integration of Oracle Sales Cloud using Integration Cloud Service
Service Cloud
Sales Cloud


Add Your Comment