This help page is for Desktop Studio. This information is also available for CXone Studio.

Extends the agent interface with custom functionality, specifically an icon that the agent clicks to initiate the custom function. These icons in the agent interface can be used to run or signal a script, open a URL, or build basic web-based forms and process their data.

Double-click the action to open a configuration wizard.


  • An indicator must also be turned off in the script or it will continue to appear in the agent interface after the contact has ended. Typically, two Indicate actions are used, one to turn the button on and another to turn the button off.
  • Because the Indicate action is so flexible, be very careful programming and test the script thoroughly.
  • Ensure that the link used with the ImageFile property is valid. A broken link can cause severe performance issues for your CXone servers.
  • MAX uses a predefined set of images for all indicators, based on the ActionType. Specifying an image with the ImageFile property with MAX won't change the images that agents see.

Supported Script Types

The icon for a Generic script type - a rectangle with < and > symbols inside it.

The icon for the Email script type - a large @ symbol in a diamond.

The icon for the Chat script type - a chat bubble with an ellipsis inside (...), in a diamond shape.

The icon for the Phone script type - an old-style phone handset with curved lines indicating sound coming out of it.

The icon for the Voicemail script type - a symbol that looks like a cassette tape - two circles sitting on a horizontal line.

The icon for the Work Item script type-a piece of paper with one corner folded down and a bullet list on it.

The icon for the SMS script type - a smart phone with a chat bubble coming out of it.


Email Chat Phone Voicemail Work Item SMS

Comparison of Similar Actions

The following actions have similar functions, but with some key differences: 

  • Runapp: Initiates custom functionality from the script, specifically launching a form, webpage, or application.
  • PopURL: Opens webpage URLs and provides options for the location and styling of the panel that pops the webpage.
  • Indicate : Extends the agent interface with custom functionality, specifically an icon that the agent clicks to initiate the custom function. This is similar to Runapp, except that with Indicate, the ActionType is initiated by the script rather than the agent.

Input Properties

These properties define data that the action uses when executing.




Select the recipient type from the drop-down: Agents, Team, Skill, Everyone, Contact. The Everyone option has been deprecated.


The ID of the target, such as an agent ID or a skill ID.


This property is the name or key used to identify the value. This can be any name or number. Names are not case sensitive. If you have multiple Indicate actions in use, this name is used to track which Indicate action is turned on or off.


The URL of an image file in the tenantClosed High-level organizational grouping used to manage technical support, billing, and global settings for your CXone environment directory on the CXone file server. This is the image that agents will click on. The file must be a GIF, JPG, or PNG and 16x16 pixels in size.

This property is required when using the Indicate action in Salesforce Agent or Salesforce Agent Lightning.

Warning A broken link for ImageFile can cause severe performance issues for the associated tenant. When using custom icons, it is important to verify that the link is accurate.


The text that appears when the mouse cursor hovers over the indicator icon or text.


A drop-down list of either On or Off to determine whether or not the indicator will be displayed. Typically, you need two indicate actions with the same name. One to enable the button, one to disable the button.

  • RunExe: Runs a local executable. This option uses a Java plugin that only works with Internet Explorer, which CXone does not support. This requires a local executable that resides in the Windows path or with the full path entered in the ActionValue field. The file path must include double back slashes (\\) in the path. For example, C:\\Program Files\\CXone\\studio.exe. Most modern browsers do not support running executable programs. If you want to use this type, ensure that your agents use a compatible browser.
  • OpenURL: Opens a default web browser to the URL specified in the ActionValue field.
  • SpawnScript: Spawns a script specified in the ActionValue field and pass parameters.
  • SignalScript: Signals a script specified in the ActionValue field and pass parameters.
  • ShowCustomForm: Launches a custom HTML form created in Studio. The captured data from the custom form will trigger the ONDATA event in the script.

The value needed by the specified ActionType. Variables are supported in this property by enclosing them in curly braes ( { } ).

  • RunExe: The name or path to a windows executable file. The file path must include double back slashes (\\) in the path. For example, C:\\Program Files\\MyCompany\\myApp.exe -h {ANI}.
  • OpenURL : Must be fully qualified domain name and URL. Query string parameters are supported. For example,{ANI}. You can also customize the title of the tab that pops up in the MAX interface by appending the icAgentPanelTitle= parameter to the URL.
  • SpawnScript : The name of the script that you want to spawn. The name must be the full path to the script (from the current directory of the running script). The script spawn parameter SkillID is required. The script cannot spawn without an ACD skill ID.
  • SignalScript : The ID of the running script that you want to signal. Typically you are spawning a related script and can use {ContactID} to signal the current script. Use {MasterID} to signal the parent script, or something like {SpawnID} to signal a child script.
  • ShowCustomForm : This field allows you to build a custom HTML form. Any standard form input fields may be used, including Input, Textarea, Password, Checkbox, Radio, Select, Button, and Submit. The <form> tags should not be included.
    • Each input field must contain a name. Fields without a name will be ignored. Example, <input type="text" name="phone">. Names and values will be returned to the script as variables using the Ondata action. If the script is missing the Ondata action then the form will be useless. Form fields that support multiple values, for example Checkbox and Select, will contain a comma-separated array.
    • Multiple submit buttons can be used using the same or different names, but any submit button will submit the data and close the window. If you want a button that doesn't submit, then use a button rather than a submit.
    • Linked stylesheets are not supported but inline styles are supported. For example, <div style="position: absolute: left: 10px: top: 100px:">.
    • Javascript will work when linked to an external javascript, but content must be HTTPS to avoid errors. For example:

    <script type="text/javascript" src=""></script>
    <INPUT TYPE="button" NAME="button" Value="Click" onClick="MyFunction(this.form)">

Result Branch Conditions

Result branch conditions allow you to create branches in your script to handle different outcomes when an action executes.




Path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the action's other branches are not defined.


Path taken when the action fails to execute properly. For example, when there is an unexpected problem such as poor connectivity, syntax errors, and so on. The _ERR variable, with a single underscore character, should be populated with a condensed explanation of the problem.

Tips and Tricks

Fieldset and Legend are supported for laying the forms out in a more readable fashion. Inline styles could be applied to the HTML entities. For example:

	<input type="radio" name="gender" value="male"/>Male
	<input type="radio" name="gender" value="female"/>Female<br/>

Script Example

This is an example to show how this action can be used in scripts. It is not intended to be a complete script. Additional scripting may be required.

This example demonstrates how to incorporate the Indicate action into a script. It includes examples of how to pass different types of data to the spawned script. An example of a spawned script is included in the downloadable ZIP file.

Download this script.