Skip to main content

Create a custom report

Freedom to select exactly what data and visuals are most relevant to your needs.

Written by Beth-Ann Sher

Use this article to create, view, and manage custom reports on the Advanced or Expert plan — from adding and configuring charts, to setting filters, choosing metrics, and sharing with teammates. You'll also learn how to explore the data behind any chart using the drill-in feature. Custom reports let you choose from over 100 chart templates and combine them into a single view tailored to your team's needs.

Note: You'll need the “Can create, edit and internally share reports” permission to create a report.


Create a custom report

To create a new custom report from scratch, go to Reports and click the + icon at the top of the menu, or go to Your reports and click on New report.

The Reports section in Intercom showing the + icon at the top of the navigation menu and the New report button in the Your reports view

This will open the template library. You can select and customize a template, or click Create your own to start from scratch.

The template library showing pre-built report templates alongside a Create your own option to start a custom report from scratch

Add a report name and description

Give your report a clear title and description so you and your teammates can see at a glance what it’s for.

The custom report setup panel showing input fields for the report name and description

Add charts to your report

To add charts to your report, open the Add a chart menu on the right-hand panel. Search for popular chart templates and drag and drop them onto your report.

The Add a chart panel on the right side of a custom report showing chart templates that can be dragged and dropped onto the report canvas

Chart templates are still completely customizable if custom reports are included on your plan. To edit an existing chart, select the Actions menu above the chart and then click Edit chart.

A chart in a custom report with the Actions dropdown menu open showing options including Edit chart, Duplicate, and Delete

To build a chart from scratch, select Create your own from the Add a chart menu.

The Add a chart panel showing the Create your own option for building a chart from scratch

Choose a chart type

There are nine chart types to provide you with flexible ways of visualizing your data, including: KPI (key performance indicator), column, bar, donut, line, combo, area, heatmap, and table.

The chart type selector in the custom report builder showing nine options: KPI, column, bar, donut, line, combo, area, heatmap, and table

Learn more about using chart types and options to help visualize your data.

Set a date range

Select the date range for this chart using the date picker in the chart builder sidebar.

The date range picker in the chart builder showing relative and fixed date range options

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 metric

Choose which metric you want to look at per timestamp (the date range you’ve selected).

The metric dropdown in the chart builder showing a list of available metrics to select for a chart

See all definitions for conversation and ticket metrics, date filter timestamps, and attributes in Intercom reports.

Some metrics can be aggregated by average, median, percentile, minimum, maximum, or sum. For example if we want to see the average ticket time to resolve.

The aggregation dropdown in the chart builder showing options including average, median, percentile, minimum, maximum, and sum, with an example of average ticket time to resolve

Use custom time intervals

When selecting a time-based metric (for example, first response time or time to close), you can group results into custom buckets using the "time interval" view-by attribute — a dimension that lets you segment chart data by a custom range. This gives you more flexibility than fixed intervals — you define your own ranges to better understand how metrics are distributed.

  • Choose how you want to group your data — for example, response times can be bucketed into 0–5 minutes, 5–15 minutes, 15–30 minutes, and 30+ minutes.

  • Create a chart using one of three chart types: bar chart, column chart, or table.

  • Two prebuilt chart templates are available in the Chart Library: First response time breakdown (table chart) and Time to close breakdown (table chart).

  • These templates are also included in the Responsiveness report template, so you can start using them without building from scratch.

Note: Custom buckets show a distribution — each bucket independently counts the conversations that fall within that range. This means buckets don't accumulate: a conversation counted in the 0–5 minute bucket is not automatically included in a 0–30 minute total. If your ranges overlap (for example, 0–10 minutes and 5–15 minutes), any conversation in the overlapping window is counted in both buckets, which inflates the denominator and skews percentages. To get a cumulative view (for example, the percentage of conversations resolved within 30 minutes), use non-overlapping buckets and add the counts manually.

Use conversation state metrics

Conversation state metrics give you a clear view of how conversations are progressing by showing how many were open or snoozed at the end of any given time period. This helps you track unresolved conversations, monitor workload, and identify potential bottlenecks for your team. You can also see how many conversations were reopened, providing insight into recurring issues or follow-ups that may need further attention.

In the metrics dropdown, you'll find three conversation state options to add to a chart. Each metric belongs to a reporting dataset — the data source it draws from:

  • Open conversations – The number of conversations with a status of “Open” at the end of the queried time period. (Conversations State dataset)

  • Snoozed conversations – The number of conversations with a status of “Snoozed” at the end of the queried time period. (Conversations State dataset)

  • Reopened conversations – The number of conversations that were reopened during the selected time period. (Conversations Actions dataset)

Five prebuilt chart templates are available in the Chart Library:

  • Open conversations (KPI chart)

  • Snoozed conversations (KPI chart)

  • Reopened conversations (KPI chart)

  • Closed vs. reopened conversations (column chart)

  • Open and snoozed conversations (column chart)

These templates are also included in the Conversations report template, so you can start using them without building from scratch.

Two additional metrics measure how long conversations have spent snoozed, making previously invisible time visible in your reports:

  • Average time spent snoozed – Measures the duration of individual snooze events. When a conversation is snoozed and later moves out of the snoozed state, that counts as one snooze with a duration. This metric averages those individual durations across all snooze events. (Conversations dataset)

  • Average total time snoozed per conversation – Sums every snooze a conversation had, then averages that total across conversations. (Conversations dataset)

Both metrics support the full range of aggregations (average, median, percentile, minimum, maximum, and sum) and break down by team, teammate, and time period.

Tip: Lead with the median when analyzing snooze time. A small number of conversations parked for days can pull the average up significantly, so the median gives a more representative picture of typical snooze durations.

Use multi-metric charts

Multi-metric charts enable you to view multiple metrics within a single visualization. This simplifies data analysis, making it easier to compare, contrast, and derive insights from various metrics simultaneously.

This is available on the following chart types:

  • Column

  • Line

  • Area

  • Table

Common use cases include:

  • Comparing the volume of new inbound conversations to closed conversations in one view to assess whether your team can keep up with demand.

  • Comparing teammates across various performance metrics in one view to identify top performers.

Click the Add metric button on the side panel of the chart builder to add multiple metrics to the same chart.

The chart builder side panel showing the Add metric button used to add multiple metrics to a single chart

Note:

  • Filters can be added to each metric in a chart.

  • Metrics can be moved up and down to change the order in which metrics are rendered in a chart by dragging and dropping the metric block.

  • Multi-metric charts don't support segmentation.

  • Multi-metric charts don't support stacking, relative values or targets.

  • There is a maximum limit of 20 metrics on multi-metric charts.

  • Column, Line and Area charts only support metrics that have the same Y axis.

  • Table charts support any combination of metrics regardless of their Y axis, however, exporting chart data is not available for multi-metric Table charts.

  • If you select the chart drill-in for a multi-metric chart, you must choose which specific metric you want to examine in detail.

Create charts that compare two metrics with different Y axis

You can create charts that compare two metrics with different Y axis by using the Combo chart type.

The first metric selected will use a Column chart and use the left Y axis, and the second metric selected will use a Line chart and the right Y axis.

A combo chart in a custom report showing two metrics on dual Y axes — a column chart on the left Y axis and a line chart on the right Y axis

Combo chart types can only have two metrics selected.

Customize the chart legend label for a metric

Custom metric names can be added to the chart legend through the “legend label” input field in order to visually differentiate between metrics.

The chart builder showing the legend label input field used to give a metric a custom display name in the chart legend

Metrics with custom filters and legend labels can't be saved as a custom metric for you to reuse in another report.

Apply office hours to a metric

You can set your custom report metric to be "Within office hours" for the following datasets:

  • Conversations dataset

    • First response time

    • Response time

    • Time from first assignment to close

    • Time to close

  • Conversation actions dataset

    • Teammate first response time

    • Teammate subsequent response time

    • Teammate time to close

    • Teammate handling time

    • Team first response time

    • Team subsequent response time

    • Team time to close

When using one of the supported metrics in your custom report, you'll see a Within office hours checkbox appear under the Metric dropdown.

Note: For teammate metrics on the Conversation actions dataset, the schedule used to calculate "within office hours" is determined in this order: the teammate's own schedule (if assigned in Settings > Office hours > Teammate schedules), the team's custom office hours (if set), or your workspace default. See How to use office hours in reporting for details.

The chart builder showing the Within office hours checkbox appearing below the Metric dropdown when a supported time-based metric is selected

Add filters to chart metrics

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:

The chart-level filter panel in the chart builder showing a continent or country filter applied to narrow chart data to a specific region

This supports both AND and OR conditions when selecting multiple filters, which is available at both a chart and custom report level. For example, this chart is filtered by conversations which have:

Combining two conditions with OR. Joining two filter conditions with OR returns conversations that match either condition — this widens your results, it doesn't narrow them. If you want two conditions to both be true (for example, 'assigned to Team X' and 'channel is Email'), use AND instead. Because a chart's drill-in uses the same filter logic as the chart, an OR filter that seems to do nothing in the chart will show the same widened results in the drill-in too.

  • Topic = “pricing” OR

  • Tag = “pricing”

The chart-level filter panel showing OR conditions applied — Topic equals pricing OR Tag equals pricing

Intercom takes a snapshot of the customer when the conversation starts which means that any changes to user and company attributes and tags after the conversation is created are not reflected in the reports.

A couple exceptions where the information is loaded in real-time: User name, User pseudonym, and User email attributes.

Additionally, some metrics (those that are calculated at the time vs. a static value, like Customer satisfaction) will display an error when the selected break down has more than 10,000 unique values for the range/filters. To resolve this, narrow your date range or apply additional filters to reduce the number of unique values in your breakdown.

Company attributes in custom reports

There are two distinct Company attributes available in custom reports on the Conversations and Tickets datasets:

  • Company – Reflects the contact's company at the time the conversation started. Because a contact can belong to more than one company, a single conversation may be associated with several companies under this attribute. It supports both filtering and grouping (segmentation). You can apply it at the report level or at an individual chart level; if you set a filter at both, the report-level filter takes precedence.

    The Company attribute filter applied to a custom report on the Conversations dataset, showing that it reflects the contact's company at the time the conversation started

  • Company (conversation) – Reflects the single company set directly on the conversation via the inbox side panel or API (the company currently associated with the conversation). It supports both filtering and grouping (segmentation). You can apply it at the report level or at an individual chart level; if you set a filter at both, the report-level filter takes precedence.

    The Company (conversation) attribute filter applied to a custom report, showing that it reflects the company currently set on the conversation itself rather than the contact's company

Filter reports by Customer segments

Although Customer segments cannot be used directly as filter conditions in reports, you can tag members of a segment and use user tag as a filter instead.

This workaround works at both the report level (using report filters at the top of the page) and at individual chart level filters:

  1. Navigate to your Customer segment and tag all members with a specific tag (e.g., "Enterprise Customers" or "Trial Users").

  2. In your custom report, add a filter for User tag.

  3. Select the tag you created to filter the report data to only include users from that segment.

Tip: Keep your segment tags up to date by regularly re-tagging segment members, or use automation to apply tags when users enter a segment.

Give the chart a name and description

Give the chart a name and description which helps you clearly identify what this chart shows (the description is a good place to call out any filters you've applied to this chart).

The chart builder showing the name and description input fields at the bottom of the configuration panel

Click Add chart to save this chart to your report. You'll be taken back to the report canvas, where you can continue adding more charts.

A custom report canvas showing a newly added chart after clicking Add chart, confirming the chart has been saved to the report

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

Edit charts

To edit, duplicate, or delete an existing chart from your custom report, hover over it and select an option from the Actions dropdown.

A chart in a custom report with the Actions dropdown open showing options to edit, duplicate, or delete the chart

Note: You'll need to edit the report to see all of these options under chart Actions.

Charts can be moved or resized on your report by pulling from the bottom right corner.

A custom report canvas showing a chart being resized by dragging from its bottom right corner handle

Set report timezone

Charts are based on the workspace timezone by default, and reflect your office hours settings if the Within office hours option is enabled for any metric in the report.

To change the timezone for a custom report, select a different timezone from the dropdown at the top of the report page.

The custom report header showing the timezone selector dropdown at the top of the report page

Setting a timezone is only available on custom reports.

How does the timezone selector interact with my date range? If you're using a preset date range (for example, 'Past week' or 'Month to date'), changing the timezone recalculates the range automatically so it still covers the correct calendar days in the new timezone. If you're using a custom date range (specific start and end dates), changing the timezone does not move those dates — it re-reads the same underlying moment in time under the new timezone, which can shift which calendar day it falls on. If you change timezones on a custom date range, re-check (and re-select if needed) the dates to make sure they still cover the days you intend.

Add filters to your report

You can apply filters to both reports and individual charts. Here’s how these filters interact:

  • Report filters apply to charts within the report
    When you add a filter to a report, it automatically applies to all charts within that report.

    • For example, if you apply a date filter to the report, this will override the date filter of any chart within the report.

    • If a chart is set to display data for "today," but the report’s date filter is set to "yesterday," the chart will display data for "yesterday" when viewed within the report.

  • Chart builder filters are not overridden
    Report filters do not affect what you see when building or editing a chart in the chart builder. They only take effect when viewing the chart within the report.

  • Filters combine in an "AND" relationship
    If both the report and a chart have filters, they combine as if they’re joined by an “AND” condition.

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

A custom report showing a combined report-level filter for Channel is Email and a chart-level filter for Germany, resulting in data from conversations started in Berlin via Email

Note:

  • The ‘Channel’ filter will only contain those channels where you have installed Intercom.

  • Custom events are currently not supported for filtering custom reports.

  • Custom Reports detects two types of filter conflicts and shows a warning banner on the affected chart. A tautological filter forces a metric to a fixed value — for example, filtering a CSAT (customer satisfaction) % Happy chart to show only 'Happy' ratings means the metric will always show 100%. A redundant filter occurs when the same filter is applied at both the chart level and the report level. Filter conflict warnings are currently only shown on some chart types.

Add a banner component

When building a custom report, you can add a banner component — a text block for adding titles, context, or notes directly on the report canvas:

  1. Edit the report.

  2. Click Add chart and search for "banner".

A banner component added to a custom report showing text content with a formatting toolbar

The banner component supports the following formatting and layout options:

  • Font size

  • Font weight

  • Font position

  • Adding a link

  • Changing the color

  • Resizing the component

The banner component configuration panel showing controls for font size, font weight, font position, link, color, and component resize

Save and share your custom report

When you've finished customizing your report, click Save.

Clicking Save opens the report sharing options, where you can control who can view or edit the report. You can also click the Share button any time from the top of your report to update these settings.

The Save and share dialog for a custom report showing sharing options and access controls for teammates


View custom reports

Any custom reports that you create personally, are listed in Reports > Your reports.

The Your reports page in Intercom Reports showing a list of custom reports created by the current user

Any custom reports created by other teammates and shared with you, are accessible from Reports > All reports > Shared with you.

The All reports Shared with you page showing custom reports that other teammates have shared

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

A custom report in view mode showing the report-level filter controls at the top of the report page

For filters to persist after closing the report (and be visible to other teammates with access to the report), you'll need to edit the report, apply the filters, and then save the report.

**Note:** The "Updated X min ago" pill in the report header reflects the slowest-syncing dataset in the report, not the fastest. If your report combines datasets that sync at different rates, the freshness timestamp shows the oldest sync time. This doesn't mean your data is delayed or broken — it's expected behavior when a report mixes datasets with different sync rates.

Explore the data behind your charts

Every chart has a drill-in feature, which lets you click any data point to see the individual conversations behind it. This helps you understand the factors driving your results and make data-informed decisions faster.

A custom report chart showing the drill-in hover icon used to open the underlying data exploration table for that chart


Manage custom reports

You can edit, duplicate, or delete any custom report that you have full access to. Go to Reports and open the report you want to manage, then use the options in the top right to:

  • Share

  • Edit

  • Duplicate

  • Add to favorites

  • Delete

A custom report with the report options menu open in the top right showing Share, Edit, Duplicate, Add to favorites, and Delete options

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.


💡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?