CXone SmartAssist Powered by Amelia

CXone SmartAssist Powered by Amelia provides intelligent virtual agents (IVA) for voice and chat interactions, as well as interactions on certain Digital Experience channels. SmartAssist virtual agents understand complex interactions and respond to them with human-level comprehension. They can replace live agents to handle customers' questions and solve problems.

CXone SmartAssist uses Amelia, an industry-leading AI bot solution. You can integrate SmartAssist with CXone using Studio scripts and Virtual Agent Hub.

To use SmartAssist with voice channels, contact your CXone Account Representative. Setup for voicebots happens outside of Virtual Agent Hub and the custom scripting needs require additional assistance.

Conversation Flow for Voice and Chat

To start an interaction with a voice virtual agent, contactsClosed The person interacting with an agent, IVR, or bot in your contact center. call a phone number and reach your organization. The contact may be connected directly to the virtual agent, or they might need to choose an option in an IVRClosed Automated phone menu that allows callers to interact through voice commands, key inputs, or both, to obtain information, route an inbound voice call, or both. menu. Once the conversation with the virtual agent begins, the contact's utterancesClosed What a contact says or types. are transcribedClosed Also called STT, this process converts spoken language to text. into text so the virtual agent can analyze them. The virtual agent's responses are converted to synthesized speech using a text-to-speechClosed Allows users to enter recorded prompts as text and use a computer-generated voice to speak the content. service before being sent to the contact. Transcription and speech synthesis can happen in CXone or, in some cases, in the provider's platform.

After the conversation has started, the virtual agent analyzes the contact's utterances to understand the purpose or meaning behind what a person says. This is known as the contact's intent. When the intent is identified, the virtual agent sends an appropriate response to the contact. Depending on how the integration is set up, requests and responses are handled in one of two ways. They can be: 

At the end of the conversation, the virtual agent sends a signal to the Studio script. It can signal that the conversation is complete, or that the contact needs to speak with a live agent. If the conversation is complete, the interaction is ended. If a live agent is needed, the script makes the request. The contact is transferred to an agent when one is available.

Once the conversation is complete, post-interaction tasks can be performed, such as recording information in a CRMClosed Third-party systems that manage such things as contacts, sales information, support details, and case histories..


To use SmartAssist virtual agentsClosed A software application that handles customer interactions in place of a live human agent. with CXone, you need:

  • An account with Amelia.
  • A fully configured and trained Amelia virtual agent.

Required Components

Using SmartAssist requires the following components: 

SmartAssist and Digital Channels

Custom Scripting Guidelines

Before integrating a virtual agentClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish, you need to know: 

  • Which script you want to add a virtual agent to.
  • The virtual agent Studio action you need to use.

  • Where the Studio actions must be placed in your script flow.
  • The configuration requirements specific to the virtual agent you're using.
  • Any script-specific requirements for your virtual agent, including: 
    • When nesting JavaScript within the JSON payload in Amelia virtual agents, use single quotes instead of escaping double quotes with a backslash ( \" ).

    • JSON structures must be "contentType": "dfoMessage", where the M in Message is capitalized. It won't work with a lower case m.

  • How to complete the script after adding the virtual agent action. You may need to: 
    • Add initialization snippets as needed to the script using Snippet actions. This is required if you want to customize your virtual agent's behavior.
    • Re-configure the action connectors to ensure proper contact flow and correct any potential errors.
    • Use the OnReturnControlToScript branch to handle hanging up or ending the interaction. If you use the Default branch to handle hanging up or ending an interaction, your script may not work as intended.
    • Complete any additional scripting and test the script.

Ensure that all parameters in the virtual agent actions you add to your script are configured to pass the correct data. The online help pages for the actions cover how to configure each parameter.

Additionally, ensure that you completely configure your virtual agent on the provider side. Verify that it's configured with all possible default messages. This includes error messages or messages indicating an intent has been fulfilled.

If you need assistance with scripting in Studio, contact your CXone Account Representative, see the Technical Reference Guide section in the online help, or visit the NICE CXone Community A square with an arrow pointing from the center toward the upper right corner. site.

Supported Studio Action for Text Virtual Agents

The TextBot Exchange action is for complex virtual agents or for when you need to customize the virtual agent's behavior from turn to turn. It monitors the conversation between the contact and the virtual agentClosed A software application that handles customer interactions in place of a live human agent. turn by turn. It sends each utteranceClosed What a contact says or types. to the virtual agent. The virtual agent analyzes the utterance for intentClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish and context and determines which response to give. TextBot Exchange passes the response to the contact. When the conversation is complete, the action continues the script.