Custom reports let you visualize your conversation data exactly the way you want to. You’ll have more access to conversation properties for the most effective way to gain insights from your Intercom data.

Custom Reports give you the right data to:

  • Evaluate your team’s performance.

  • Optimize your team by monitoring the teams agreed internal standards (KPIs) to identify areas of improvement.

  • Optimize the organization for better scheduling and forecasting.

  • Demonstrate the value of your team to other departments.

  • And more.

To create your own custom report, go to Reports > Custom reports. From here you’ll see all the custom reports created in your workspace. Any that you create personally, are listed in the sidebar:

To create a new custom report, click ‘New report’:

First, give your report a clear title and description so your teammates can see at a glance what it’s for:

Then add your first chart from a template, or by clicking ‘+ Add chart’:

For this example, we’ll use “Time to close by team assigned” ☝️

Each chart supports one conversation metric. Choose from:

  • Conversation volume — Number of unique inbound conversations.

  • Number of teammate replies — Number of teammate replies per conversation.*

  • First assignment to close time — Time between the conversation being assigned to a teammate and when it was last closed.

  • First response time — Time each teammate took to reply to the first incoming message in a conversation.

  • Time to close — Time between the conversation’s first message from a user (when it was started) and when it was last closed.

  • Number of reassignments — Number of times a conversation was reassigned after the first teammate reply.

  • Conversation rating — Customer satisfaction rating assigned to a conversation.

  • Reply volume — Number of distinct teammate replies.

  • Response time — Time for a teammate to reply to any message in a conversation.

  • Handling time — Time spent by any teammates handling** a conversation. If a conversation is handled by Teammate A for 5 mins and by Teammate B for 10 mins, the conversation's handling time is 15 mins (5 mins + 10 mins).

*Teammate replies are counted individually in Custom Reports, not grouped like in the Effectiveness report.

**Handling time is the total amount of time a conversation is open and assigned to any human teammate. This excludes:

  • The time that bots spend handling conversation

  • The time a conversation is in a team inbox and not assigned to a teammate

  • The time a conversation is snoozed

  • The time a conversation is closed

A conversation's handling time is counted once it is closed.

Metrics can be aggregated by average, median, minimum, or maximum:


  • Conversation volume, Customer satisfaction & Reply volume are the exceptions, as they are already aggregated. To learn more about the different metric aggregations, read this article.

  • In your Messenger settings, check this box to calculate response metrics within office hours only:

  • If you use the bot inbox, you can choose to include or exclude time spent here from the chart:

Next, select the date range you’d like shown in this report:

Pro tip: You can also choose which event must have occurred in that date range for the conversation to be counted in your report:

  • Conversation started at — When the first message from a user was received. (Default)

  • First teammate reply at — When the first reply from a human teammate was sent.

  • First closed — The first time a conversation was closed, by a bot a rule or a teammate.

  • First message sent — When the first message in a conversation was sent. This is when a customer sends their first message to you, or when an outbound message (ongoing or one-off) was sent to a customer.

  • Reply sent at — Only available for reply metrics.

Important: If you choose a relative date range like ‘Past 4 weeks’ the chart will always show you the past 4 weeks. If you choose specific dates like ‘1st - 31st of Jan’, it will always show data from those specific dates.

Choose a chart type

There are four ways to visualise your data to choose from: count, column, line, or table:


Counts are the perfect way to get a quick summary without the need for a detailed breakdown:


With a simple column chart, you can break down the data by conversation data attributes, user data or the following conversation properties:

  • Time — Days, weeks, or months depending on the date range selected.

  • Channel — Where the conversation was started or first replied to (desktop, mobile etc).

  • Country

  • Continent

  • User type — User or lead.

  • Tag — See conversations broken down by the most commonly applied tags.

  • Conversation state — Open, Snoozed or Closed.

  • Teammate participated — Teammates who sent a reply in a conversation

  • Teammate assigned — Teammate the conversation is currently assigned to.

  • Team assigned — Team the conversation is currently assigned to.

  • Conversation rating — Current customer satisfaction rating on the conversation.

Tip: You can also define exactly how many of the top groups to show (max 200). 👆

With a column chart, segmenting the data lets you visualise it in two dimensions. In this example you can see the columns are grouped by week, and segmented by the conversation data attribute "Product Area":

Optionally, you can also stack a column chart with this toggle:


Line charts offer the same options to view and segment your data, but are better suited to showing trends over time.

For example, you can see the same data here. It's segmented on the left, and stacked on the right:


A table gives you a sortable list of values broken down by the dimensions you choose, for example this shows the average CSAT score for each team, segmented by channel:

Finally, add any filters you’d like for a more zoomed-in view of your data. For example, you might build a custom report for a certain region, in which case you’d filter for the relevant continent or country:

Optionally, you can give your chart a name and description:

Note: if you leave this blank, it will automatically be labelled based on the metric and aggregation:

And that’s it. 👌 Just click save and close:

You’ll see the chart added to the report, where you can continue adding others:

Tip: There is no limit to the number of charts in a report.

Duplicate an existing chart

To make a copy of an existing chart, click "Duplicate chart" under the "Actions" menu:

Export charts as CSV

To export the data displayed in a chart, edit it and click ‘Download CSV’:

This lets you see the underlying data in its raw format:

Dive deeper into conversations

For a closer look at the conversations represented in a chart, click the speech bubble icon (See conversations):

This will show you the 100 most recently started conversations from that chart, where you can browse them, or take actions directly, like replying, leaving notes or adding a tag:

Viewing and sharing reports

When viewing your report you can easily add more filters which will apply in addition to existing filters that are set within the charts themselves.

For example, the chart in this report filters for data from Europe, and we’ve applied a filter at the report level for ‘Channel is Chat’. This means the chart is now showing data from conversations started in Europe via Chat:

Important: If you add a date range filter at the report level, this will override the existing date ranges set in your individual charts, while the filter is active.

To share your report with these filters applied, just click ‘Save report’, and copy the page URL for any of your teammates.

Editing charts

To edit an existing chart, hover over it and click the pencil icon:

To delete a chart, hover over it and click the trash can icon:

Then save your report:

Seeing unexpected results?

If you’re unsure of the data in your reports, check out this article for a close look at some of the details.

What’s next?

Did this answer your question?