2Overview of CTI and CRM On Demand Integration

Overview of CTI and CRM On Demand Integration

Oracle CRM On Demand Release 19 and later provides the ability to integrate directly with third-party computer telephony integration (CTI) software. This document explains the integration architecture, with details of the implementation requirements. This chapter includes the following topics:

About the CTI Integration

The CTI integration (see the following figure) is a client-side form of integration that supports:

  • Creation of interaction activity records in Oracle CRM On Demand, along with automatic association of existing Oracle CRM On Demand records that are matched to the customer (caller, person sending email, and so on)

  • Screen pop for activity or associated records

  • Interaction wrap-up

  • Click-to-Dial from phone numbers in the Oracle CRM On Demand UI.

The third-party telephony platform includes automatic call distributor (ACD) and interactive voice response (IVR) facilities and handles incoming communication interactions, like phone calls and emails, and chat. Oracle CRM On Demand maintains activity records for each transaction, displays records related to the interaction (for example, the Contact record of the person calling) and provides a UI for the interaction.

For example, when a customer calls the call center, the switch routes the call to the agent who is logged into Oracle CRM On Demand, which creates an activity record to track the call, and automatically loads a record related to the call, like a contact record in which the work phone number matches the customer phone number.

All the call control and telephony state management remains on the CTI client application.

CTI Integration Architecture

CTI Agent Workflow

The flow chart shown in the following figure illustrates the agent workflow and the operations performed by the CTI client application and Oracle CRM On Demand for an incoming call.

When the call center agent accepts an interaction, Oracle CRM On Demand creates an activity and uses the activity's related record information to display a related record in Oracle CRM On Demand, or the CTI activity record itself. This is referred to as to as a screen pop. (For an activity screen pop, the channel type information is also required.)

During the interaction, the agent can navigate the Oracle CRM On Demand UI to find related information relevant to the interaction and maintain data on the interaction in the CTI activity record.

When the call center agent ends an interaction, Oracle CRM On Demand displays the wrap-up page so that the agent can enter notes from the interactions.

Incoming Call Flow Chart

Message Flow between the CTI Client Application and Oracle CRM On Demand

The following figure illustrates the message flow between the CTI client application and Oracle CRM On Demand:

Message Flow

Record Association Logic

When a CTI client application invokes the CreateActivityInsert Web service method, Oracle CRM On Demand creates CTI activities and automatically associates related records in Oracle CRM On Demand with the interaction. For example, if someone calls from the phone number 111-555-1212, and a contact record in Oracle CRM On Demand exists with the same phone number, that contact record is associated with the call activity record. The CTI client application can display a screen pop for the associated record as required.

The record association logic attempts to associate records in three different ways:

  • Passed in record. The record passed in is an explicit record to associate with the activity. This mechanism is used in Click-to-Dial links to ensure that outbound calls initiated from Click-to-Dial links always associate the record whose phone number was clicked with the outbound call activity record.

  • IVR. The caller specifies information about the interaction that is used to associate related records. Examples of information include: contact phone number, service request number, campaign source code.

  • ANI/DNIS. Using automatic number identification (ANI) and dialed number identification service (DNIS) search, the caller's origin or destination phone number or email address is used to associate related records:

    • Inbound calls/voicemail. Origin phone number used.

    • Outbound calls. Destination phone number used.

    • Emails. Origin email address used.

    • Chats. Origin phone number or origin email address used.

The following table shows how these three types of association relate to parameters of CTIActivityInsert. For more information about these parameters, see CTIActivityInsert Interaction Input Parameters.

Table Mapping of Association Types to API Parameters

Association Type

API Parameters and How they are Used in a SOAP Request

Passed in record

AssociatedRecordType and AssociatedRecordId:

<data:AssociatedRecordType>Contact</data:AssociatedRecordType>
<data:AssociatedRecordId>1-G4ZB3</data:AssociatedRecordId>

IVR

ContactPhoneNumber, CampaignSourceCode, and ServiceRequestNumber:

<data:ContactPhoneNumber>16505550199</data:ContactPhoneNumber> 
<data:CampaignSourceCode>123</data:CampaignSourceCode> 
<data:ServiceRequestNumber>80714-47523042</data:ServiceRequestNumber>

ANI/DNIS

Origin and Destination:

<data:Origin>0016505550199</data:Origin> 
<data:Origin>xyz@abc.com</data:Origin> 
<data:Destination>16505550199</data:Destination>

The record association priority from highest to lowest is as follows:

  • Passed in record association

  • IVR search result association

  • ANI/DNIS search result association

This record association priority means that:

  • The passed in associated record overwrites the associated record found in IVR search. For example, if Contact A is passed in as an associated record, and Contact B's phone number is passed in as an IVR value, Contact A is associated with the new activity.

  • The associated record found in an IVR search overwrites the associated record found in ANI/DNIS search. For example, if Contact A's phone number is passed in as an IVR value, and the origin number matched Contact B's phone number, Contact A is associated with the new activity.

  • The passed in associated record overwrites the associated record found in ANI/DNIS search. For example, if Contact A is passed in as an associated record, and Contact B's phone number matched the origin number, Contact A is associated with the new activity.

The CTIActivityInsert method returns a suggested screen pop record type, according to the following priority order:

  1. Service request

  2. Campaign

  3. Contact

  4. Lead

  5. Account

  6. Activity

This suggested record type, together with other record associations returned, allows the CTI client application to choose the record for the screen pop.