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

Journey Node

Version Supported

📘

This integration is based on Customer Journey Data API v1.

Pre-requisites

To get Journey nodes enabled:

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.

Screenshot of Manage Identity Method

Manage Identity

Input VariablesOutput VariablesNode 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
•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.

email
•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)
Screenshot for Manage Identiy Method Showcasing Multiple Aliases

Manage Identiy Method Showcasing Multiple Aliases

HTTP Status Codes

Status codeDescription
400onBadRequest
403onForbidden
404onNotFound
429onTooManyRequest
500onInternalServerError
202onCreateMergeAliasesSuccess
All HTTP Status codes other than 400, 403, 404, 429, 500 and 202onCreateMergeAliasesFailure

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:

Screebshot for Write to CJDS Method

Write to CJDS

Input VariablesOutput VariablesNode 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 codeDescription
400onBadRequest
403onForbidden
404onNotFound
429onTooManyRequest
500onInternalServerError
202onEventPostSuccess
All HTTP Status codes other than 400, 403, 404, 429, 500 and 202onEventPostFailure

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:

Screenshot for Get Identity by Aliases Method

Get Identity by Aliases

Input VariablesOutput VariablesNode 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 codeDescription
400onBadRequest
403onForbidden
404onNotFound
429onTooManyRequest
500onInternalServerError
200onGetIdentityByAliasesSuccess
All HTTP Status codes other than 400, 403, 404, 429, 500 and 200onGetIdentityByAliasesFailure

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:

Screenshot for Read from CJDS Method

Read from CJDS

Input VariablesOutput VariablesNode 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 codeDescription
400onBadRequest
403onForbidden
404onNotFound
429onTooManyRequest
500onInternalServerError
200onGetIdentityByAliasesSuccess
All HTTP Status codes other than 400, 403, 404, 429, 500 and 200onGetIdentityByAliasesFailure