Agent handle time by channel with assignment session open-status duration
When a ticket is assigned to an agent and sitting in an Open status, that agent owns it. Under Zendesk omnichannel routing, that ownership is not just a reporting detail — every open ticket assigned to an agent counts against their capacity and blocks the router from handing them new work. So the time a ticket spends open during one agent's assignment is the closest thing Zendesk gives you to a true handle time.
Qvasa measures that as assignment session open-status duration, and it is now available per channel — Email, Messaging and Talk — as well as account-wide. An email session and a phone session are not comparable, so a single blended number hides exactly the thing you want to manage.
What an assignment session is
An assignment session is one continuous stretch during which one agent was assigned to one ticket. If a ticket is passed from Alice to David and later back to Alice, that is three sessions, not two agents — Alice's two turns are measured separately and both count.
Within a session, this metric counts only the time the ticket actually spent in an Open status. Time the session spent Pending, On-hold or Solved is excluded, so waiting on the customer never inflates an agent's number.
Sessions are scoped in by when the assignment ended. A session that started in June and ended in July counts in July. Sessions still in progress are not counted until they finish.
Only sessions that spent time in an Open status are included. A ticket that was assigned and reassigned without ever being open contributes nothing.
Every assignment counts individually. Unlike ticket-level metrics, the same agent assigned to the same ticket three times is three data points.
The channel comes from the session itself, not from the ticket's channel today. A session counts toward the channel the ticket was on at the time.
If your account uses custom ticket statuses, the widget titles use your own name for the Open status category rather than the word "Open".
Why this is the handle time to watch for omnichannel routing
Zendesk's omnichannel router allocates work against an agent's capacity per channel. Open tickets already assigned to an agent consume that capacity — an agent holding several long-running open email tickets can be effectively full while looking idle. Measuring how long tickets stay open during each agent's assignment tells you, per channel:
how long a unit of work actually occupies an agent, which is what capacity settings should be tuned against;
which agents hold work open far longer than their peers on the same channel — a fair comparison in a way that a blended number is not;
whether a change (a macro, a policy, a new team) moved handle time on one channel without disturbing the others.
It is deliberately narrower than first reply time or full resolution time: those include the customer's thinking time. This one is agent-owned time.
The metric family
Every cut comes in an average and a median flavour. Use the median when a handful of very long sessions are dragging the average around.
Quick stat — one number for the range, with a period-over-period comparison and drill-ins to the underlying tickets and agents.
Donut chart by agent — every agent's number side by side for the range. The same metric is also available as an Agents table column.
Basic chart over time — the trend, bucketed by your chosen time unit.
Multi data chart by agent over time — one line per agent, so you can see an individual's trend rather than just their standing.
Each of those four surfaces exists account-wide and pinned to a channel:
Email — Zendesk's canonical support channel: email, web form and API tickets.
Messaging — Zendesk folds live chat into messaging, so there is no separate Chat cut.
Talk — phone.
Comparing agents within one channel
The by-agent donut is the fastest way to answer "who is slow on email?" — and, put next to another channel, it shows that the answer is different per channel. The same roster can rank quite differently on Talk than on Email, which is exactly why a blended handle time misleads.
Any dashboard filter you apply narrows these widgets the way you would expect — filtering to a group, a set of agent tags or an agent's email domain filters on the session's own agent, so a colleague who happened to touch the same ticket is not pulled in with them.
Watching the trend
The over-time chart buckets each session into the period its assignment ended in — the same population the quick stat and the donut count, just spread across the range. Set Time unit in the widget's configuration to choose the duration unit the y-axis is drawn in (minutes usually reads best for email, seconds for talk).
Adding the widgets to a dashboard
Edit a dashboard, click Add Widget, then pick the widget type you want and find the metric in its section:
Quick stat → Ticket Assignment Metrics
Donut chart → Granular Assignment Session Metrics
Basic chart → Ticket Management
Multi data chart → Agent Metrics
Or type into the search box at the top of the list — "assignment session", "open status duration", "email AHT" and "handle time" all find the family.
Auditing the numbers
The quick stats carry both drill-ins: the magnifying glass opens the tickets behind the number, and the agents drill-in lists every distinct agent whose finished session spent time in the Open status during the range. The charts export to CSV from the widget's own icon.
One thing to know about history
The channel is stamped onto each assignment session as the session is recorded, and that stamping started when this feature shipped. Sessions recorded before then carry no channel at all, so they belong to none of the three channel cuts.
In practice: for older date ranges the channel widgets can show less volume than the account-wide pair, and the three channels will not add up to the account-wide total. Recent ranges are unaffected, and the gap closes as history rolls forward. The account-wide Average / Median Assignment Session Open-Status Duration widgets always show the complete picture.
Troubleshooting
"No Talk (talk) Zendesk channel found for this account." Your account has never had a ticket on that channel, so there is nothing to pin the metric to. On the Agents table the same situation renders as a not enabled cell. If you do use the channel, it will start reporting once the first ticket arrives on it.
The three channels don't sum to the account-wide number. Expected on ranges that reach back before channel stamping began — see the section above. It is also expected whenever a session was recorded on a channel outside these three.
The number looks lower than your idea of handle time. This metric deliberately excludes Pending and On-hold time. If you want elapsed ownership regardless of status, use Average Assignment Session Duration instead.
An agent's average is dominated by one enormous session. Switch the widget to the median variant, which is built for exactly that.




