Customer Journey Data Getting Started
Get up and running with Customer Journey Data Service!
anchorSet up CJDS
anchorCJDS is currently in Limited Availability (for US-only). Please fill out this form to be onboarded. The Cisco team will assist you with CJDS instance setup.
anchorTechnical Details
anchorAuthentication for CJDS APIs
CJDS uses Bearer Auth for all APIs. You will need to use CI generated Bearer Token in the 'Authorization' header. Prefix token with 'Bearer'. Please look at the Authentication section on how to generate bearer token. You can also get the Bearer token from https://developer.webex-cx.com login with your admin credentials. It requires a full administrator role, CJDS appropriate cjp:config_read
or cjp:config_write
cjds:admin_org_read
or cjds:admin_org_write
scopes.
CJDS Event Data Schema Details
Attribute | Type | Description | Constraints | Examples |
---|---|---|---|---|
specversion | String | The version of the CloudEvents specification which the event uses. This enables the interpretation of the context. Compliant event producers MUST use a value of 1.0 when referring to this version of the specification | REQUIRED, MUST be a non-empty string | 1.0 |
type | String | This attribute contains a value describing the type of event related to the originating occurrence. | REQUIRED, MUST be a non-empty string, SHOULD be prefixed with a reverse-DNS name. The prefixed domain dictates the organization which defines the semantics of this event type. | com.github.pull_request.opened, com.example.object.deleted.v2 |
source | URI-reference | Identifies the context in which an event happened. Often this will include information such as the type of the event source, the organization publishing the event or the process that produced the event. The exact syntax and semantics behind the data encoded in the URI is defined by the event producer. Producers MUST ensure that source + id is unique for each distinct event. | REQUIRED, MUST be a non-empty URI-reference, An absolute URI is RECOMMENDED | https://github.com/cloudevents, mailto:cncf-wg-serverless@lists.cncf.io, urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66, /cloudevents/spec/pull/123, /sensors/tn-1234567/alerts, 1-555-123-4567 |
id | String | Identifies the event. Producers MUST ensure that source + id is unique for each distinct event | REQUIRED, MUST be a non-empty string, MUST be unique within the scope of the producer | 1eb65fdf-9643-417f-9974-ad72cae0e10f |
time | Timestamp | Timestamp of when the occurrence happened. | OPTIONAL, If present, MUST be a ISO Timestamp | 2018-04-05T17:31:00Z |
identity | String | This describes the identifier to whom the event is produced. | REQUIRED, MUST be non-empty | ram@example.com |
identitytype | String | This specifies the type of identifier. It is an Enum. Currently, we support only email, phone and customerId. | REQUIRED, MUST be a non-empty string | email |
previousidentity | String | The identity with whom we want to merge the new person's events | OPTIONAL, If present, MUST be non-empty | ram@example.com |
datacontenttype | String | Content type of data value. | REQUIRED, If present, MUST adhere to the format specified in RFC 2046 | application/json |
data | Based on the datacontenttype | The event payload. This specification does not place any restriction on the type of this information. It is encoded into a media format which is specified by the datacontenttype attribute (e.g. application/json), and adheres to the dataschema format when those respective attributes are present. | REQUIRED | {"taskId": "888b688e-b74e-4fa6-8260-1e8bd0a3523a","origin": "ram@example.com","destination": "1234567890","direction": "INBOUND","channelType": "email","outboundType": null,"queueId": "AXZvA7uJ1OI4n5klHgJA","createdTime": 160266966391} |
Sample CJDS Event Data
{
"specversion": "1.0",
"type": "task:new",
"source": "wxcc",
"id": "1eb65fdf-9643-417f-9974-ad72cae0e10f",
"time": "2022-03-14T01:48:45Z",
"identity": "ram@example.com",
"identitytype": "email",
"previousidentity": "ramnat@example.com",
"datacontenttype": "application/json",
"data": {
"agentId": "109332be-7fc4-4d4d-9488-ebdb8e13b9bbe",
"destination": "+12147651210",
"profileType": "BLENDED",
"currentState": "idle",
"idleCodeId": "AXUr0jX9H5Tuplm_IxiC",
"createdTime": "1645819554383"
}
anchorDay 0 operations
anchorCJDS is currently in Limited Availability (for US-only). Please fill out this form to be onboarded.
You must also have access to Control Hub with a full administrator role in order to create journey projects.
To set up CJDS for your organization, you must:
- Set a data retention.
- Create a journey project.
- Activate the Webex Contact Center connector.
- Add user identities to a journey project.
- Enable customer journey widget on an agent desktop.
Set data retention for CJDS
You can set how long to retain data that's captured for CJDS. We recommend that you keep a minimum of 180 days to make sure that there are sufficient end-user journey data. By default, data is retained for 365 days.
- Sign in to Control Hub and go to Customer Journey Data > Settings.
- Enter the number of days that you want to retain data for CJDS.
- Click Save.
Create a journey project
Journey projects help organizations manage multiple data sources. Each journey project has a unique identifier which is required to leverage CJDS APIs payloads. Note that project IDs in Control Hub are referred to as workspace IDs in APIs.
- Sign in to Control Hub and go to Customer Journey Data > Journey projects.
- Click Create a journey project.
- Enter a name and a description (optional) for the journey project.
Activate Webex Contact Center connector
After you create a journey project, you must activate the Webex Contact Center connector. This connector allows the journey project to capture all customer events and send it to CJDS from Contact Center. Once activated, the connector applies to all journey projects that are in your organization.
- Sign in to Control Hub and go to Customer Journey Data > Journey projects.
- Select a journey project.
- Toggle the Activate connector in the Webex Contact Center section to on.
Add customer identities to a journey project
Adding customer identities to CJDS will help you connect multiple customer identifiers (phone number, email address, Customer ID) to a single customer identity. You can upload a CSV file with multiple user identities. The requirements for the CSV file are the following:
- Required headers:
- Id
- First Name
- Last Name
- Email Addresses
- Phone Numbers
- Customers Ids
- Each customer identity can have up to five email addresses, phone numbers, and customer IDs, separated by a | (pipe) symbol.
- Each customer identity must have at least an email address, phone number, or customer ID or else the CSV file will return an error.
- For the Id column, make sure to leave each row empty. When you upload the CSV file, this field will auto-generate.
Once you create a CSV file, you can upload that file to a journey project that you created.
- Sign in to Control Hub and go to Customer Journey Data > Journey projects.
- Select a journey project that you want to create user identities for.
- Select Identities.
- Click Create an identity.
- Upload a CSV file that you created for customer identities, and then click Next.
- If the CSV file is valid, a window appears to show you if the import was successful. Once you're done, select Close. You should see a list of all the uploaded customer identities.
Enable the Customer Journey widget
The Customer Journey widget enables your agents to understand a customer's journey across all the supported channels via a single view of your customer's dynamic profile and live/historical interaction enabling them to provide a more personalized and impactful customer experience. The widget allows you to see the data from journey projects.
To access the Customer Journey widget, follow the steps in the CJDS Widget Github. If you need help setting up the widget on your agent desktop, contact cjds_widget@cisco.com.