What is Context Service?

Context Service stores customer interaction data in the cloud, enabling dynamic changes that allow businesses to be flexible in how they store and use data. Examples of this data include voice, email, chat, mobile, and web. This information often exists across multiple applications without an effective way to bring it together. Context Service enables you to better understand disparate data and bridge the siloes, while creating a breadcrumb trail or a map of the data model. Context Service helps your agents follow the customer journey and provide relevant and immediate assistance, which enhances both the customer and the agent experiences.

Context Service enables Cisco Contact Center customers to deliver a seamless omnichannel experience with an out-of-the-box integration from Cisco Customer Care products and APIs for third-party integration.

Examples of Context Service out-of-the-box integrations include:

  • Cisco Finesse—Enables agents to view and update customer or activity information for the calls or tasks that they handle.
  • Cisco Unified Customer Voice Portal—Looks up the customer and creates or updates an activity for every voice call.
  • Cisco Enterprise Chat and Email—Creates an activity for every non-voice chat and email interaction.
  • Cisco SocialMiner—Creates a customer record for every Task Routing task.

To integrate your Cisco Customer Care product with Context Service, see:

Context Service also provides a Java SDK to integrate Context Service into your third-party application. With the Context Service APIs, you can integrate front-end, back-end, retail, or Internet of Things applications to capture a complete view of the customer journey.

Examples of these integrations are:

  • Customer-facing channels—Business websites, mobile apps, and kiosks.
  • Business applications—CRM and ERP systems.
  • Social channels

For more information on integrating your application with Context Service, see the SDK Guide. For a sample web application that wraps the SDK with a REST interface, see the WebApp Sample Project.

Context Service in 2 Minutes

Technical Overview

Context Service Java SDK

The Context Service Java SDK provides an API wrapper for Cisco Contact Center customers. Customers can easily connect their third-party applications with Context Service to store and retrieve customer journey or interaction data.

The Java SDK provides:

  • Application registration
  • Connection, heartbeat, and latency information (CCBU Cloud)
  • User identities and authorization (WebEx Cloud Common Identity Service)
  • Client-side data encryption and key management (Key Management Server)
  • Automatic and no downtime updates (CCBU Cloud)
  • Read, write, and search data to and from Context Service (CCBU Cloud)

As a developer, you can accomplish most of these functions just by initializing the SDK. The SDK hides the complexity of the microservices located on the different cloud platforms. The Cisco Customer Care products currently use the SDK to connect to Context Service.

Applications such as third-party chat and email solutions, IVRs, analytics applications, and business applications like CRMs can connect to the Context Service to store and retrieve customer journey or interaction data.

Example use cases for the Context Service Java SDK include:

  • Personalization Settings: A customer logs into a business mobile app or website and picks their preferred language. Using the Context Service APIs, the business can capture the mobile app/website preferred language value and set the Preferred Language field in Context Service. The next time the customer calls customer service, the IVR and the assisting agent can read the Preferred Language field from Context Service and personalize the interaction with the customer. For an example on how you can integrate your business with Context Service, see the WebApp sample code.

  • Sync customer personal profile data with a CRM: In addition to Context Service, many businesses have a Customer Relationship Management (CRM) solution that is the source of their customer records. In order for businesses to accurately identify the customers contacting them and capture their journey breadcrumbs, they need to ensure that the customer profile data in Context Service is kept up-to-date. You can use the Context Service Java SDK APIs to sync customer records with Context Service. For an example on how you can integrate your CRM with Context Service, see the Data Import/Export sample code.

  • End-to-end Context Service workflow: The end-to-end sample code demonstrates how your application can use the Java SDK to connect to Context Service, search, and read/write data.

For more information on the Context Service SDK, see the SDK Guide.

Customer Context Gadget

The Customer Context gadget uses Context Service to display the customer journey in Cisco Finesse. Agents can view use the Customer Context gadget to:

  • Update customer, request, or activity information.
  • Add comments to an activity.
  • Add tags to an activity.
  • Add new requests.
  • Move activities to a different request or a different customer.

When a customer interaction occurs in a registered Unified Contact Center Enterprise or Unified Contact Center Express component, the activity data is automatically stored in Context Service and displayed by the Customer Context gadget.

Context Service Gadget Control Library

The Customer Context gadget automatically displays the activities that your registered Unified CCE or Unified CCX components create. The Gadget Control library allows your Context Service registered custom applications and third-party Cisco Finesse gadgets to display activities in the Customer Context gadget. The Gadget Control library uses your Cisco Finesse authentication information and does not require any additional authentication to use.

The Gadget Control Library provides methods for:

  • Displaying an activity that matches a podId query.

podId is an activity identifier. Context Service automatically assigns each activity a podId on object creation. For more information, see the Context Service SDK Guide.

  • Displaying an activity in the Customer Context gadget that matches a query using activity data.

The activity displayed in the Customer Context gadget can be a customer phone call, chat, or email.

For more information on the adding the Context Service Gadget Control library to your application or using the library's methods, see the Gadget Control Library documentation.

Context Service Objects

Context Service uses four types of objects to store customer context data:

  • Customer—Data that describes who a specific customer is. The customer type allows you to link personally identifiable information (PII) data with a customer ID. Examples of PII data include the customer name, address, and phone number. You can also use the customer type to link to an existing data store containing customer information to be stored in Context Service.
  • Request—Data that describes what the customer wants. The request type describes one or more customer interactions for a specific issue, at a high level. The request type reflects the customer's view of an issue, indexes customer journey and interaction information, and groups related activities together. For example, a customer goes online to make a credit card payment, runs into an issue, and calls instead to make the payment. The two different transactions are represented by separate activities, but they also belong to the same request of making a credit card payment.

  • Activity—Data that describes a specific customer interaction associated with a customer or request. Also known as a Piece of Data (POD). The activity type reflects one or more steps in the customer journey as the customer seeks the fulfillment of their request. For example:

    • IVR menu that the customer selects.
    • A website URL that the customer has previously visited.
    • The chat metadata.
  • Detail—Data that describes additional information about another object. For example:

    • Notes that an agent makes during an activity.
    • Feedback from the customer during an activity.

Context Service Fields and Fieldsets

Context Service uses fields to define the data stored in Context Objects. A fieldset is a grouping of fields with an inherent logic based on your business needs. Context Service objects can have multiple fieldsets assigned to them.

Fields—Define context data.

Fieldsets—Group fields together.

To use a field in your application, add the field to a fieldset and associate that fieldset with a Context Service object. The Context Service fields and fieldsets allow you to define a flexible data model:

  • You can use the Cisco base fields and fieldsets or create your own custom fields and fieldsets.
  • You can add a field to multiple fieldsets.
  • You can associate multiple fieldsets with a Context Service object.
  • You can associate the Cisco base fieldsets and your custom fieldsets with the same Context Service object.
  • You can edit the fields assigned to a custom fieldset.

For more information on fields and fieldsets, see the Context Service SDK Guide.

Context Service Data Privacy

Context Service provides client-side encryption and access control for your confidential data. Your organization has full control over access to your confidential data, not Context Service. Data in each Context Service field is classified as:

  • Personally Identifiable Information (PII)—Information that identifies an individual. PII data is encrypted on the client-side. Your organization fully controls access to PII data.
  • Non-PII Encrypted—Information that is confidential, but cannot be used to identify an individual. Non-PII Encrypted data is encrypted client-side. Your organization fully controls access to Non-PII Encrypted data.
  • Unencrypted—Information that is not personal or confidential. Unencrypted data is stored as plain text and transported over an encrypted layer (HTTPS).

For more information on the Context Service data privacy model, see the Context Service Security and Privacy White Paper.