- Introductions
- Important Notes
- CXone Configuration Pre-Requisites for Cyara Virtual Agents
- NICE inContact CXone Voice CVA Integration Walkthrough
- Cyara Virtual Agent (CVA) Integration with NICE inContact CXone Walkthrough Video Tutorial
Introductions
Cyara CVA (Voice)
Contact centers need a way to test the whole chain of the customer journey. Solutions are needed that test digital and voice channels thoroughly and the transition points between channels. Testing should include call routing to appropriate agents, Computer Telephony Integration (CTI) to ensure that customer data from prior channels is readily available, and agent equipment and applications (phone and desktop).
Test the customer experience at the transition point from the self-service channel to the assisted service channel. Test that the customer is routed to the appropriate agent that has the skills to resolve the issue. Test that the customer data from the CTI data dip moves to the assisted service channel for the agent to access.
Cyara’s Call Routing Testing Enables You To:
- Test agent call routing by simulating agents and agent activity and Computer Telephony Integration (CTI) functions
- Validate that correct information is delivered to an agent
NICE
NICE (Nasdaq: NICE) is the worldwide leading provider of both cloud and on-premises enterprise software solutions that empower organizations to make smarter decisions based on advanced analytics of structured and unstructured data. NICE specializes in telephone voice recording, data security, surveillance, and Robotic Process Automation as well as systems that analyze recorded data. The company serves various industries, such as financial services, telecommunications, healthcare, outsourcers, retail, media, travel, service providers, and utilities.
NICE inContact
NICE inContact is cloud-based call center software that helps businesses to maximize the quality of leads and minimize the cost of client interaction. The solution comprises many features required to process inbound support requests and helps businesses connect with their customers via multiple channels such as inbound/outbound voice calls, email, voicemail, chat, social media and more.
NICE inContact offers various call routing features, like IVR, CTI and ACD. The system also includes workforce optimization capabilities such as e-learning, hiring and workforce management. The blended predictive dialer tool offers call blending, message lay-down dialing, call suppression and auto dialer for blended call centers. The solution seamlessly integrates with popular CRM applications like Salesforce and Oracle Service Cloud.
NICE InContact can be used by small business and large enterprises alike and is in place across a wide variety of vertical markets. Customer service and support applications are also available as part of the integrated suite.
Important Notes
It is expected that users of this demo have working understanding of the Cyara technology (e.g., CX Models, Campaigns, Test Cases, CVA, CX-AX, VQ Testing, etc.) hence the focus of this guide is to highlight specific NICE inContact CXone (CXone) configuration and integration features.
Supported CXone Environment and Media Channel
inContact has several “flavors/instances” of the CXone Software known as Central and UserHub. Cyara’s integration is build in support of the newer UserHub instance.
CXone CVA integration current only supports Voice channel using WebRTC as a voice media channel (i.e., no Chat, SMS or Video support)
CXone CVA only supports one-way audio
CXone CVA implementation only supports audio transmission, and is not able to receive audio, which currently makes by-directional VQ testing unsupported. In addition, to simulate agent speaking, CVA audio is produced by playing a pre-configure audio file. Since the audio file is part of the Cyara software install package, it is not intended to be customizable on per agent or client basis.
Audio transcript: “Clothes and lodging are free to new men, the lamp shone with a steady green flame”
Agent Activities Note
Initial release of CXone CVA supports minimum subset of agent activities Level 1) which includes:
Activity Name |
Activity Type |
Description |
Wait Ringing |
Wait |
This Activity waits for the server event that notifies the agent that an incoming call is ringing. |
Request Answer |
Request |
This Activity instructs the agent to answer the incoming call from the agent server. |
Wait Answer |
Wait |
This Activity waits for the server event that notifies the agent that the call is answered. |
Request Release |
Request |
This Activity causes the agent to release the current interaction. |
Wait Release |
Wait |
This Activity waits for the server event that notifies the agent that the current interaction has been released. |
Request Agent Not Ready |
Request |
This Activity instructs the agent to enter not ready mode for a specified duration. |
Wait Agent Not Ready |
Wait |
This Activity waits for the server event that notifies that the agent is now in not ready state. During not ready state, agent does not receive any interaction. |
Request Agent Ready |
Request |
This Activity instructs the agent to enter ready mode for a specified duration. |
Wait Agent Ready |
Wait |
This Activity waits for the server event that notifies that the agent is in ready state. During ready state, the agent is available to receive interaction from the server. |
Verify Interaction Data |
Verify |
This Activity validates the current interaction's data with specified data. |
Verify Interaction Data from Test Case (applies only to Pulse and Velocity Campaigns) |
Verify |
This Activity waits for information from a synchronized Velocity Campaign and validates the key-value pairs of the Test Case against the attached data. |
Note1: Execute Validation Rule (i.e., Classification and Data Validation) is not supported with CXone CVA
Note2: Since User Data is not attached to the “Ringing” event and requires a separate event to be retrieved from CXone, you need to include a small pause before executing “Verify Interaction Data” and “Verify Interaction Data from Test Case” activities. To do that, set “Min/Max Pause Time” for the above activities to 4-5 seconds (e.g., 5/5)
Note3: When using “Verify Interaction Data from Test Case “activity, please note that CXone reports incoming ANI/CLI without “1” prefix (US). That said, when using Agent step in your test case, specify “From” number without using the “1” prefix
CXone Configuration Pre-Requisites for Cyara Virtual Agents
When configuring CXone Virtual Agents in Cyara’s Portal, instead of traditional Username and Password, Cyara’s configuration utilizes combination of CXone “Access Key ID” and “Secret Key”. This is because agent logins are handled via the API, and the CXone API requires the use of the OAuth v2, hence the need for key and the token (i.e., Access Key ID and Secret Key)
Each agent login that is created in support of CVA will require its own key/secret combo
In the CXone environment, live agents will not be using key/token and instead be only provided with the traditional Username/Password. The steps below are specific to the CVA’s programmatic nature of the integration.
Enabling Access Key access
To create Access Keys the CXone Administrator must ensure that Administrator Role (or the role of whoever is creating the agent logins) has Access Key permissions enabled.
By default, they are disabled. To enable setting Key and Secret for the agent, you need to update the appropriate role
Admin -> Security -> Roles and Permissions
Select applicable role (e.g., Administrator)
In Permissions Tab enable Access Key permissions (click all applicable permissions to turn them on)
This will enable Access Keys tab for when creating new agents
Create Access Key /Secret Key for agent logins
Once Administrator has permission to create Access Keys, the “Access Keys” tab will be added to “Edit Employee Screen”
The Access Key tab does not show up until after the user has been already created.
Employees are created via the: Admin -> Employees
Generate Access Key and a Secret as it is required for the CVA config
Make sure to click on Show Secret Key and capture the key as it will not be accessible again once you close the window.
If you lose the secret key, you will need to generate new access key and get a new secret key.
After Call Work (Wrap Up)
While CXone CVA does not support officially After Call Work (ACW) activities, based on internal Cyara testing of this integration, we have determined that calls wrapped up automatically, and immediately, upon receiving, or initiating the disconnect request.
This process also appeared to work for all disposition types below with the exception of when “Disposition” is set to Mandatory
Wrap-up or Post Contact handling is configured on per Skill level
ACD -> Contact Settings –> ACD Skill
The possible Agent ACW setting are:
- None
- Note: No additional settings
- Automatic Wrap-up
- Note: Max Time Limit - even if set, CVA interaction is wrapped up immediately
- Disposition
- Note: When “required” check box is left un-checked the wrap up will occur immediately. If it is checked, the CVA will get stuck in the Not Ready state after handling the first call. Do not use “required” with CXone CVA
None
Disposition
Automatic Wrap-up
Auto vs Manual Answer
CXone CVA supports both Auto and Manual answer soft-phone modes that can be configured in CXone environment.
Soft-phone answer mode is configured in the “Roles and Permissions” profile that is assigned to agents. By default, the Agent profile is set to Manual Answer.
While we can support either mode, you need to know what agents are set to so that you can properly configure Agent Behaviors in Cyara Portal
Auto answer is configured in: Admin -> Security -> Roles & Permissions -> (select appropriate Role/Permissions Definition)
Permissions Tab ->ACD Section -> MAX (Agent-Interface)
Passing User Data to CVA
Setting the KVPs
For CVA to perform Data Validation (Verify Interaction Data and Verify Interaction Data from Test Case), data (KVPs) has to be explicitly sent to the CVA from CXone Call Flow.
This is note is intended to provide a hint to a knowledgeable CXone developer on how configure the call flow so that the User Data (KVP’s) is available to the CVA.
To set custom variables in the CXone flow the developer should use either “Assign” or “Snippet” steps.
Assign – assigns a single variable
Snippet – can be used to assign one or multiple variables
Sending the Data
Once the KVPs are set, they need to be explicitly sent to the CVA. CXone does not automatically send the data once it is set.
Once set, the data must be sent using “CustomEvent” as part of the “OnAnswer” flow.
CustomEvent must be configured to use the specific event name and the data must be provided in a very specific format so that it can be successful received and processed by the CVA.
Event Name
The name of the event, in the Custom Event step, must be set to STATUS. Setting it to anything else will cause data to be not received by the CVA.
In addition, you must use Data property setting to specify which data variables are sent with the CustomEvent.
The data variables must be specified as a “|” delimited list
For example:
call_intent={call_intent}|skillname={__skillname}|ani={ani}|dnis={dnis}
From the example above note the format:
key_name={variable_name}
Note that there should be no spaces before, or after the “|” delimiter
Receiving/Validating Data in Agent Behavior
Due to the mechanics of how the UserData is retrieved by Cyara (data is retrieved using a specific event which specific to NICE CXone), the Agent Behavior must contain a 4-5 second delay before using data validation step. Only one delay is required when doing multiple data validation in the same behavior. See Agent Behavior section for an example
NICE inContact CXone Voice CVA Integration Walkthrough
The main sections of the NICE inContact CXone Voice CVA Integration that this walkthrough will cover are as follows:
- CXone Site and Environment
- Definition of Agent Behaviors
- Definition of Voice Cyara Virtual Agents
- CVA Campaigns
- Test Case(s)
- Velocity and Pulse Campaigns
- Web Dashboard
Site and Environment
Site
A site is used to identify a specific Contact Center and a CVA Server.
Environment
Environment represents the specific instance of CXone within inContact Cloud that Cyara will connect Voice Virtual Agents to.
Environment Attributes
For more information on CXone Environment Attributes please refer to the User Guide.
Key |
Setting |
Notes |
token-api-base |
https://{customer_region_id}.nice-incontact.com |
This information can be obtained by evaluating the URL that customers use to login in to their CX one environment. For example. The login URL is: https://na1.nice-incontact.com/login/#/ Hence, region is NA1 so the token-api-base setting is (from table below): |
max-url |
Should be same for all but can be checked by logging in as an agent, launching MAX softphone and validating the URL in the MAX window (see below). Make sure you use https:// prefix |
|
max-phone-incontact-base-url |
https://{tenant_name}.nice-incontact.com |
If you do not know the instance/tenant name, it can be extracted from the CXone interface URL after logging in as an admin or agent In this example the instance/tenant name is: “home-b32” |
api-url |
This information can be obtained by evaluating the URL that customers use to login in to their CX one environment. For example. The login URL is: https://na1.nice-incontact.com/login/#/ Hence, region is NA1 so the api-url setting is (from table below): |
|
flags |
debug |
Used for debugging purposes only. Do not use, unless instructed so by Cyara Support |
CXone API regions
These URLs are used based on the region where the NICE inContact CXone deployment is hosted.
Region |
ID |
API Base |
API Url |
Australia/APAC |
AU1 |
https://au1.nice-incontactcom |
https://api-au1.niceincontact.com |
Canada |
CA1 |
https://ca1.niceincontact.com |
https://api-ca1.niceincontact.com |
Europe/EMEA |
EU1 |
https://eu1.niceincontact.com |
https://api-eu1.niceincontact.com |
Japan |
JP1 |
https://jp1.niceincontact.com |
https://api-jp1.niceincontact.com |
UK |
UK1 |
https://uk1.niceincontact.com |
https://api-uk1.niceincontact.com |
US/North America |
NA1 |
https://na1.nice-incontact.com |
https://api-na1.niceincontact.com |
US FedRAMP Moderate |
NA2 |
https://na2.niceincontact.com |
https://api-na2.niceincontact.com |
US FedRAMP High |
NA3 |
https://na3.nicecxone-fed.com |
https://api-na3.nicecxone-fed.com |
Environment Server Configuration
Environment Server Configuration
Server Name |
Any meaningful name you want to give this configuration |
Primary Hostname / IP |
You can put any value as it is a mandatory field, but it has no relevance to this configuration (example, I used the instance/tenant name |
Primary Port |
This is a mandatory filed, but the value has no significance (just use “443”) |
Backup Hostname / IP |
Leave empty |
Backup Port |
Leave empty |
Channel |
Agent Voice |
Attributes |
Not required for basic configuration. Specific use cases may require use of attributes (e.g., CX-AX). |
CX-AX Attributes
The following are the 3 attributed required for configuring CX-AX link:
Key |
Attribute Value |
|
RemoteSyncAccount |
Account ID from which the inbound CX call is initiated (e.g., 6) |
String |
RemoteSyncApiKey |
Api Key for the CX account user, on who behalf the API will be invoked (do not include “ApiKey” text). It is recommended that a dedicated user is created and for which the ApiKey can be generated |
String |
RemoteSyncEndpoint |
URL to the CX Portal. Example: US Portal: https://www.cyaraportal.us/cyarawebapi AU Portal: https://www.cyaraportal.com/cyarawebapi UK Portal: https://www.cyaraportal.co.uk/cyarawebapi |
String |
It is important that proper configuration is followed for providing CX-AX linkage between CTI data being provided to a CVA and an inbound Test Case. Virtual Agent Voice Campaigns will link to Cyara Cloud instances to validate attached data for inbound voice calls.
Only Test Cases from the account defined in the “Server Attributes” will be able to use CX-AX linkage. CX-AX link can only be established with one CX account.
Agent Behaviors
Agent Behavior specifies how Agent handles an interaction, and it is made up of an ordered sequence of Activities to be performed by the Agent for each interaction received (for example, an Inbound interaction).
While there few different Behaviors, for this demo Voice CVA’s are configured to use agent behavior which is set up for Auto-answer, CX-AX and the expectation that caller is hanging up first (Auto-answer - CX/AX)
Note: Due to the mechanics of how the UserData is retrieved by Cyara (data is retrieved using a specific event which specific to NICE CXone), the Agent Behavior must contain a 4-5 second delay before using data validation step. Only one delay is required when doing multiple data validation in the same behavior
Configuring CXone CVAs
Agent Details
Agent Servers
Voice Server Configuration parameters
Server |
Server Name that you configured in Environments |
DN |
Required field, but not used in support of CXone CVA. I suggest setting it to the be the same as a Switch Login |
Switch Login |
Agent login username |
Switch Password |
Required field, but not used in support of CXone CVA. It can be anything, so I suggest setting it to the be the same as a Switch Login |
Agent Server Attributes
CXone CVA uses Agent Server attributes to log agents via the API and need to be obtained from CXone admin (see Access and Secret Key section). Each CXone CVA requires unique keys that are configured for each CXone agent
AccessKeyId |
Agents Access Key (see Access and Secret Key section) |
AccessKeySecret |
Agents Secret Key (see Access and Secret Key section) |
CVA Campaigns
To log CXone CVAs in, and make them ready to take calls, CVAs must be part of the Agent Campaign.
There is one agent campaign being used for this demo, which you can see the configuration for below;
Once the campaign is running, that competes the configuration, and CVAs are ready to take calls.
Real Time Voice Agent Report
If you want to see a real time dashboard showing CVAs taking calls you can launch the Real Time Agent report in one of the browser tabs.
As calls arrive, you will see their status update in real time.
Agent Campaign / Agent Historical Reports
To see detailed results of the CVA interactions, specifically Data Validation, you can view Agent Historical reports
Every time Agent Campaign restarts, the current report is closed and new one is started.
Access the most current report which will contain completed interactions since the campaign been started
You can select any interaction to view details
Please note activity 3, where the actual CTI data is validated and is sent to the test case for validation (aka CX-AX).
Inbound Test Case
Cyara Test Cases can perform a Customer Experience (CX) Voice Quality (VQ) assessment of a NICE inContact CXone environment, these Test Cases are standard voice Test Cases that return a MOS score.
For more information on Voice Test Cases, consult the Cyara User Guide.
Velocity Regression Test Campaign
Below is an example regression Velocity Campaign run called “Velocity – Sales/Service with CX/AX” which launches two concurrent calls to Sales and Service queues and will validate IVR interaction and the Voice Quality (CX), from CVA out to the caller. As names indicate, each campaign is also configured for Jira or Rally integration.
Pulse Campaign
Below is the example Pulse Campaign labelled “Pulse – Sales/Service and AB IVR” that is configured to monitor Basic IVR Flow, Agent Transfer and CX Voice Quality. This campaign is set to run every 120 minutes. . For more information on Pulse Monitoring Consult the Cyara User Guide.
Web Dashboard (Voice)
Pulse Dashboard “Nice inContact CXone CX-AX” has been configured to provide visualization of the monitoring results for 3 test call scenarios being initiated every 120 minutes:
The dashboard has several service groups configured for Voice:
- Test validation initial IVR interaction, agent transfer and CX VQ Test (Sales and Service journeys)
- Interaction Data (sales and service)
- MOS Score Graph for the Customer Voice Quality for all Sales and Service journeys
- AB IVR service group is intended to demonstrate occasional call flow failures as the flow that is being monitored will randomly play an incomplete prompt
Cyara Virtual Agent (CVA) Integration with NICE inContact CXone Walkthrough Video Tutorial
As you can see from the article above, NICE inContact CXone is a complex but powerful contact centre solution. We recommend watching the video below for a full walkthrough of how to configure your Cyara Platform to integrate with NICE inContact CXone to perform Voice Quality and CX/AX interaction validation testing.
Comments
0 comments
Please sign in to leave a comment.