Adjusted Handling Time gives you a more accurate picture of how long teammates actually spend working on conversations. Unlike traditional handling time, which counts all time from when a conversation is assigned to when it's closed, including periods of inactivity, Adjusted Handling Time tracks only the moments a teammate is genuinely engaged.
The clock starts when a teammate opens an assigned conversation in the browser, and pauses when they switch to another conversation, or when the conversation is snoozed, reassigned, or closed. It also pauses if the teammate becomes inactive and is automatically set to away.
Note: Adjusted Handling Time is in open beta. Please reach to us if you'd like to enable this on your workspace.
How it works
The clock starts when a teammate opens a conversation in their Inbox and keeps running until one of the following happens: they switch to another conversation, the conversation is snoozed, closed, or reassigned, or they go auto-away due to inactivity. Only the time the teammate is actively present in the conversation counts.
A typical scenario
A teammate handling their morning queue:
9:00 — A new conversation lands in the teammate's inbox. It's assigned but the teammate hasn't opened it yet. The clock is not running.
9:02 — The teammate clicks into the conversation and starts reading. Clock starts.
9:08 — They need more context, so they switch to another conversation from the same customer. Clock pauses on the first conversation, clock starts on the second.
9:12 — They've got what they need and switch back to the first conversation. Clock resumes on the first, pauses on the second.
9:14 — While drafting a reply, they open Jira in another browser tab to check a related ticket. Clock keeps running — they're still on the conversation in Intercom.
9:18 — They send the reply and snooze the conversation for follow-up tomorrow. Clock pauses.
This results in the first conversation logging 10 minutes of handling time (9:02→9:08 + 9:12→9:18).
What counts as handling time
The clock runs whenever the conversation is the active conversation in the teammate's Inbox — including when:
The conversation is open and visible in the Inbox
The teammate is typing a reply, writing a note, or reading through the thread
The teammate alt-tabs to Slack, Jira, or another browser tab
The clock pauses when:
The teammate clicks into a different conversation
The conversation is snoozed, closed, or reassigned
The teammate is automatically set to away due to inactivity
Auto-away
If a teammate is inactive and gets automatically set to away, the clock pauses on their active conversation. Auto-away pausing is configurable in Settings and is disabled by default. This can be enabled in Settings > Assignments if needed.
Reporting
Adjusted Handling Time is available in custom reports alongside standard handling time metrics. All standard reporting capabilities — filtering, segmentation, CSV exports, charts, and aggregations — work with these metrics.
Metric | Dataset | Description |
Adjusted Conversation Handling Time | Conversations | Total time all teammates spent handling a conversation, excluding idle periods. Available once the conversation is closed. |
Adjusted Teammate Handling Time | Teammate Handling Conversation | Time a specific teammate spent on a conversation, excluding idle periods. Supports an in-office-hours variant. |
API
Adjusted handling time in the Conversation API
If you're building a custom integration or need to pull handling time data programmatically, the GET /conversations/:id endpoint includes adjusted_handling_time in the statistics object.
{
"statistics": {
"handling_time": 2310,
"adjusted_handling_time": 1800
}
}Values are in seconds. When there's no idle time, adjusted_handling_time equals handling_time. This field is only populated once the conversation is closed.
Handling events endpoint
GET /conversations/:id/handling_events returns the full list of pause and resume events for a conversation. This endpoint is useful if you need to monitor handling activity in real time, run custom handling time calculations, or build analytics beyond what the adjusted metric provides. It can be called at any point during a conversation's lifetime — not just after it's closed.
Each event includes the teammate, event type (paused or resumed), timestamp, and — for pause events — a reason.
{
"handling_events": [
{
"teammate": { "id": 123, "name": "..", "email": ".." },
"type": "paused",
"timestamp": "2024-01-15T09:00:00Z",
"reason": "snoozed"
},
{
"teammate": { "id": 123, "name": "..", "email": ".." },
"type": "resumed",
"timestamp": "2024-01-15T09:12:00Z"
}
]
}
Pause reasons:
switch — teammate navigated to a different conversation
close — conversation was closed
snooze — conversation was snoozed
reassign — conversation was reassigned to another teammate
auto_away — teammate was automatically set to away due to inactivity
Note: The handling events endpoint is currently unstable. It is useful for custom integrations and advanced analytics, but the response shape may change.
Troubleshooting
Adjusted Handling Time is tracked from the browser. In the vast majority of cases this is accurate, but events may occasionally be dropped in rare scenarios — such as an unexpected browser shutdown, laptop memory wipe, or lost internet connection. When this happens, the metric automatically falls back to traditional handling time so you're never left without a value.
Conversations created before the workspace opt-in date do not have handling events. Allow new conversations to collect events before expecting accurate metrics.
Tip: Use modern browsers like Chrome or Firefox for reliable event tracking.
FAQs
Does Adjusted Handling Time work for tickets?
Does Adjusted Handling Time work for tickets?
Adjusted Handling Time works for conversations and customer tickets. It does not work for back-office tickets, tracker tickets, or side conversations.
Does writing in a Back-office ticket pause the customer ticket's clock?
Does writing in a Back-office ticket pause the customer ticket's clock?
Writing in a back-office ticket does not pause the customer ticket's clock. Only switching to another customer conversation triggers a pause.
What if the same conversation is open in multiple tabs?
What if the same conversation is open in multiple tabs?
Adjusted Handling Time does not double-count when the same conversation is open across multiple tabs or devices — overlapping resume and pause events are merged automatically.
Can I use Adjusted Handling Time in all the same ways as regular handling time in reporting?
Can I use Adjusted Handling Time in all the same ways as regular handling time in reporting?
Adjusted Handling Time supports all the same reporting operations as regular handling time — including filtering, segmentation, export, charts, and aggregations.
Will handling events appear in the conversation timeline?
Will handling events appear in the conversation timeline?
Handling events do not appear in the conversation timeline. Handling events are only accessible via the API handling events endpoint.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


