# Conversation report

> The Conversation report provides information that helps you understand how quickly agents are responding to customer inquiries.

Source: https://help.kustomer.com/en_us/conversation-report-SJTafn5LM

Last updated: 2026-08-18T16:45:06.795Z

The Conversation report provides information that helps you understand how quickly agents respond to customer inquiries and how much time they spend resolving customer issues.

**Who can access this feature?**

**User types**

Managers or users with custom permission set access to reporting can access this feature.

  

### In this article:

*   [Conversation report metrics](#report-metrics)
*   [Resolution Time chart](#resolution-time)
*   [Response Time chart](#response-time)
*   [Average Inbound Messages per hour heatmap](#heatmap)
*   [Top Shortcuts Used table](#top-shortcuts)
*   [Metric calculations](#metric-calculations)

To access the Conversation report, select **Reporting![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/19bbb1e2231a281cba0934fac7d1e0ae.png)**, and then select **Conversation**.

### Conversation report metrics

The report shows four metrics that let you quickly see how your conversations are performing.

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/4d06410ee0b1f8b4fb3306e4b57e02eb.png)

The following metrics are shown:

*   **Average First Response**  
    Average amount of time between the first inbound message and the first outbound message, AI or Human Agent, in a conversation. If the initial inbound message is handled by the Customer Assist feature, then this is instead calculated as the amount of time between the conversation first entering the queue and the first outbound message in a conversation.  
      
    
*   **Average First Resolution**  
    Average amount of time between the initial inbound message and the first time a conversation is marked done.
    
    **Note:** This metric includes snoozed time.
    
    First Resolution Time in Business Hours = **First Resolution Abs Time - First Inbound Message Abs Time - Time outside of Business Hours**  
      
    Average First Resolution = **AVERAGE(First Resolution Time in Business Hours) / Relevant Conversations**
    *   **First Resolution Abs Time** = Timestamp of the of the first instance of the conversation being marked done
    *   **First Inbound Message Abs Time** = Timestamp of the initial inbound message
    *   **Relevant Conversations** = Count of conversations that have an initial mark done event within the time duration  
          
        
*   **First Contact Resolution Rate**  
    Inbound conversations first marked done in this period, that are currently in a done status, contain at least one message and have never been reopened or merged over total inbound conversations first marked done in this period that contain at least one message and have never been merged.  
      
    First Contact Resolution Percentage = **(Conversations First Contact Resolved / Conversations With Responses) \* 100**
    *   **Conversations With Responses** = Count of conversations that have outbound messages within the time duration.
    *   **Conversations First Contact Resolved** = Inbound conversations first marked done in this time duration, that are currently in a done status, contain at least one message, and have never been reopened or merged.  
          
        
*   **Average Handle Time**  
    Cumulative amount of time spent by all users viewing all conversations, divided by the total count of conversations viewed. Viewing is defined as the time between a conversation object open event and a conversation object close event on a timeline.
    
    **Note:** Handle time metrics do not consider conversation status, so viewing conversations marked "Done" will count towards this metric. Additionally if the same conversation is opened by an individual agent across multiple windows or tabs, each will have their own unique view events that will be included in the calculation.
    
    Average Conversation Handle Time = **Total Conversation Handle Time / Total Conversation Count**
    *   **Total Conversation Handle Time** \= Cumulative time that all conversations in the organization have been expanded within the application
    *   **Total Conversation Count** = Count of unique conversations that have been expanded

### Resolution Time chart

This chart shows the average time between creating a conversation and marking it done.

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/b638d763b3e2a832f2c4c19fb1b3b95c.png)

The following metrics are available:

*   **First Marked Done**  
    Time until the conversation was marked done the very first time.   
      
    
*   **Last Marked Done**  
    Last (most recent) time a conversation was marked done.

### Response Time chart

This chart shows the average duration between the conversation being created and the first reply to that message.

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/ef693be2e1ec55bda167d07bc3e5c6a1.png)

The following metrics are available:

*   **Average Response Time**  
    Average duration of time from the creation of any inbound message to an outbound reply of that message.  
     
*   **Average First Response Time**  
    Average duration of time from the first inbound messages creation to the first reply.

### Average Inbound Messages per Hour heatmap

This heatmap shows when your team receives the most inbound messages, on average for a given day & time, color coded from light to dark blue, with darker shades indicating higher volume. Each individual cell represents a respective day/time breakdown, averaged out across all instances of that day/time combination throughout the selected date range.

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/bec2f310d2d7cfb4981598f8fde38683.png)

By default, the chart shows all inbound messages across all teams. When filtering by an individual team, the values coincide with inbound messages that were sent to respective conversations while they were assigned to the given team.

You can also filter the chart by any of the following channels:

*   All channels
*   Emails
*   SMS
*   Chat
*   Facebook Messenger
*   Voice

### Top Shortcuts Used table

This table lists the shortcuts used within the selected date range and the number of times they were used during that time period.

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/56ea5702af4875ae3172c45a4d3b4198.png)

The following columns are available:

*   **Shortcut title**  
    Name of the shortcut.  
      
    
*   **Total usage**  
    How many times the shortcut was used in the selected date range.

### Metric calculations

Below you'll find descriptions of the calculations for each metric including the attributes used in their formation. These can be beneficial when rebuilding standard report metrics in your custom reports or referenced when building metrics or performing analysis outside the Kustomer platform with data sourced from our API's or data services, such as Kinesis.

The Date Anchor is the attribute linked to the date range picker in each report's header that determines whether or not any objects that fit the calculation criteria will appear in your chart or table.

**Metric**

**Calculation**

**Date Anchor**

Avg First Response Time

average of **conversation.firstResponse.businessTime**

**conversation.firstResponse.createdAt**

Avg First Resolution Time

average of **conversation.firstDone.businessTime**

**conversation.firstDone.createdAt** 

First Contact Resolution Rate

distinct **conversation.id** with **status: ‘done’** and **direction: ‘in’** with a **messageCoun****t** greater than 0, which also do not have a **reopenCount** greater than 0 and also has not been merged (**mergedTarget: \`false\`** or **mergedTarget** field does not exist), divided by distinct **conversation.id** , multiplied by 100.

**conversation.firstDone.createdAt**

Avg Convo Handle Time (Views)

The cumulative amount of time spent by all users viewing all conversations (viewing defined as having the conversation expanded in a timeline), divided by the count of distinct conversations viewed.

**conversation\_times.createdAt**

Resolution Time - First Marked Done

average of **conversation.firstDone.businessTime**

**conversation.firstDone.createdAt** 

Resolution Time - Last Marked Done

average of **conversation.lastDone.businessTime** 

**conversation.lastDone.createdAt**

Response Time - Avg Response Time

average of **message.responseBusinessTime**

**message.createdAt**

Response Time - Avg First Response Time

average of **conversation.firstResponse.businessTime**

**conversation.firstResponse.createdAt**

Avg Inbound Msgs/Hour

Count of distinct **message.id** where **direction:in** for each appearance of an interval bucket (day of week, hour of day ie Mon 2-3pm) summed across all appearances of that bucket and divided by the number of bucket appearances over the course of the selected date range

**message.createdAt**

Top Shortcuts Used

group by **message.shortcuts.id** order by count descending

**conversation.createdAt**

###   

### **How first response time is calculated**

First response time (FRT) measures how quickly an agent responds to a customer.

****For Customer Assist (bot) conversations:****  
FRT measures the time between when the conversation is routed from the bot to an agent queue and when the agent sends their first reply. Messages sent by the bot do not count toward the agent's FRT.

****For standard (non-bot) conversations:****  
FRT measures the time between the customer's first inbound message and the agent's first reply.

****FRT attribution in team reports:****  
FRT is attributed to the agent who sends the first response, not to the team the conversation is assigned to. If an agent belongs to multiple teams, their first response counts toward all teams they are a member of. To report FRT by assigned team instead, build a custom chart using the ****First Response Business Time**** metric segmented by ****Assigned Teams****.

****SLA first response timers:****  
The first response SLA countdown starts when the conversation is created. It does not reset when the conversation moves between queues or is transferred from a bot to a live agent. If a conversation spends time in a bot interaction before reaching an agent, that time counts toward the SLA timer. Plan your SLA thresholds accordingly.
