Customer Journey Data Node
Customer Journey Data service is a next-generation customer journey management service. It is available in Early Access (EA).
Introduction
Customer Journey Data service is a next-generation customer journey management service that enables businesses to capture customer journeys across any channel or application, identify insights, and take real-time actions to provide an excellent customer experience.
The Customer Journey Data prebuilt integration is currently available in Early Access(EA) across all regions. This node needs to be enabled for your account and is not available by default. Please get in touch with your account manager in case you wish to enable it for your account.
Journey node facilitates Webex Connect users with four of its methods:
- Manage Identity- This method merges one/more aliases in JDS.
- Write to CJDS- This method accepts events that describe what occurred, when, and by whom on every interaction across touch points and applications.
- Get Identity By Aliases- This method is used for fetching alias details using alias id/s( if we have to use multiple alias ids then alias ids must be comma(,) separated.
- Read from CJDS- This method is used for fetching the progressive history of alias with business.

Journey Node
Version Supported
This integration is based on Customer Journey Data API v1.
Pre-requisites
To get Journey nodes enabled:
- Webex account backed by Cisco Webex Common Identity (CI) with a Contact Center Administrator role assigned on Control Hub. For more information on how to assign an administrator, refer to the Administration Guide (https://help.webex.com/en-us/article/n5jdj19/Webex-Contact-Center-Administrator-Roles-and-Privileges)
- A client ID and client secret pair (request a pair).
Authentication
The authentication used is standard OAuth2.0 authorization code grant flow. For detailed information, please visit this link.
Methods and Outcomes
Following is the list of Input Variables, Output Variables, and Node Outcomes that will be used within the Journey node:
Method Name-Manage Identity
The Manage Identity method allows you to merge multiple customer aliases into a single, unified customer profile. Using the identifier provided by the customer, you can perform a data dip into your CRM or customer repository to retrieve additional details—such as first name, last name, phone number(s), email(s), social ID(s) like Apple ID, and unique customer identifiers like membership numbers. These details can then be passed into the journey node to create a comprehensive customer profile that consolidates all known identities. This ensures you don’t lose track of any customer interactions across channels.
Additional Use Cases:
- Adding a New Alias:
To add a new alias to an existing customer profile, simply update the alias in your CRM or customer repository. Pass the updated values into the journey node as you would when creating a new customer. The profile will automatically update to include the new alias. - Removing an Alias:
To remove an alias from a customer profile, set the override flag to true. When new values are passed with this flag enabled, all previous identifiers will be removed and replaced with the new set of values.
Below are the UI parameters that are required to call this method.

Manage Identity
Input Variables | Output Variables | Node Outcomes |
---|---|---|
Authorization •Need to select valid Authorization configured inside Assets>Integration>Pre-built Integration(Authorization configuration must be the first step before using Customer Journey Data pre-built integration) Workspace/Project •Select available workspace or project present in customer journey data Request Body •Please specify how you want to pass request body variables. Request body variables can be passed as JSON Object or as a individual key/value pair First Name •You can add multiple first names to the alias. Example: "John" Last Name •You can add multiple last names to the alias. Example: "Jacob" Aliases Phone Number •Phone number of the Alias, you can add multiple phone number separating them with commas. •Email of the Alias, you can add multiple email separating them with commas. Customer ID •Customer ID of the Alias, you can add multiple customer IDs separating them with commas. Temporary ID •Temporary ID of the Alias, you can add multiple temporary IDs separating them with commas. Overwrite existing person data •A Boolean value it can either be true or false. By default it is false. | firstName •alias first name. lastName •alias last name. aliases •array of all the identities associated with alias. For e.g., array can contain all phone numbers or email ids, social ids, customer ids, temporary ids or can contain all of the elements. phone •array of all phone numbers associated with alias. temporaryId •array of all temporary ids associated with alias. socialId •array of all social ids associated with alias. customerId •array of all customer ids associated with alias. id- •alias Id. •array of all email ids associated with alias. organizationId •unique organization id. status •HTTP error name. message •type of error. errors •array of error messages. trackingId •error tracking unique id. responsePayload •This will contain all the JSON response object in single variable. | onInvalidData •Invalid data onError •Error while invoking the method onInvalidChoice •Invalid choice onBadRequest •If HTTP status received is 400 onForbidden •If HTTP status received is 403 onNotFound • If HTTP status received is 404 onTooManyRequest •If HTTP status received is 429 onInternalServerError •If HTTP status received is 500 onCreateMergeAliasesSuccess •If HTTP status received is 202 onCreateMergeAliasesFailure •If HTTP status received is other than 202 and configured error HTTP status codes onTimeout •When the method could not be invoked before the timeout(10 seconds) duration |
Important
The Manage Identity method allows you to pass multiple phone number, email id, customer Id, temporary id,and social Id. These values should be separated using comma (',').
For Example: If you have multiple phone numbers, email id, customer Id, temporary id,and social Id. You can pass them in following format:
- $(phone1),$(phone2),$(phone3)
- $(email1),$(email2),$(email3)
- $(temporaryId1),$(temporaryId2),$(temporaryId3)
- $(customerId1),$(tcustomerId2),$(customerId3)
- $(sociald1),$(socialId2),$(tsocialId3)

Manage Identiy Method Showcasing Multiple Aliases
HTTP Status Codes
Status code | Description |
---|---|
400 | onBadRequest |
403 | onForbidden |
404 | onNotFound |
429 | onTooManyRequest |
500 | onInternalServerError |
202 | onCreateMergeAliasesSuccess |
All HTTP Status codes other than 400, 403, 404, 429, 500 and 202 | onCreateMergeAliasesFailure |
Method Name-Write to CJDS
The Write to CJDS method enables you to capture and store data from your flow or third-party applications directly within the Customer Journey Data Service (CJDS). This allows businesses to enhance customer profiles with real-time insights, ensuring agents have the most up-to-date and relevant information to personalize interactions.
By writing data such as IVR menu selections, payment details, or ticket updates into CJDS, you can build a comprehensive view of customer interactions across different touchpoints. This data can then be used to improve decision-making, streamline workflows, and enhance the overall customer experience.
Example Use Cases:
- Enhanced Agent Assistance:
A customer selects a refund request option in the IVR menu. This selection is written to CJDS. When the customer later connects with an agent, the agent immediately sees the refund request in the customer’s journey history, allowing for faster resolution. - Proactive Customer Engagement:
A customer makes a payment through a third-party billing system. This transaction data is written to CJDS and flagged for proactive engagement. If the customer calls in with a billing question, the system recognizes the recent payment and routes them directly to the billing support team, avoiding unnecessary transfers.
This method ensures that customer interactions are always contextualized, improving efficiency and delivering a more seamless support experience.
Below are the UI parameters that are required to call this method:

Write to CJDS
Input Variables | Output Variables | Node Outcomes |
---|---|---|
Authorization •Need to select valid Authorization configured inside Assets>Integration>Pre-built Integration(Authorization configuration must be the first step before using Customer Journey Data pre-built integration) Workspace/Project •Select available workspace or project present in customer journey data Request Body Object •Please specify how you want to pass request body variables. Request body variables can be passed as JSON Object or as an individual key/value pair Event Id •Event Id. Example: "9ab65fdf-9643-417f-9974-ad72cae0e10f" Event Spec Version •Event spec version. Example: "1.0" Event Type •Event Type. Example: "com.cisco.wxcc.event.agent" Event Source •Event source. Example: "/com/cisco/wxcc/123" Event Time •Event Time. Example: "2022-08-15T22:29:43.768Z" . In UTC time format Identity Type •Identity Type. Example: "email". Identity type could be either email, phone, customerId, socialId or temporaryId Identity •Identity. Example: "[email protected] " Data Object •Data object is multi-select drop-down which contains various options. For e.g., Agent Id, Destination, Profile Type, Current State, Idle Code ID & Created Time Agent Id •Agent Id. Example: "109332be-7fc4-4d4d-9488-ebdb8e13b9bbe" Destination •Destination. Example: "+12147651210" Profile Type •Profile Type. Example: "BLENDED" Current State •Current State. Example: "idle" Idle Code ID •Idle code id. Example: "AXUr0jX9H5Tuplm_IxiC" Created Time •Created Time. Example: "1645819554383". Time in milliseconds | data •Array object that contains details about profile view template id, firstName, lastName, phone array, email array, socialId array, customerId array, temporary Id array, aliases array, organizationId, workspaceId and other information. OrganizationId •unique organization id. workspaceId •Workspace/Project unique id. status •HTTP error name. message •type of error. errors •array of error messages. trackingId •error tracking unique id. responsePayload •This will contain all the JSON response object in single variable. | onInvalidData •Invalid data. onError- •Error while invoking the method. onInvalidChoice •Invalid choice. onBadRequest •If HTTP status received is 400. onForbidden •If HTTP status received is 403. onNotFound •If HTTP status received is 404. onTooManyRequest •If HTTP status received is 429. onInternalServerError •If HTTP status received is 500. onEventPostSuccess •If HTTP status received is 202. onEventPostFailure •If HTTP status received is other than 202 and configured error HTTP status codes. onTimeout •When the method could not be invoked before the timeout(10 seconds) duration. |
HTTP Status Codes
Status code | Description |
---|---|
400 | onBadRequest |
403 | onForbidden |
404 | onNotFound |
429 | onTooManyRequest |
500 | onInternalServerError |
202 | onEventPostSuccess |
All HTTP Status codes other than 400, 403, 404, 429, 500 and 202 | onEventPostFailure |
Method Name-Get Identity by Aliases
The Get Identity by Aliases method allows you to retrieve all identities associated with an existing customer profile based on a known alias. This helps in seamlessly linking customer interactions across multiple channels and identifiers.
Example Use Cases:
- Cross-Channel Customer Engagement:
If you have a customer's phone number and want to send them an email update, use this method to fetch their associated email address. - Fraud Prevention & Verification:
When a customer contacts support, retrieve their linked identities (such as social IDs or membership numbers) to verify authenticity and prevent fraudulent activity. - Omnichannel Personalization:
If a customer logs into a web portal using their social media ID, use this method to pull their phone number or loyalty ID to personalize their experience across digital and voice channels.
This method ensures a seamless and connected customer experience by unifying customer identities across multiple touchpoints.
Below, are the UI parameters that are required to call this method:

Get Identity by Aliases
Input Variables | Output Variables | Node Outcomes |
---|---|---|
Authorization •Need to select valid Authorization configured inside Assets>Integration>Pre-built Integration(Authorization configuration must be the first step before using Customer Journey Data pre-built integration) Workspace/Project •Select available workspace or project present in customer journey data Aliases •Alias id associated with the particular alias. If we must use multiple alias ids then alias ids must be comma( ,) separated. For e.g., [email protected] ,2771154 | data •Array object that contains details about profile view template id, firstName, lastName, phone array, email array, socialId array, customerId array, temporary Id array, aliases array, organizationId, workspaceId and other information. organizationId •unique organization Id status •HTTP error name. message •type of error. errors •array of error messages. trackingId •error tracking unique id. responsePayload •This will contain all the JSON response object in single variable | onInvalidData •Invalid data onError •Error while invoking the method onInvalidChoice •Invalid choice onBadRequest •If HTTP status received is 400 onForbidden •If HTTP status received is 403 onNotFound •If HTTP status received is 404 onTooManyRequest •If HTTP status received is 429 onInternalServerError •If HTTP status received is 500 onGetIdentityByAliasesSuccess •If HTTP status received is 200 onGetIdentityByAliasesFailure •If HTTP status received is other than 200 and configured error HTTP status codes onTimeout •When the method could not be invoked before the timeout(10 seconds) duration |
HTTP Status Codes
Status code | Description |
---|---|
400 | onBadRequest |
403 | onForbidden |
404 | onNotFound |
429 | onTooManyRequest |
500 | onInternalServerError |
200 | onGetIdentityByAliasesSuccess |
All HTTP Status codes other than 400, 403, 404, 429, 500 and 200 | onGetIdentityByAliasesFailure |
Method Name-Read from CJDS
The Read from CJDS method allows you to retrieve a customer’s progressive journey profile in real time and use that data for intelligent call routing. This enables dynamic decision-making based on past interactions, ensuring customers are connected to the most suitable agents.
Example Use Cases:
- Intelligent Call Routing Based on Interaction History:
If a customer has called more than three times in the last 24 hours, you can route their call to an agent with specialized skills—such as a subject matter expert or an agent with higher customer satisfaction (CSAT) ratings—to resolve their issue more efficiently. - Priority Handling for High-Value Customers:
Identify VIP customers based on past purchase history, subscription tier, or loyalty status, and automatically route them to a dedicated concierge team for premium support. - Proactive Support for Unresolved Issues:
If a customer has an open support ticket or an unresolved complaint, their call can be prioritized and routed to the same agent or department handling their case, reducing customer frustration and improving resolution speed.
This method ensures every customer interaction is contextually informed, leading to better service experiences and increased operational efficiency.
Below, are the UI parameters that are required to call this method:

Read from CJDS
Input Variables | Output Variables | Node Outcomes |
---|---|---|
Authorization •Need to select valid Authorization configured inside Assets>Integration>Pre-built Integration(Authorization configuration must be the first step before using Customer Journey Data pre-built integration) Workspace/Project •Select available workspace or project present in customer journey data Template Name •Valid template where progressive profile needs to be searched. Alias ID •Alias identifier associated with the alias. For e.g., either phone number, email Address, Social Id, Customer Id or Social Id. | data •Array object that contains details about profile view template id, firstName, lastName, phone array, email array, socialId array, customerId array, temporary Id array, aliases array, organizationId, workspaceId and other information. organizationId •unique organization Id status •HTTP error name. message •type of error. errors •array of error messages. trackingId •error tracking unique id. responsePayload •This will contain all the JSON response object in single variable | onInvalidData •Invalid data onError •Error while invoking the method onInvalidChoice •Invalid choice onBadRequest •If HTTP status received is 400 onForbidden •If HTTP status received is 403 onNotFound •If HTTP status received is 404 onTooManyRequest •If HTTP status received is 429 onInternalServerError •If HTTP status received is 500 onGetIdentityByAliasesSuccess •If HTTP status received is 200 onGetIdentityByAliasesFailure •If HTTP status received is other than 200 and configured error HTTP status codes onTimeout •When the method could not be invoked before the timeout(10 seconds) duration |
HTTP Status Codes
Status code | Description |
---|---|
400 | onBadRequest |
403 | onForbidden |
404 | onNotFound |
429 | onTooManyRequest |
500 | onInternalServerError |
200 | onGetIdentityByAliasesSuccess |
All HTTP Status codes other than 400, 403, 404, 429, 500 and 200 | onGetIdentityByAliasesFailure |
Updated 6 days ago