Skip to main content

Tickets reporting

Explore your tickets report and create your own custom reports using ticket data.

Written by Beth-Ann Sher

Use this article to set up tickets reporting, read and customize the prebuilt Tickets and Tickets lifecycle report templates, filter your data, and report on time spent in each ticket state using custom reports.


Create a tickets report

Go to Reports and create a new report, then select the Tickets template to get started quickly. Once selected, the report opens with 14 prebuilt charts covering ticket volume, resolve times, and assignment data.

The Reports page showing the Create a new report modal, with the Tickets template card highlighted in the bottom row alongside Tickets lifecycle, Fin for Ecommerce, Fin for Service, and other report templates.

You can also use a range of ticket metrics and attributes to create your own custom report on the Advanced or Expert plan.

What the Tickets report template includes

  • Ticket time to resolve

  • Ticket time to resolve in office hours

  • Ticket time to resolve in Team office hours

  • Ticket time in submitted

  • Ticket time in progress

  • Ticket time in waiting on customer

  • Ticket time to resolve - by time

  • Ticket time to resolve - by team assigned

  • Ticket time to resolve - by teammate assigned

  • New tickets

  • Resolved tickets

  • Comparison of New and Resolved Tickets

  • Ticket volume - by team assigned

  • Ticket volume - by teammate assigned

The Tickets report template opens with the following charts pre-built:

The Tickets prebuilt report showing four median ticket time metric cards at the top — Ticket time to resolve (1d 2h), Ticket time in submitted (1h 6m), Ticket time in progress (10h 30m), and Ticket time in waiting on customer (20h 24m) — and a line chart for Ticket time to resolve by time below.

How to read the information on each chart

Hover over the information icon at the top of a chart to see reporting period, report level filters, metrics, and metric level filters applied to each chart.

The Tickets report with the information tooltip open on the Median ticket time in progress chart, showing the reporting period (November 7–December 4, 2024), report level filter (Ticket type is Any), metric name (Ticket time spent in progress), aggregation (Median), timestamp (Ticket created), and metric level filters (None).

Customize the tickets report template

The tickets report template is fully customizable, enabling you to add more charts from the chart library, or remove charts you don't need in this report. All charts can be resized and moved around to where you want them.

The Tickets report in edit mode with the Add a chart panel open on the right. The panel shows a search field pre-filled with 'ticket' and a list of available chart templates including New tickets, Resolved tickets, Comparison of New and Resolved Tickets, and Ticket volume.


Tickets lifecycle report

The Tickets lifecycle report shows how long tickets sit with each team and each teammate, and how they move between teams. It's built on a new dataset — Ticket assignments — where one row equals one assignment visit, not one ticket.

The Create a new report modal with the Tickets lifecycle template card highlighted. The card description reads: 'See how long tickets sit with each team and teammate, and how they move between teams.'

Open the prebuilt report

Go to Reports and create a new report. Select the Tickets lifecycle template — it contains all seven charts so you don't have to build anything from scratch.

The prebuilt report includes:

  • Median ticket time per assignment — by team

  • Median ticket time per assignment — by teammate

  • Median ticket time per assignment — by assignment order

  • Ticket time per assignment (team office hours) — by team

  • Ticket handoffs — by previous team and assigned team

  • Tickets handed off — by team

  • Ticket handoff Sankey — how tickets move between teams

What the Ticket assignments dataset metrics mean

The Tickets lifecycle report is built on the Ticket assignments dataset — a dataset where each row represents one assignment visit, not one ticket. It contains four metrics:

Metric

What it answers

Ticket time per assignment

How long a ticket sat with each team or teammate

Ticket time per assignment (team office hours)

Same as above, measured within the assigned team's office hours only

Ticket handoffs

Total number of moves between teams or teammates (including within the same team)

Tickets handed off

Unique count of tickets that were handed off at least once

Tip: Use median rather than mean when analyzing duration metrics — a single long unassigned visit can distort averages significantly.

How the Ticket handoff Sankey chart works

The Sankey chart draws every path tickets took between teams, end to end. Each column is one handoff hop. A few things to know about how it works:

  • It follows each ticket through at most its first 8 reassignments

  • Each column shows the top 6 teams by volume; smaller teams are grouped into an "Other teams" node

  • Unassigned always appears as its own node — hiding it would show a direct handoff that never happened

  • If a ticket returns to the same team, it appears as one node with a count — not a second node

  • The chart cannot be edited; use the other charts in the report to slice the same data

  • The Sankey does not render in snapshots, scheduled reports, or exports — bar, column, and table charts do

Build your own ticket assignment charts

Go to Reports > New report > Create your own > Add chart. Choose a metric from the Ticket assignments dataset and set your breakdown using View by and Segment by. The Sankey is available in the chart-template picker under Tickets.

Useful breakdown combinations:

  • Time per team: Ticket time per assignment, View by Assigned team

  • Time per person: Ticket time per assignment, View by Assigned teammate

  • Where time is lost: Ticket time per assignment, View by Assignment order

  • Team ping-pong: Ticket handoffs, View by Previous team, Segment by Assigned team

Filter your tickets report

Take a deeper dive into your tickets report by using the filters at the top of your report to specify a date range, select a ticket type, or filter by a specific data attribute.

The Tickets report with the Add filter dropdown open, showing a search field containing 'teammate' and a list of filter options grouped by category: Conversation rating attributes (Teammate rated, Teammate replied before rating request), Conversation standard attributes (Last teammate rating), Teammate attributes (Last teammate rated, Teammate, Teammate currently assigned, Teammate replied to), and Conversation custom attributes.

You can add multiple filters for more granular reporting.

The participation by teammate filters only counts human visible parts only. This means when a teammate posts a note it doesn’t count towards participation within the ticket.

Report on time spent in each ticket state

You can use the Ticket time in state dataset to report on time spent in each ticket state. This includes a "Ticket time spent in all states" metric and additional reporting attributes to filter and segment your custom report.

To maximize the benefits of this feature, customize and add new ticket states to align with your business processes.

A Ticket states report showing a table with Ticket time to resolve broken down by week, with columns for Week and Average ticket time to resolve. Rows show results for November 11 (3d 19h), November 18 (1d 8h), November 25 (5d 3h), and December 2 (no data yet).

Note: This functionality requires custom reports which are available on the Advanced and Expert plan only.

To report on ticket time spent across states in a custom report:

The Add a chart panel in a custom report with 'Create your own' selected, showing the chart builder with the Ticket time in state dataset selected and the Ticket time spent in all states metric added with Average aggregation.

Step 3 — select the Ticket time spent in all states metric:

The chart builder showing a bar chart of Average Ticket time spent in all states by week, with the Ticket time spent in all states metric selected and Average aggregation applied.

Step 4 — add a Ticket type filter to scope results to specific ticket types:

The chart builder with a Ticket type filter applied (Bug Report), showing the same bar chart now filtered to display only Bug Report ticket data.

Step 5 — to see time broken down by individual ticket state, set View by or Segment by to Ticket custom state:

The chart builder with Ticket custom state selected as the View by attribute, producing a bar chart that shows ticket time broken down by each custom state value.

Step 6 — to break down by state category instead, use Ticket state category as the attribute:

The chart builder with Ticket state category selected as the View by attribute, producing a bar chart that groups ticket time by state category (for example, Open, In Progress, Resolved).

Step 7 — to filter to a single state, add Ticket custom state as a filter. To see only pre-resolve states, add a filter Ticket custom state is not [your resolved states]:

The chart builder with a Ticket custom state filter applied excluding resolved states, so the resulting bar chart shows only time spent in pre-resolve states.

Note: You won't be able to use these attributes to segment time to resolve by these "Ticket custom state" attributes.

In order to understand the time each ticket spent in each state before resolve, segment the metric “Ticket time spent in all states” by “Ticket custom state” and add a filter “Ticket custom state is not [resolved states]”. 👇

The chart builder showing the final configuration: Ticket time spent in all states metric, segmented by Ticket custom state, with a filter excluding resolved states — and the resulting bar chart showing time per pre-resolve state.

Note: The "Ticket time spent in all states" metric does not take into account office hours. This limitation only applies to this metric, not all metrics.


FAQs

Is there a way to calculate ticket re-open rate?

Ticket re-open rate is not a built-in, visible metric in Intercom. You won't find a "re-open rate" percentage or chart in the standard Intercom reports or dashboards.

What you can see:

  • You can track the number of "Reopened conversations" in Intercom's reporting, but this is a metric — not a filterable status. You can't filter a report by "reopened" from the filter dropdown.

  • For tickets, there's no equivalent built-in reopened tickets metric — the conversation-level "Reopened conversations" metric is the closest available option.

How to visualize reopened conversations in a report:

  • Native reports: Use the Add chart menu in any pre-built report and search for "Reopened conversations" to add it as a chart.

  • Custom reports: When building a custom report chart, add "Reopened conversations" as a metric.

How to get the re-open rate:

  • You’ll need to calculate it yourself. Export your ticket data or use a custom report to count: The number of tickets that were reopened after being resolved (in your chosen time period). The total number of tickets resolved in that same period.

  • Then, divide the number of reopened tickets by the number of resolved tickets, and multiply by 100 to get the percentage.

  • Example: If 10 tickets were reopened and 100 tickets were resolved, your re-open rate is (10 ÷ 100) × 100 = 10%.

Why does a report show a ticket as open when the conversation is closed?

Ticket states and conversation states are tracked independently in Intercom. Closing a conversation does not automatically update the ticket's custom state.

For example: if a ticket has a custom state of 'Open' and the conversation is manually closed by a teammate, the conversation will appear as closed in the Inbox — but the ticket will still show as 'Open' in ticket reports until the ticket state is explicitly updated.

Note: To keep ticket states in sync with conversation states, you can set up a workflow that updates the ticket state when a conversation is closed. Go to Fin AI Agent > Workflows and use the 'If teammate changes the conversation state' trigger with a 'Set ticket state' action.


💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?