Get Agent Status

This topic provides an overview of the Get Agent Status component, and describes its configuration, variables, as well as supported connections.

Component introduction

Get Agent Status component allows you to query current status of a specific agent in a specific queue, including the agent's login status, call status, and ringing status.

You can either select the queue and agent directly, or configure expressions to dynamically specify the target queue and agent. The query results are stored in variables, which can be used as input for subsequent components or for condition evaluation.

Component configuration

  1. After adding Developer component to a call flow, click Developer component to proceed with the configuration.

  2. In the Component Type drop-down list, select Get Agent Status.

  3. Specify the target queue using one of the following methods.

    • Queue: Select a specific queue from the drop-down list.
    • : Click the icon to configure an expression.

      For example, enter $UserInput1.userInput to retrieve the queue number that the caller entered.

      Note: For more information about the expression, see Variables and Functions in Yeastar Expression.
  4. Specify the target agent using one of the following methods.

    • Agent: Select a specific agent from the drop-down list.
    • : Click the icon to configure an expression.

      For example, enter $Session.ani to use the caller's number (Caller ID) as the target agent.

      Note: For more information about the expression, see Variables and Functions in Yeastar Expression.
  5. At the bottom-right corner, click Confirm.

Component variables

When a Get Agent Status component is added to a call flow, the system stores agent status in variables. These variables can be referenced in expression-supported components, such as Condition or Developer, to retrieve the agent status and respond accordingly based on the result.

Note: Since Get Agent Status component can be added multiple times in a call flow, an index is appended to each component (e.g. Get Agent Status 1, Get Agent Status 2) based on the order in which the components are added. To retrieve data from the right component, the component variable must contain the corresponding index.
Variable Type Description Example Value
$GetAgentStatus{index}.currentProfile String Name and additional information of the agent's current status.
Note: When using functions to evaluate an agent's status, ensure that the status constant matches one of the supported values listed below.
  • Status for Static Agents:
    • "Pause{pause_reason}"
    • "Unpause"
  • Status for Dynamic Agents:
    • "Log In"
    • "Log Out"
    • "Pause{pause_reason}"
"Log Out"
$GetAgentStatus{index}.isInCall Boolean Whether the agent is currently on a call.
  • True: The agent is on a call.
  • False: The agent is NOT on a call.
True
$GetAgentStatus{index}.isInRing Boolean Whether the agent's extension is currently ringing.
  • True: The agent's extension is ringing.
  • False: The agent's extension is NOT ringing.
True

Component connections

Get Agent Status component can be connected to one component, which can be any of the components listed below.

Component Description
Prompt

Prompt component allows you to play audio prompt(s) or a text-to-speech message to callers.

For more information, see Prompt.

Business Hours

Business Hours component allows you to route calls to different destinations based on the time of day.

For more information, see Business Hours.

Menu Menu component allows you to present callers with a set of menu options, and route calls based on the DTMF digit they press.

For more information, see Menu.

User Input

User Input component allows you to collect DTMF digits from callers, typically used with Condition component to evaluate user input and route calls.

For more information, see User Input.

Language

Language component allows you to change the system prompt language for subsequent components in a call flow.

For more information, see Language.

Record Record component allows you to start recording a call upon the caller being connected to another participant, and optionally configure prompts to inform call participants at the start and during the recording. Alternatively, you can use the component to disable call recording for calls that are supposed to be recorded.

For more information, see Record.

Dial by Number

Dial by Number component allows callers to directly dial a number to reach the destination.

For more information, see Dial by Number.

Dial by Name

Dial by Name component is one of the end components to terminate caller's connection to the current call flow. It allows callers to reach extension user by entering the first three letters of the user's name.

For more information, see Dial by Name.

Transfer

Transfer component is one of the end components to terminate caller's connection to the current call flow. It allows you to transfer callers to a designated destination, and optionally configure prompts to inform them of the transfer.

For more information, see Transfer.

Hang Up Call

Hang Up Call component is one of the end components to terminate caller's connection to the current call flow. When callers are routed to the component, the call will be disconnected.

For more information, see Hang Up Call.

Condition Condition component allows routing calls based on logical expressions.

For more information, see Condition.

Loop Loop component allows a group of components to be executed repeatedly, either for a specified number of times or until a condition is met.

For more information, see Loop.

Developer Developer component allows you to query and update data from PBX-native database or third-party database.