These docs are for v0.0.1. Click to read the latest docs for v1.0.61.

Asynchronous Queue Metrics

Access queue metrics via callback

Overview

What are Queue Metrics?

A queue is used to identify a pool of contact center agents for which Customer engagements can be matched and routed. Queue Metrics are a collection of metrics associated with this queue, such as the number of agents that are ready, the number of agents that are busy, and the expected wait time.

A Match Queue is made up of:

  • Queue Id - The unique queue identifier generated when the Queue is created.
  • Channel Id - The unique Contact Center Channel identifier, see Avaya Experience Platform™ Channels for a list of supported channels.
  • Attributes - A list of attributes used to describe the skills of the agent. Engagements are typically routed to a suitable agent that matches the attribute combination of the queue. Queue metrics for queues with attributes may be less favourable than queue metrics without attributes, as only a subset of the agent pool may be configured to handle requests with the additional attributes.
  • Priority - When Priority is specified the Engagement metrics returned will be for engagements with the specified Priority in that Queue, is if not specified then the Engagement metrics returned will be an aggregate of all the Engagements across all priorities currently in Queue. Metrics for higher priority requests against a queue will have more favourable queue metrics (e.g. lower queue wait times). Match requests made with a higher priority will be handled before lower priority requests. The smaller the number meaning the higher the priority.

Types of Queue Metrics

Metric NameDescription
CompletedEngagementCountThe number of engagements associated with the queue that have been completed by an agent
AgentStaffedCountThe number of agents who could be assigned an engagement from this queue
AgentReadyCountThe number of agents who are 'ready' to be assigned an engagement from the queue
AgentBusyCountThe number of agents currently 'not ready' to be assigned an engagement from the queue ie. dealing with an active engagement or not available
WaitingEngagementCountThe number of engagements associated with the queue that have yet to be accepted by an agent
ProcessingEngagementCountThe number of engagements associated with the queue that have been accepted by an agent and have yet to be completed
OldestEngagementWaitingThe amount of time in seconds that the oldest engagement associated with an agent has been waiting to be answered
RollingAverageSpeedOfAnswerThe average amount of time in seconds it takes to answer an engagement associated with the queue
ExpectedWaitTimeThe estimated amount of time in seconds that engagement associated with a queue is expected to be waiting to be answered
QueueOccupancyThe percentage ratio of busy agents to staffed agents associated with the queue

Querying Metrics

The following is an example of a payload to request metrics via the Asynchronous Queue Metrics API, where a client creates a request to receive a one-time callback for queue metrics based on the requested queue, channel, attributes and priority.

{
  "correlationId": "d0d75f4f-4634-46d0-bc30-7b781f92e4c0",
  "callbackUrl": "https://www.example.com/metrics",
  "matchQueue": {
    "queueId": "bea76b16-5aff-4cd6-8db0-5d8d649dd865",
    "channelId": "Voice",
    "attributes": [
      "Language.English"
    ],
    "priority": 3
  }
}

Sample callback response:

{
  "accountId": "ABCDEF",
  "correlationId": "d0d75f4f-4634-46d0-bc30-7b781f92e4c0",
  "matchQueue": {
    "queueId": "bea76b16-5aff-4cd6-8db0-5d8d649dd865",
    "channelId": "Voice",
    "attributes": [
      "Language.English"
    ],
    "priority": 3
  },
  "metrics": [
    {
      "metricName": "AgentStaffedCount",
      "metricValue": "10"
    },
    {
      "metricName": "AgentReadyCount",
      "metricValue": "5"
    },
    {
      "metricName": "AgentBusyCount",
      "metricValue": "5"
    },
    {
      "metricName": "WaitingEngagementCount",
      "metricValue": "2"
    },
    {
      "metricName": "ProcessingEngagementCount",
      "metricValue": "3"
    },
    {
      "metricName": "CompletedEngagementCount",
      "metricValue": "2"
    },
    {
      "metricName": "OldestEngagementWaiting",
      "metricValue": "30"
    },
    {
      "metricName": "RollingAverageSpeedOfAnswer",
      "metricValue": "10"
    },
    {
      "metricName": "QueueOccupancy",
      "metricValue": "100"
    },
    {
      "metricName": "ExpectedWaitTime",
      "metricValue": "10"
    }
  ]
}