CXone Agent SDK

SDK Language: Typescript

Current Version: 24.4

Release Date of Current Version: October 15th, 2024

Availability: All regions and all business segments

Browser Support: Google Chrome, Microsoft Edge, Island Enterprise

SDK Repository: GitHub

NPM: ACD , Agent , Auth , Digital , Voice

API ReferenceCXone Developer Portal

The CXone Agent SDK lets you build an agent application. It also lets you integrate CXone Agent functionality into an existing application. Instead of using CXone APIs directly, developers can use the pre-made functionality through the SDK. This speeds up development time and saves resources. Your developers are not required to understand how all the CXone APIs work. Instead, the SDK lets you use groups of APIs in consumable JavaScript wrappers.

The CXA SDK is a compilation of smaller SDKs. Each smaller SDK focuses on a particular aspect of functionality, like authentication or call controls. To meet your use case, you can choose only the SDKs that you need. For example, you may not need the Voice SDK, which provides WebRTC functionality for an Integrated Softphone. This also means that developers only need to install the necessary SDKs for your use case.

Key facts about the CXA SDK:

  • The SDK works through event subscriptions. Data from the CXone platform is published with an event. To use the data, your app must subscribe to these events.

  • All features of CXone Agent are available through this SDK.

  • You must register the application you will use the SDK with. Complete the registration form to receive credentials for this app. The Getting Started page of the developer portal leads you through the process of registering your app and setting up authentication.

  • The SDK supports OpenID Connect with PKCE authentication flow.

CXA SDK Use Cases

The following are three common use cases of the CXA SDK.

  • Custom Agent Client:
    In this case, you have a unique feature or requirement that the native CXone Agent does not already provide. Also, perhaps you cannot simply embed your required functionality intoCXone Agent. For example, you may need to limit agents' visibility into contact information. This could be for a particular security requirement. You may need to mask all contact data from the agents, which only a custom client can facilitate.

  • Integrate an Agent Client with a Third-Party Application:
    In this case, you cannot embed the agent application into another app. Other apps are often CRMs, online banking sites, or a hotel booking systems. This use case is when you want the functionality of an agent client, but don't necessarily need the client UI. Using the SDK, you can build a piece of functionality into another application. Using the hotel system as an example, staff could call a specific room through the booking system.

  • Event Subscription for Embedded Applications:
    This is commonly used to comply with certain browser security restrictions. For example, Google prevents posting data to an iframed window from another website. This complicates how windows can share messages or data between the two frames. For example, you have a healthcare app that you iframe into CXone Agent. When the agent accepts a contact, you want to use the contact's phone number to look up their information in your healthcare app. This lets you automatically display contact information to the agent. If the agents use Google Chrome, the healthcare app cannot get the contact phone number from CXone Agent. Instead, it needs to subscribe to the VC event stream, which is the same that CXone Agent uses.

SDK Breakdown

The CXA SDK is comprised of the following smaller SDKs:

SDK Details
ACD

This SDK offers features for handling voice calls, voicemails, and work itemsClosed Customizable method of delivering contacts to an agent via Studio scripts.. For example:

  • For voice calls, you can initiate, receive, transfer, and conference the calls.

  • For voicemail, you can receive, store, and manage voicemails.

  • For work items, you can automate the distribution of work items to agents. This optimizes agent workload using predefined rules and criteria.

Agent

This SDK is for handling session events. It lets you start sessions, join a session that's in progress, and so on. Its main focuses are:

  • The get-next-event loop

  • Anything that ACD and Digital Experienceareas of the CXone platform have in common, like WEM or notifications.

Auth

This SDK facilitates secure authentication and authorization. It primarily lets you set up a login flow using the CXone global authentication . The supported authentication flow is OpenID Connect with PKCE. Users must authenticate with a CXone account. This lets you verify user identities and their permissions based on their CXone roleClosed Looks for cues to identify customer frustration. The cues include words and phrases like, "I'm very angry". Frustration isn't the same as negative sentiment. Frustration cues show that a customer is upset rather than just discussing something negative..

Key features include:

  • Automatically refreshing auth tokens. This lets users stay logged in until they close the app or log out.

  • Token management and validation. If a user has already logged in to CXone, you can pass the valid auth token to your app.

Digital

This SDK lets you integrate digital communication channels. You can use standard digital channels like email, chat, and SMS, plus social media platforms like WhatsApp. Depending on the number of channels you have set up, you can create multi-channel communication.

Voice This SDK provides you Integrated Softphone functionality. It is a wrapper for WebRTC.

Resources

An SDK lets you create your own custom functionality, therefore your support resources are primarily self-service content. Your technical support options are based on your organization's support agreement with NICE. Contact your CXone Account Representative for more information on your support options.

In addition to this page, your self-service content focuses on developer resources. The SDK package includes the following:

  • READMEs for each individual SDK that provide getting started information.

  • A sample application to showcase basic functionality.

  • Usage examples with code excerpts from the sample application.

  • Code comments.

Multi-Socket Support

The CXone UI queue is a WebSocket-based approach to emitting ACD events. This is an alternative to get-next-event long polling. The UI queue does not support multi-socket connections—the same events cannot be emitted to both the CXone Agent client and the CXone Agent SDK. Therefore, if you want test or verify certain functionality of the SDK using CXone Agent, be sure to close your application that's consuming the SDK.

Events

The following are events that your app can listen to. The events are categorized by the module in which they're available.

ACD SDK

Agent SDK

Auth SDK

Digital SDK

Voice SDK