> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# NICE CXone

> Connect your PolyAI agent to NICE CXone using the Signal API.

The PolyAI and NICE CXone integration uses NICE's [Signal API](https://developer.niceincontact.com/API/AdminAPI#/Contacts/Signal%20a%20Contact) to manage handoff and voice interactions. This guide covers setup, configuration, and usage.

## Overview

### Shared NICE integration

PolyAI integrates with NICE CXone using a shared [connector service](https://help.nice-incontact.com/content/studio/advanced/dbconnector/dbconnector.htm). Each
client is assigned unique [pseudo numbers](https://en.wikipedia.org/wiki/Pseudorandom_number_generator) by NICE, which are used alongside an [authentication token](https://developer.niceincontact.com/API/AuthenticationAPI#/Token/getToken) to route calls to the correct project.

## Handoff process

### Signal API

PolyAI uses the Signal API for call handoffs. This API supports up to **9** additional parameters, making it useful for passing larger
data sets to clients.

#### Requirements for the Signal API

* A Client-provided `access_key_id` and access\_key\_secret.
* The `Client_id` and `client_secret` from NICE: To obtain these, fill out the [NICE API application form](https://forms.microsoft.com/pages/responsepage.aspx?id=vdojcYcOqU2cubfsggEarfHlkRVlgSlMjqsp52ASGttUMEJaSkQ0Rk5LVkIwOFZNWUtCUkFTWUVHUS4u\&route=shorturl). Include:
  * Your CxOne [business unit](https://help.nice-incontact.com/content/acd/businessunits/businessunit.htm) number.
  * Your contact details, arbitrary application name, and description.
  * Answer tenant-related questions: Select **Single** and **Global**.
  * Select `secret_basic` for the authentication method and `AdminAPI` for the API type.
  * Select **Back-End** for the application type.

Processing typically takes several business days. Once complete, you will receive a `client_id` and `client_secret` from NICE.

### Using the Signal API

1. Configure the Signal API in the PolyAI project:
   * PolyAI configures the Signal API connection for your project.
   * The `contact_id` is passed in an X-Header in the initial SIP INVITE.
2. Pass additional data:
   * The Signal API supports up to 9 additional parameters if more detailed data is needed beyond what the SIP X-Header can accommodate.

## Setup steps

### 1: Obtain required credentials

* **From NICE**: Retrieve `client_id` and `client_secret` after form submission.
* **From the client**: `Access_key_id` and `access_key_secret`, and the CxOne business unit number.

### 2: Configure the NICE connector in PolyAI

1. Add a NICE connector to your PolyAI project.
2. Save the provided authentication token for routing calls.
3. If applicable, enable the Handoff API in your project and generate an API key for screen-pop or related functionality.
