Digital Scripts

The information on this help page applies to both CXone Studio and Desktop Studio.

Digital scripts are used for contacts in CXone on digital channelsClosed A way for contacts to interact with agents or bots. A channel can be voice, email, chat, social media, and so on., such as social media public and messaging channels, direct messaging apps including WhatsApp, and website-based chats including Google Business Message. CXone handles digital interactions differently from traditional ACD interactions. These differences impact the management and routing of digital contacts.

In CXone, Studio is the contact management and routing engine. Digital Experience has an additional component that can influence what happens to contacts. This component, Workflow Automation (WFA), is a code-free rules engine. With WFA you can define criteria and what happens when the criteria are met. Studio and WFA work together to route digital contacts. WFA rules run independent of Studio scripts. You can use scripts and WFA rules together to customize the handling of digital contacts.

Digital scripts have built-in buffer protection to protect against DDoS attacks or viral public posts on social media channels. In the event that one of these events occurs, the requests are put into a buffer to be processed when system resources are available.

Comparison of Digital and Traditional ACD Routing

Digital routing is similar to traditional ACD routing. However, there are some key differences: 

Additionally, digital scripts have an alternate routing method. This legacy method uses Digital Experience routing queuesClosed The system uses routing queues to determine which agents to route cases to. Your system administrator creates routing queues so that certain cases are routed to agents with expertise in that type of case. instead of scripts and digital ACD skillsClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge.

The following diagrams compare the path of a traditional ACD phone interaction and a digital chat interaction through CXone. They show both interactions from when the contact initiates the conversation to when an agent is assigned and responds to the contact.

The following image shows a diagram of inbound contact routing for a traditional ACD channel (phone). A text description of the routing path follows the image in the drop-down.

The following image shows a diagram of routing a digital contact using a script. A text description of the routing path follows the image in the drop-down.

Points of Contact and ACD Skills

All digital and traditional ACD contacts enter CXone through points of contactClosed The entry point that an inbound contact uses to initiate an interaction, such as a phone number or email address. (POC). A POC is the specific instance of a channel that contacts use to communicate with your organization. They connect CXone to the phone number, email address, chat window, or social media account contacts use when starting an interaction with your company.

In addition to the details connecting the POC to the channelClosed A way for contacts to interact with agents or bots. A channel can be voice, email, chat, social media, and so on. it works with, all POCs must also have the following:

Digital POCs are created on the Digital ExperiencePoint of Contact Digital page in the ACD application. Online help for creating digital POCs is available on the page for setting up each channel. You can find links to each setup page on the Digital Channels help page.

Contact Routing Paths

The routing of traditional ACD and digital contacts follows a similar path. System scripts match the contact with the POC they used to contact your company. The system scripts then assign the default ACD skill defined in the POC to the contact and call the script defined in the POC. The custom script takes over handling of the contact.

One of the Studio actionsClosed Performs a process within a Studio script, such as collecting customer data, playing a message or music, or routing a contact to an agent. that both traditional ACD and digital scripts use is Reqagent. This action has a digital version that works with digital scripts. Both versions of Reqagent request an agent that matches the specified criteria to handle the interaction. The criteria include the ACD or digital ACD skill and the agent's proficiencyClosed An expertise level that you can assign to an individual agent in an ACD skill. Proficiency levels can range from 1 to 20, with 1 being the highest level of proficiency.CXone ACD routes interactions to the available agent with the highest proficiency level in the ACD skill by default. in that skill.

What happens after an agent is requested differs between traditional ACD and digital routing: 

After Onanswer or Onassignment, there are many possibilities for what happens next in both traditional ACD and digital scripts. The routing flow depends on the unique needs of your organization.

In traditional ACD interactions, a contact is sometimes assigned a different contact ID, such as when the contact is transferred to a new agent. This doesn't happen with digital contacts. A digital contact keeps the same contact ID for the entire interaction.

Interaction Duration and Script Sleep-Wake Cycles

Traditional ACD interactions generally last for minutes or hours. The scripts that route these interactions actively run for the duration of the interaction.

Digital interactions can last for minutes, hours, days, weeks, or even months. To support this and to preserve system resources, digital scripts "sleep" when they're not active. They automatically wake up when there's an action they need to perform, then they go back to sleep again. 

For example, after the Askcaller (digital) action prompts the contact for information, the script goes to sleep. When the contact responds, the script wakes up and performs the next action, then goes to sleep again. This sleep-wake cycle repeats as often as necessary until the interaction is complete.

The sleep-wake cycle of digital scripts happens automatically. You don't need to do anything in your script to make it happen. It cannot be prevented, either. This cycle is designed to efficiently preserve system resources. By limiting the number of scripts in active memory at any point, the total number of digital contacts CXone can handle concurrently increases.

The agent doesn't have to be assigned to the contact for the entire interaction. Unassigning agents from contacts removes the contact from the agent's inbox, leaving the contact in CXone in a post-contact state. The next time the contact sends a message, an agent is assigned to it. It could be the same agent or a different one. Unassigning can happen in three ways: 

  • Agents can unassign themselves.
  • The Digital Experience administrator can create WFA rules to automatically unassign agents.
  • If your agents use CXone Agent, the CXone Agent administrator can configure an amount of time after which contacts are automatically unassigned from the agent if they don't respond.

The Onunassignment action fires after the agent is unassigned from a contact. It creates a new branch of the script where you can add logic for what you want to happen after an unassignment.

Termination of Scripts and Contact IDs

Each script must have an action that signals the completion of the script. These terminating actions are a required action for all scripts. They perform important cleanup work that's needed to completely end each interaction and contact ID, such as ending background processes and recording information in databases.

In traditional ACD scripts, there are a number of terminating actions available. The one you use depends on the script media type. All traditional ACD terminating actions terminate the script. They also terminate the contact ID by changing the contact's status to Complete. Once the contact ID is terminated, the Onrelease event action fires to perform any post-interaction tasks that may be required, such as copying data about the contact to your CRMClosed Third-party systems that manage such things as contacts, sales information, support details, and case histories. application.

For digital scripts, the only supported terminating action is End. However, in digital scripts, End only terminates the script. It does not terminate the interaction or the contact. There are several ways the interaction and the contact can end:

  • Agents can close the contact from the agent application.
  • The Digital Experience administrator can create Workflow Automation rules in CXone to automatically to close the contact given specified conditions.
  • You can use the Update Digital Contact Status action to update the contact's status to Closed.
  • Customers can end the interaction. This option is only supported for live chat channels.

After the a digital contact ID has been terminated, the Onrelease event action can fire to perform any required post-interaction tasks.

Digital Experience Routing with Routing Queues

Prior to the Summer 2023 release, digital contacts were primarily routed using Digital Experience routing queues. This method requires digital ACD skills but not Studio scripts. The digital channelClosed A way for contacts to interact with agents or bots. A channel can be voice, email, chat, social media, and so on. created in CXone functions as both the channel and the point of contact. This means that the contact enters CXone directly through the channel and is handled by routing queue rules. Routing queue rules assign contacts to ACD skills using filtering rules, which are created on the Routing Queues page.

This routing method is still available in CXone. However, it's not the preferred method for routing contacts. It's easier to build and troubleshoot the routing workflow using the visual interface of a Studio script. When routing with routing queues, it can be a challenge to keep track of the many rules required to route contacts.

You can only use one routing method for each POCClosed The entry point that an inbound contact uses to initiate an interaction, such as a phone number or email address.. When a Studio script is assigned to a POC, routing queues no longer work for inbound contacts that come into the POC. To route contacts using routing queues, you need to set up routing rules and filters in CXone.

The following image shows a diagram of routing a digital contact with Digital Experience routing queues. A text description of the routing path follows the image in the drop-down.

Workflow Automation

Workflow Automation (WFA) is a rules engine in Digital Experience. WFA rules define the criteria for certain tasks. When those criteria are met with digital contacts, Digital Experience performs the defined task.

You can use WFA together with Studio scripts to manage contacts and interactions. WFA and Studio work independently, but in parallel. There are some tasks that can be done in both places. You should decide how you want to accomplish those tasks so they're managed in one place and not both. For example, if you have a WFA rule that ends a contact and adds data to your CRMClosed Third-party systems that manage such things as contacts, sales information, support details, and case histories., you don't need to configure the Onrelease action in your script to add data to your CRM.

One of the most important behaviors that you need to define in WFA is ending contacts. In digital scripts, the End action doesn't end the contact. It only ends the script. You must set up rules in WFA to define when Digital Experience should end contacts. You can also set up WFA rules to handle contacts that have abandoned the conversation.

Prequeue Decision-Making

It's helpful to be able to determine a contact's reason for contacting your organization. This allows you to assign a new ACD skillClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge to the contact, which makes it more likely that the agent who handles the interaction can take care of the contact's needs. The more specific your skills are, the more targeted you can make the agent assignments and reduce the need to transfer contacts to different agents.

In a traditional phone script, you can create 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 using the Menu action. In the menu, you can present the contact a series of options, and assign an appropriate ACD skill to them depending on the option they pick.

In digital scripts, you cannot create an IVR in the same way, but you can determine the contact's needs in other ways. For example, you can: 

  • Create menus of options using rich media options.
  • Use the Askcaller (digital) action (action help page in CXone Studio).
  • Use a virtual agent that's trained to answer simple questions and perform triage at the start of a interaction.
  • Use CXone Guide on your company website.

Screen Pops in Digital Interactions

In traditional ACD interactions, there are two options for configuring screen pops:

For digital interactions, configuring screen pops at the ACD skill level doesn't work, so you must use the actions.

Studio Actions for Digital Scripts

Digital scripts support a subset of the actions available in Studio. More actions will be supported in the future. The actions that are currently supported are separated into two categories: 

  • Actions that are supported but not limited to digital scripts.
  • Actions that are only supported in digital scripts.

Actions Supported in Digital Scripts

The following table lists supported actions that aren't specific to digital scripts.

Action Details
Assign

Assigns a value to a user-defined variable.

Help pagesDesktop Studio CXone Studio

Begin

Starts all scripts. It must be the first action in every script.

Help pagesDesktop Studio CXone Studio

Case

Allows you to set up multiple custom branches based on the value of the action's Variable property. You can use it as you do a CASE statement in custom snippet code.

Help pagesDesktop Studio CXone Studio

Countagents

Counts the total number of agents in a particular stateClosed The availability status of an agent for a particular digital ACD skillClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge .

Help pagesDesktop Studio CXone Studio

Email

Generates a new email.

Help pagesDesktop Studio CXone Studio

End

Terminates a script.

Help pagesDesktop Studio CXone Studio

ESTIMATED WAIT TIME

Allows you to provide contacts with an estimate of how long the wait for an agent is.

Help pagesDesktop StudioCXone Studio

GetSkillInfo

Retrieves information from any Personal Connection skill in the tenantClosed High-level organizational grouping used to manage technical support, billing, and global settings for your CXone environment .

Help pagesDesktop Studio CXone Studio

Getvalue

Retrieves a value that was previously stored using the Putvalue action.

Help pagesDesktop Studio CXone Studio

Loop

Executes a defined action a specified number of times.

Help pagesDesktop Studio CXone Studio

MCR META DATA

Allows you to pass meta data to CXone Recording business data fields during a call.

Help pagesDesktop StudioCXone Studio

Onrelease

Processes the end of an interaction. It can email a voicemail or send interaction data to a database or other location.

Help pagesDesktop Studio CXone Studio

Points of Contact List

Retrieves a list of all points of contact in the current CXone system.

Help pagesDesktop Studio CXone Studio

PopURL

Opens a webpage and provides options for the location and appearance of the panel the webpage is displayed in. Only supported if your agents use CXone Agent.

Help pagesDesktop Studio CXone Studio

Putvalue

Stores data in a database table. Data stored with this action can be retrieved using the Getvalue action and used in other scripts or contacts

Help pagesDesktop Studio CXone Studio

Restapi

Allows you to make a REST API call in your script.

Help pagesDesktop Studio CXone Studio

Return

Completes a subscript triggered by the Runsub action in another script. It stores a single value in the ReturnValue property and passes it to the originating script.

Help pagesDesktop Studio CXone Studio

Runsub

Calls a subscript.

Help pagesDesktop Studio CXone Studio

SetSecurityUser
  • allows you to select an agent that has API security permissions. Use this action with any API Framework action.
  • Help pagesDesktop Studio CXone Studio
  • Snippet

    Allows you to include custom code in your scripts ( help page in CXone Studio).

    Help pages: Desktop Studio CXone Studio

    Textbot Exchange

    Allows you to use a text virtual agent with the Digital Experience channel the script works with. You must have the virtual agent set up and running before you can use this action.

    Help pagesDesktop Studio CXone Studio

    Wait

    Allows you to add a pause to the script.

    Help pagesDesktop Studio CXone Studio

    Actions for Digital Scripts Only

    The following table lists actions that are only for use in digital scripts.

    Action Details
    Askcaller (digital)

    Allows you to prompt the contact to provide information. It supports postbacks and can be used with virtual agentsClosed A software application that handles customer interactions in place of a live human agent..

    Help pagesDesktop Studio CXone Studio

    Create Custom Field Customer Card

    Creates a new custom field in the customer card.

    Help pagesDesktop StudioCXone Studio

    Digital email

    Sends an email through a digital email point of contactClosed The entry point that an inbound contact uses to initiate an interaction, such as a phone number or email address..

    Help pagesDesktop Studio CXone Studio

    Forward email

    Redirects digital email messages to another recipient.

    Help pagesDesktop Studio CXone Studio

    GET Custom Fields

    Creates a new custom field in the contact record or customer card.

    Help pagesDesktop StudioCXone Studio

    Get Customer Returns customer data from the customer card

    Help pagesDesktop Studio CXone Studio

    GetMessages

    Retrieves message content and stores it as a structured variable. It's similar to the Getemail action.

    Help pagesDesktop Studio CXone Studio

    GetRichMessage

    Return rich messaging templates from the digital point of contact to the script for use in AskCaller or TextMsg actions. Allows you to send messages with rich content without building the JSON into the script.

    Help pagesDesktop StudioCXone Studio

    Onassignment

    Starts a new branch in the script when a contact is assigned to an agent. It also allows you to see if the contact was transferred directly from one agent to another. Use this action as you would Onanswer in a traditional ACD script. Onanswer doesn't work with digital scripts. This is an event action.

    Help pagesDesktop Studio CXone Studio

    Onunassignment

    Starts a new branch when a contact is unassigned from an agent, but the interaction hasn't ended yet. This is an event action.

    Help pagesDesktop Studio CXone Studio

    Post note in Customer Card

    Adds a note to the customer card.

    Help pagesDesktop Studio CXone Studio

    Reqagent

    Requests an agent to handle a digital contact.

    Help pagesDesktop Studio CXone Studio

    Textmsg

    Allows you to send messages to a contact and not wait for a reply. A script or virtual agentClosed A software application that handles customer interactions in place of a live human agent. can send messages with this action.

    Help pagesDesktop Studio CXone Studio

    Update Contact Digital

    Allows you to update the priority and proficiency ranges to broaden the pool of agents available to handle a contact.

    Help pagesDesktop Studio CXone Studio

    Update Contact Status

    Allows you to update the status of interactions. Possible statuses are Open, Pending, Escalated, Resolved, and Closed.

    Help pagesDesktop Studio CXone Studio

    Update Custom Field

    Allows you to update a custom field in a contact record or a customer card

    Help pagesDesktop StudioCXone Studio