Voice Biometrics Integration with NICE CXone
Overview
This document provides an overview of what’s required to successfully install agent-side enrollment for Voice Biometrics with NICE CXone Studio.
Voice Biometrics (VB) is used to detect and verify a caller’s identity that has been authenticated in a past call and enrolled in the VB service.
The basic steps for VB are the following:
VB enrolment. Authoritatively assign a set of identifiers to a stored voice recording.
VB verification. Comparing the active voice stream against stored voiceprints.
VB verification system expectations. Speaker verification systems calculate the similarity score between two or more voiceprints from the same speaker. They differ from speaker identification systems, where the goal is to identify who is speaking amongst a set of speakers.
Prerequisites
To integrate Voice Biometrics with Nice CXone Studio you must first have completed the following tasks:
A telephone number must be available to avoid using the same one for miniApps.
4. Generate a token through the Token Service.
Create NICE CXone script
The VB integration process mainly concerns the creation of a call script. This script will collect the information from the caller and transfer this information to an agent to complete the enrollment of customers to Voice Biometrics.
To create a new script log in NICE CXone Studio, follow the steps below:
1. Create a new script file.

2. Select a General Purpose Script for Phone application.

3. Create a script as per the below diagram.

VB enrollment and verification script
The details of each script element with its properties are described below.
Logcall
The role of this element is to record and log the call.

LogCall properties
Properties
Property | Description |
---|---|
WhileInConversation | RecordonlyContactaudio |
WhileInvrRorOnHold | PauseRecording |
File Format | MonoWav |
Result Branches
Result | Branch |
---|---|
Default | 5 - Assign VB Values |
Assign VB Values
Based on the call data, specific Voice Biometrics values are assigned to the caller.
The vbProfile
is set along the rest properties.
The ID of the vbProfile
is retrieved from the VB tab of OCP Console.

Assign VB values properties
Properties
Property | Description |
---|---|
Data |
CODE
|
MaxStringSize | Limit2K |
Result Branches
Result | Branch |
---|---|
Default | 7 - Request Session Token |
On Error |
Request Session Token
The session creates a token that will later be posted and assigned before sent as information to the agent.
If the token creation fails for any reason a notification will be sent directly to the agent’s screen.

Request Session Token properties
Properties
Property | Description |
---|---|
Command | MakeRestRequest |
ServiceAddress | {middlewareUrl}/api/token/ |
Headers | headersJson |
Parameters | SessionRequest |
Verb | POST |
TimeOutInMilliSeconds | 30000 |
result Set (out) | result |
ErrorArgList (out) | error/ArgList |
Result Branches
Result | Branch |
---|---|
Default | 4 - Pop up Omilia iframe |
OnSuccess | 9- Assign Session Token |
OnInvalidInput | |
OnError | |
OnTimeout | |
OnThrottle | |
OnFailure |
Assign Session Token
Upon successful session token creation, the session token is assigned with the call details and then sent to the agent.

Assign Session Token properties
Properties
Property | Description |
---|---|
Data |
CODE
|
MaxStringSize | Limit2K |
Result Branches
Result | Branch |
---|---|
Default | 4 - Pop up Omilia iframe |
OnError |
Pop up Omilia iframe
A window pops up on the Agent’s screen with the details of the call.

Pop up Omilia iframe
Onrelease
This process starts when the call closes. Either because of agent transfer or call end.

Properties
Property | Description |
---|---|
CauseCode | |
CallResult |
Result Branches
Result | Branch |
---|---|
Default | 12 - Assign Enrollment Token |
Assign Enrollment Token
An enrollment token is assigned.

Assign Enrollment Token properties
Properties
Property | Description |
---|---|
Data |
CODE
|
MaxStringSize | Limit2K |
Result Branches
Result | Branch |
---|---|
Default | 10 - Submit enrollement request |
OnError |
Submit Enrollment Request
The enrollment request is submitted and the process is complete.

Submit Enrollment Request properties
Properties
Property | Description |
---|---|
Command | MakeRestRequest |
ServiceAddress | {middlewareUrl}/api/token/ |
Headers | headersJson |
Parameters | CreateEnrollment |
Verb | POST |
TimeOutMilliSeconds | 30000 |
result Set (out) | resultSet |
ErrorArgList (out) | error/ArgList |
Result Branches
Result | Branch |
---|---|
Default | |
OnSuccess | |
OnInvalidInput | |
OnError | |
OnTimeout | |
OnThrottle | |
OnFailure |