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

ReqAgent action icon


Requests an agent with a specific skillClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge to handle an active contact. You can request an agent with a specific proficiency in the skill. You can also define how priorityClosed Skill-based designation of the importance of contacts that determines delivery order. management works for the contacts this action handles.

If an agent is immediately available, the contact is routed to that agent. If the agent is not available, the contact is placed in queue. The OnAnswer event triggers when an agent starts the interaction with the contact.

Reqagent is the point in the script where the contact moves from the Prequeue state to the Queued state. When a contact is in queue, you can define a sequence of actions that happens while the contact waits for an agent. You can also define logic to handle scenarios such as when the contact has waited a certain amount of time. The Tips and Tricks section provides examples of things you can include in a holding pattern.

If you want to adjust the proficiency required in the specified skill based on the length of time the contact stays in the queue, add the UpdateContact action to your script. Typically, a Music action would be placed between Reqagent and UpdateContact.

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

Reqagent can also be used with digitalClosed Any channel, contact, or skill associated with Digital Experience. media type scripts, but it has a separate help page.

Input Properties

These properties define data that the action uses when executing.

You can use variable substitution in all of the properties of this action.




Change the Caption to something that uniquely identifies this action in the script. The IVR Press Path report includes the action name and caption. Descriptive, unique captions make the reports easier to read and understand.

Skill Select an ACD skillClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge. If you select Default, the script uses the default skill assigned to the associated point of contactClosed The entry point that an inbound contact uses to initiate an interaction, such as a phone number or email address.. Variable substitution is commonly used for this property.

Allows you to have a specific agent handle interactions for this action. This is helpful if you have an agent who is an expert in one niche field, for example.

Select an agent from the dropdown. You can also enter a variable in this field, such as {AgentId}.

If the target agent is unavailable, CXone queues the contact until the target agent becomes available.


Allows you to specify how you want priority management handled for this action.

The default is DefaultFromSkill. This means the script uses the priority management defined in the Skill you selected.

Select Custom if you want to override the priority settings for the skill and specify different handling. Set the levels you want this action to use in the InitialPriority, Acceleration, and MaxPriority fields.


Specify the base priority of the contact as it enters the system. You only need to complete this field if you are defining Custom PriorityManagement for this action.


Determines how quickly the priority increases with every minute the contact stays in queue. The default value is 1. The minimum value is 0 and the maximum priority is the value configured in the MaxPriority property.

For example, if the InitialPriority is 4 and you set Acceleration to 1, then with each passing minute that the contact is not handled, the priority increases by one. If the contact is still in queue after three minutes, the priority will be raised to 7.

You can set InitialPriority for one skill lower than for another skill, but if you set Acceleration for that skill higher, it can jump spots in the queue. For example, you set Skill A's InitialPriority to 1 and Acceleration to 5. You set Skill B's InitialPriority to 3 and Acceleration to 1. Initially, a contact for Skill B will be first in queue because it has a priority of 3, but after one minute, a contact for Skill A will take its place at the top because its priority will be 6.

CXone combines the acceleration value with the time the interaction has been in queue and the initial priority using the formula Overall Priority = (Time * Acceleration) + Initial Priority.

You only need to complete this field if you are defining Custom PriorityManagement for this action.


Specify the maximum priority that a contact using this skill can have. You only need to complete this field if you are defining Custom PriorityManagement for this action.

If a contact reaches max priority, priority is the only factor CXone uses to route the contact. This can cause issues if multiple contacts all reach max priority at the same time.


Allows you to customize the audio cue given to agents when they have a new contact.

The audio cue can be an audio file or a text-to-speechClosed Allows users to enter recorded prompts as text and use a computer-generated voice to speak the content. prompt. The cue can also be a combination of both.

If you want to use an audio file only, enter the name of the file enclosed in double quotes. For example, "newContact.wav". You can upload an audio file to Studio to use for this action. You can use a variable instead of naming a specific audio file.

If you want to create a more complex notification, you can use the Sequence Editor in the Play action. When the prompt is finished, copy the contents from the Sequence property in the Play action into the Sequence property in this action.

If you don't specify an audio file, the action uses the default zip tone. If you don't want to use an audio cue, set ZipTone to No ZipTone.


Select when you want the zip tone sound played to alert the agent of a new contact. Options are:

  • No ZipTone: The system does not play a zip tone.
  • After Sequence: The system plays a zip tone after the audio file defined in the Sequence property.
  • Before Sequence: The system plays a zip tone before the audio file defined in the Sequence property.

Select the source for screen popsClosed A configurable pop-up window with information about the contact. It appears on an agent's screen after a certain event, usually when the agent connects to a contact. displayed to the agent. Complete this field only if you want to incorporate screen pops into this action. Options are:

  • DefaultFromSkill: Uses the screen pop settings for the selected Skill. This is the default value.
  • UseOnPageOpen: Runs the Onpageopen action.
  • Custom: Uses the URL you provide in the ScreenPopURL property.

Specify the URL you want opened for the agent as a screen popClosed A configurable pop-up window with information about the contact. It appears on an agent's screen after a certain event, usually when the agent connects to a contact.. Variable substitution is commonly used for this property.

The URL must be complete, including the http://. For example,

You can append additional information to the end of the URL using variables from Assign actions earlier in the script. The ScreenPop property of the Assign action must be set to True for each variable you want to append to the URL. You also need to modify the ScreenPopURL to include the variables as parameters. Use this format:

You can customize the title of the tab that pops up in the MAX interface by appending the icAgentPanelTitle= parameter to the URL.

The URL specified in this property opens in the default browser. The screen pop appears for the agent when the ACD decides to route the contact to that agent and changes the contact's state to Routing. If you want screen pops to appear at a different time during an interaction, you can use the Runapp action.


Enter the highest skill proficiency an agent can have to receive a contact from this action. Proficiency values are whole numbers from 1 to 20, with 1 being the best and 20 being the worst.


Enter lowest skill proficiency an agent must have to receive a contact from this action. Proficiency values are whole numbers from 1 to 20, with 1 being the best and 20 being the worst.


Select the specific attribute to use in the routing criteria. When requesting agents, only agents with the specified Skill and RoutingAttribute combination are selected to receive contacts. Use the UpdateContact action to change or remove the routing attribute later in the script. The default option is Not Applicable. Variable substitution is commonly used for this property.

Result Branch Conditions

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




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


The path taken when the action doesn't execute properly. For example, when there's an unexpected problem, such as poor connectivity, syntax errors, HTTP error codes, and so on. The ERR variable should be populated with a condensed explanation of the problem.

Specific Use Case: A second Reqagent action in the script attempts to change the contact's skill. If the contact is actively routing to an agent when the skill change is attempted, it goes to the OnError branch.

Tips & Tricks

  • You can place actions after Reqagent to create a holding pattern. Common things to include in a holding pattern are:

    • Playing prompts and music.

    • Providing the current queue count.

    • Providing the current estimated wait time.

    • Offering the option of leaving a voicemail.

    • Performing a blind transfer after a certain amount of time.

    • Changing skill proficiency and other settings to increase the pool of available agents the longer the contact waits.

    • Fallback logic.

  • As soon as the contact is in the Routing state, the __agentID variable is present in the script.
  • This action adds a large number of pre-defined variables to the script. You can do a trace on the script to see what variables are present. If you have previously added these variables to your script, they are overwritten when the script gets to Reqagent.
  • You can use bullseye routing routing to dynamically increase or decrease the pool of available agents. To do so, establish skill proficiency, a routing attribute, or both in the Reqagent action. Then use an UpdateContact action to change those values when specific criteria are met.
  • If you use CXone WFM, review the documentation for your CXone WFM product before you set up bullseye routing. Determine the best practices and potential forecasting impacts of using bullseye routing with proficiency ranges, routing attributes, or both.

    • If you use IEX WFM, review the Distribution Rules Guide.
    • If you use CXone WFM, review the online help.

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.

In this example, Begin triggers a Menu, which uses synthesized text to tell the caller to press 1 to speak to a contact center agent. If an agent is not immediately available, a loop plays music for 30 seconds, waits for five seconds, and repeats until an agent answers the call.

Sample script using these actions in order: Begin, Menu, Reqagent, Music, Wait

Would you like to download this script?