Routing report

Last Update: Sep 2025 • Est. Read Time: 5 MIN
To check plan availability, see the pricing page.

The Routing report lets you see your queues and how well they perform, monitor agent availability, and monitor customer wait time. This report also provides a simple way to see how many agents are online and their current status. You can see how many conversations are queued and waiting for the agent to accept. Here, you can view all your queues rolled up into a single report or on each individual level and easily group individual queues together.

We also report on the wait time of a conversation in a queue, which can be presented to chat users as a means of channel deflection.

Who can access this feature?
User typesManagers or users with custom permission set access to reporting can access this feature.


In this article:

To access the Queue report, select Reporting, and then select Routing.

Current Agent Statuses chart

This chart displays the current status of all agents that are online. If you create custom unavailable statuses they will display by name, but follow the unavailable definition.

The following statuses are available:

  • Available - Full Capacity Reached
    The available users in the queue who have reached their current conversation capacity.

  • Available - With Capacity
    The available users in the queue who are not yet at their conversation capacity.

  • Unavailable
    Users who are unavailable to receive routed conversations from a queue.

  • Busy 
    Users who are available, but in a call.

Current Conversation Statuses chart

This chart shows the status of conversations in the queue. Snoozed conversations are excluded.

The following statuses are available:

  • Assigned
    Conversations that have been routed and assigned to a user.

  • In queue
    Conversations that have been assigned a queue but not routed yet.

  • Wrap-up
    Conversations that have been assigned, and ended, but not marked done.

Routing report metrics

The report shows eight metrics that let you quickly see how your queues are performing.

The following metrics are shown: 

  • Available Agents
    Total number of agents in the queue in an available status.

  • Unavailable Agents
    Total number of agents in the queue in an unavailable or busy status.

  • Total Conversations
    Total number of conversations in the queue that are not routed or assigned. Snoozed conversations are excluded.

  • Conversations Per Available Agent
    Total number of assigned conversations currently in an Open or Wrap-up status divided by the total number of agents currently in an Available status.

  • The longest Wait
    The time the conversation has spent waiting in the queue the longest during the current 24-hour day.

  • Latest Wait
    The wait time of the last conversation to be routed to a user.

  • Average Wait
    The average of all wait times in the queue for the current 24-hour day.

  • Average Handle Time
    The average time a conversation routed from a queue was assigned to a user in an open status. This metric includes snoozed time.

Historical Queue reporting

On top of seeing queue performance in real-time, organizations can get a clear historical view of each queue. With this report, you can monitor how long customers wait in a queue to be assigned to an agent and how long it takes an agent to handle their conversation. You can also see how skill-based queues performed by selecting the Skill Metrics tab.

The following metrics are shown:

  • Agent Handle Time (Total & Average)
    The time an agent is assigned to a conversation from open to close, including snoozed.

  • Wrap-up Time (Total & Average)
    The time a conversation spends in wrap-up status between ending and closing.

  • First Routed Response time (Total & Average)
    The time from when a work item was accepted to when an agent sends the first reply.

  • Total Conversations
    The total number of conversations that entered a queue. Snoozed conversations are excluded.

  • Max Wait Time (Total & Average)
    The longest time a conversation waits in a queue.

  • Average Queue Time
    The time a conversation waits in the queue before being routed to an agent.

Organizations can also track how much time their agents spend in each status while working in queues. The time is broken down into Available, Unavailable, and Busy statuses. You can also see how many conversations were assigned to them in that timeframe.

The following agent metrics are shown:

  • Available Time Total
    The total amount of time a user spends in an Available Status.

  • First Routed Response time (Total & Average)
    The time from when a work item was accepted to when an agent sends the first reply.

  • Unavailable Time Total
    The total amount of time a user spends in any Unavailable Status.

  • Busy Time Total
    The total amount of time a user spends in the Busy Status (Voice on Call).

  • Agent Total Handled Items
    The number of conversations assigned to the user.

  • Wrap-up Time Total
    The total amount of time a conversation assigned to the user was in wrap up.

  • Queue Time Total
    Sum of all caller wait times in Kustomer Voice queues before being connected or abandoned. Represents the total queueing burden across the reporting period.

  • Missed Calls Total
    Kustomer Voice calls that fully exhausted the queue timeout duration without being answered, often leading to voicemail or caller abandonment.

  • Abandoned Calls Total
    Kustomer Voice calls where the customer hung up while waiting in the queue, before reaching the timeout threshold. Indicates early-stage customer abandonment.

Live Dashboard

For organizations that make their queue metrics available to their agents via TV or computer monitors, the Live Dashboard can be expanded for everyone to see. Select the [ ] icon from within the Queue report screen to expand the Kustomer interface for a full-screen view.

The Live Dashboard data refreshes every 15 seconds and includes a "Night Mode" option, accessible by selecting the icon in the top-left corner.

Note: The Live Dashboard is only available on Ultimate plans.

Filter results

This report offers four attributes in its filter component: Channels, Queues, Teams, and Users. It's important to understand how these filters will impact the data displayed.

  1. Channels will filter to work-items where the selected channel or channels is present.
  2. Queues will filter to a work item's most recent queue, as items can move from queue to queue within their lifecycle.
  3. Teams will filter to data whose Team relationship is the value selected, not to data where the assigned team is equal to the value selected.
  4. Users will filter the data where the assigned user is the selected value.

Metric calculations

Below, you'll find descriptions of the calculations for each metric, including the attributes used in their formation. These can be beneficial when rebuilding standard report metrics in your custom reports or referenced when building metrics or performing analysis outside the Kustomer platform with data sourced from our APIs or data services, such as Kinesis.

The Date Anchor is the attribute linked to the date range picker in each report's header that determines whether or not any objects that fit the calculation criteria will appear in your chart or table.

Metric
Calculation
Date Anchor
Current Agent Statuses

Filtered to work sessions where work_session.signedOutAt is not present, grouped by status

Available - Full Capacity Reached: capacityRemaining <= 0, statusId = available

Available - Partial Capacity: workItemCount > 0, routable = true

Unavailable (and custom unavailable statuses): routable = false

N/A; handled by signedOutAt filter
Current Conversation StatusesFiltered to work items where lastRevision.queueId exists, work_item.status is not 'completed', and work_item.paused is not 'true'
work_item.createdAt
Available Agents

Filtered to work sessions where work_session.signedOutAt is not present,

matching either:

Available - Full Capacity Reached: capacityRemaining <= 0, statusId = available

or

Available - Partial Capacity: workItemCount > 0, routable = true

N/A; handled by signedOutAt filter
Unavailable Agents
Filtered to work sessions where work_session.signedOutAt is not present and routable = false
N/A; handled by signedOutAt filter

Total Conversations
Filtered to work items where lastRevision.queueId exists, work_item.status is one of  'ivr', 'queued', and work_item.paused is not 'true'
work_item.createdAt
Conversations Per Available Agent
Distinct work_item.id where work_item.status is one of `assigned`,`wrap-up` divided by distinct work_session.id where statusType = `available`
N/A
Longest WaitMax of work_item.lastRevision.queueTime
work_item.lastRevision.acceptedAt
Latest WaitFirst item of work_item.lastRevision.acceptedAt sorted in descending order
work_item.lastRevision.acceptedAt
Average Wait
Average of work_item.lastRevision.queueTime
work_item.lastRevision.acceptedAt
Average Handle TimeAverage of work_item.handle.businessTime
work_item.lastRevision.acceptedAt
Queue metrics table
Agent Handle Time TotalSum of work_item.handle.businessTime grouped by lastRevision.queueId
work_item.handle.completedAt
Agent Handle Time AverageAverage of work_item.handle.businessTime grouped by lastRevision.queueId
work_item.handle.completedAt
First Routed Response Time TotalSum of firstRoutedResponse.businessTime, grouped by lastRevision.queueId
work_item.firstRoutedResponse.createdAt
First Routed Response Time AverageSum of firstRoutedResponse.businessTime, grouped by lastRevision.queueId
work_item.firstRoutedResponse.createdAt
Wrap-Up Time TotalSum of wrapUp.businessTime, grouped by lastRevision.queueId
work_item.wrapUp.enteredAt
Wrap-Up Time AverageAverage of wrapUp.businessTime, grouped by lastRevision.queueId
work_item.wrapUp.enteredAt
Total ConversationsDistinct work_item.id with resourceType: 'conversation', grouped by lastRevision.queueId
work_item.firstEnterQueueAt
Max Wait TimeMax of lastRevision.queueBusinessTime, grouped by lastRevision.queueId
work_item.lastRevision.acceptedAt
Average Queue TimeAverage of lastRevision.queueBusinessTime, grouped by lastRevision.queueId
work_item.lastRevision.acceptedAt
Agent Total Handled ItemshandledItemCount, grouped by lastRevision.queueId
work_item.handle.completedAt
Agent Metrics Table
Agent Total Handled Items handledItemCount, grouped by userId
work_item.handle.completedAt
Agent Handle Time AverageAverage of work_item.handle.businessTime grouped by userId
work_item.handle.completedAt
Agent Handle Time TotalSum of work_item.handle.businessTime grouped by userId
work_item.handle.completedAt
First Routed Response Time TotalSum of work_item.firstRoutedResponse.businessTime grouped by userId
work_item.firstRoutedResponse.createdAt
First Routed Response Time AverageAverage of work_item.firstRoutedResponse.businessTime grouped by userId
work_item.firstRoutedResponse.createdAt
Wrap-Up Time TotalSum of work_session.wrapUp.businessTime grouped by userId
work_session.wrapUp.enteredAt
Available Time TotalSum of work_session.totalAvailable.businessTime grouped by userId
work_session.totalAvailable.statusAt
Unavailable Time TotalSum of work_session.totalUnavailable.businessTime grouped by userId
work_session.totalUnavailable.statusAt
Busy Time TotalSum of work_item.totalBusy.businessTime grouped by userId
work_session.totalBusy.statusAt