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
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 -
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.
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.
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.
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:Create> <nstrgmpr:RequestErrorFault xmlns:nstrgmpr="urn:messages.ws.rightnow.com/v1_3"> <n1:exceptionCode xmlns:nstrgmpr="http://xmlns.oracle.com/cloud/adapter/rightnow/OrganizationCreate_REQUEST/types">INVALID_FIELD</n1:exceptionCode> <n1:exceptionMessage xmlns:nstrgmpr="http://xmlns.oracle.com/cloud/adapter/rightnow/OrganizationCreate_REQUEST/types">Invalid Field While processing Organization->ExternalReference(string).</n1:exceptionMessage> </nstrgmpr:RequestErrorFault> </nstrgmpr:Create>
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.
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.