---
schema_version: "1"
id: 5fe3b33e443ceb22a249a97bd2ae6da43f05fe7ce40170df7b813478eb1a4b3e
title: Report on Messaging Activity
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/messaging_reporting.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.messaging_reporting.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 9ef30efb101b5e4ae69c289902fbbb7ea96f2d240198615724953d8ed04e1f0d
description: To track your support team’s messaging activity in Messaging channels, create custom report types on Messaging objects.
products:
  - Service Cloud
  - Digital Engagement
release: "264"
---
# Report on Messaging Activity

To track your support team’s messaging activity in Messaging channels, create custom report types on Messaging objects.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition">
      <colgroup>
        <col style="width:50%">
        <col style="width:50%">
      </colgroup>
      <tbody>
        <tr class="">
          <td class="slds-cell-wrap" colspan="2" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.messaging_editions.htm&amp;type=5&amp;language=en_US" target="_blank">View supported editions.</a></td>

        </tr>
        <tr class="">
          <td class="slds-cell-wrap" style="vertical-align:top;">
            <a name="messaging_reporting__d997e297"><!-- --></a><span style="vertical-align:text-bottom;display:inline-block;"><img style="margin-bottom:0;" id="messaging_reporting__d997e297" src="https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/resources-global/_corporate/images/checkmark.png" alt="Checkmark"></span>
            <strong>This article applies to:</strong>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;">Enhanced In-App Chat, Enhanced Web Chat v1, Enhanced Web Chat v2, Enhanced
            WhatsApp, Enhanced Facebook Messenger, Standard and Enhanced SMS, Enhanced Apple
            Messages for Business, Enhanced LINE, and Bring Your Own Channel</td>

        </tr>
      </tbody>
    </table>

This article uses “agent” to refer to human service reps, not AI agents.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/images/icon_tip.png)

Tip For help using Data 360 to report on enhanced Messaging channel transcripts, see [Analyze Conversation Transcript Data in Data 360](https://help.salesforce.com/s/articleView?id=service.conversation_transcript_analyze.htm&type=5&language=en_US).

## Identify Objects to Report On

Custom report types that track Messaging KPIs are typically based on these standard objects.

- [MessagingSession](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsession.htm): Represents a session with a messaging user on a Messaging channel.
- [MessagingSessionMetrics](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsessionmetrics.htm): Provides information about a messaging session, such as Service rep and end user response time.
- [MessagingEndUser](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingenduser.htm) (Messaging User): Represents one address, such as a phone number or Facebook page, that communicates in one Messaging channel.
- [AgentWork](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_agentwork.htm): Represents a work assignment that’s been routed to a Service rep. If the work is transferred to another Service rep, another AgentWork record is created.
- [ConversationEntry](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_conversationentry.htm): Used only in standard messaging channels. Represents a message or an event in the chat history between a Service rep and a messaging user.

To learn more, review the [Messaging Object Model](https://developer.salesforce.com/docs/service/messaging-object-model/guide/messaging_object_model.html).

## Track Response Time

To track the average and maximum response time of agents and customers, create a custom report type with [Messaging Session](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsession.htm) as the primary object and [Messaging Session Metrics](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsessionmetrics.htm) as the secondary object. Messaging Session Metrics records are available only for enhanced Messaging and Messaging for In-App and Web sessions created after September 30, 2024.

![Report with Messaging Sessions as the primary A object and Messaging Session Metrics as the secondary B object, where each A record must have at least one B record](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/messaging/messaging_report_msm.png)

Six Messaging Session Metrics records are generated for each completed messaging session. These records track, respectively:

- Average response time for end users and Service reps in the session
- Maximum response time for end users and Service reps in the session
- Message count for end users and Service reps in the session

Here are example questions that your report can answer. See the object documentation for a full list of fields and descriptions.

 
| Question | Report Configuration |
| --- | --- |
| How many messages do agents typically send to resolve inquiries? | Filter messaging sessions with Status = Ended, and then filter messaging session metrics with Messaging Session Metric Type = AgentMessageCount. |
| On average, how many seconds does it take for agents to respond to a message? | Filter messaging sessions by your date range, and then filter messaging session metrics with Messaging Session Metric Type = AverageAgentResponseTime. |
| How long does it take each Service rep to respond to a transferred message? | Filter messaging sessions by your date range, and then filter messaging session metrics with `Messaging Session Metric Type` = `ServiceRepFirstResponseTime`. |
| What’s the longest that end users wait for a response? | Filter messaging sessions by your date range, and then filter messaging session metrics with Messaging Session Metric Type = MaxAgentResponseTime. |
| How many messages do end users typically send before a session ends? | Filter messaging sessions by your date range, and then filter messaging session metrics with Messaging Session Metric Type = EndUserMessageCount. |

## Track Handle Time and Resolution

To track handle time and messaging session resolution, create custom report types for the [Messaging Session](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsession.htm) or [Agent Work](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_agentwork.htm) objects. See the object documentation for a full list of fields and descriptions.

Agent Work and Messaging Sessions report type:

![Report with Agent Work as the primary A object and Messaging Sessions as the secondary B object, where each A record must have at least one B record](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/messaging/messaging_report_aw.png)

Messaging Sessions report type:

![Report with Messaging Sessions as the primary object](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/messaging/messaging_report_ms.png)

Here are example questions that your reports can answer.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d69574e336">Question</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d69574e339">Report Configuration</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Question" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e336 ">What proportion of sessions were ended by agents versus by end users?</td>

            <td data-label="Report Configuration" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e339 ">Create a custom report type with Messaging Session as the primary object. Sort
              messaging sessions by <samp class="parmname">Ended By Type</samp>.</td>

          </tr>
          <tr class="">
            <td data-label="Question" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e336 ">What’s the typical length of a messaging session?</td>

            <td data-label="Report Configuration" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e339 ">
              <p>Create a custom report type with Agent Work as the primary object and Messaging
                Session as the secondary object. Sort work by <samp class="parmname">Handle Time</samp>,
                which includes any After Conversation Work time that the agent used.</p>
              <p style="margin-bottom:0;">Monitoring
                handle time is helpful if you’ve configured Messaging to be synchronous. If you
                have an asynchronous configuration—for example, you rely on the Inactive status
                during periods of inactivity—focus on other KPIs instead.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Question" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e336 ">What proportion of closed sessions were resolved entirely by a bot?</td>

            <td data-label="Report Configuration" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e339 ">Create a custom report type with Messaging Session as the primary object.
              Filter messaging sessions with <samp class="parmname">Status</samp> =
              <kbd>Closed</kbd>, and then sort by <samp class="parmname">Agent Type</samp>,
              where a value of <kbd>Bot</kbd> indicates that no human service reps
              were involved.
            </td>

          </tr>
          <tr class="">
            <td data-label="Question" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e336 ">How long does it take for agents to accept new sessions? </td>

            <td data-label="Report Configuration" class="slds-cell-wrap" style="vertical-align:top;" headers="d69574e339 ">Create a custom report type with Agent Work as the primary object and Messaging
              Session as the secondary object. Sort work by <samp class="parmname">Speed to
                Answer</samp>.</td>

          </tr>
        </tbody>
      </table>

## Compare Traffic Across Channels

Create a custom report type with [Messaging Session](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsession.htm) as the primary object. As a start, include these basic fields, but see the object documentation for a full list of fields and descriptions.

- Messaging Channel
- Status
- Start Time
- End Time
- (Lookup field) Messaging Channel: Type
- (Lookup field) Messaging Channel: Channel Name

Here are example questions that your report can answer.

 
| Question | Report Configuration |
| --- | --- |
| Which types of channels, such as Enhanced Chat or Facebook Messenger, are generating the most and least traffic? | To view sessions occurring within a specific time frame, filter by Start Time. Then, sort messaging sessions by the Messaging Channel: Type field. |
| If you have multiple channels of each type, such as multiple Facebook Messenger channels, which channels are generating the most and least traffic? | To view sessions occurring within a specific time frame, filter by Start Time. Sort messaging sessions by the Messaging Channel: Channel Name field. |

## Compare Messaging Activity Across Accounts

To compare the activity of your accounts with several report configurations, create a custom report type with [Messaging User](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingenduser.htm) or [Messaging Session](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingsession.htm) as the primary object.

Messaging Users and Messaging Sessions report type:

![Report with Messaging Users as the primary A object and Messaging Sessions as the secondary B object, where each A record must have at least one B record](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/messaging/messaging_report_mu.png)

Messaging Sessions report type:

![Report with Messaging Sessions as the primary object](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/messaging/messaging_report_ms.png)

Here are example questions that your report can answer.

 
| Question | Report Configuration |
| --- | --- |
| How many messaging sessions did each of our accounts generate this month? | Create a custom report type with Messaging Sessions as the primary object. Filter the messaging sessions to your preferred date range, and then sort by Account. |
| What messaging users do we have for each account? | Create a custom report type with Messaging Users as the primary object, and then sort the messaging users by Account. |

## Track Message Delivery Failures (Standard Channels)

To track inbound and outbound messages that weren’t delivered in standard Messaging channels, create a custom report type with [Conversation Entry](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_conversationentry.htm) as the primary object. Filter or sort the report based on these fields:

- Actor Type
- Message Status Code

Currently, you can’t track message delivery failures in enhanced channels.

#### See Also

- [Create a Custom Report Type](https://help.salesforce.com/s/articleView?id=xcloud.reports_defining_report_types.htm&type=5&language=en_US)
- [What’s Messaging?](https://help.salesforce.com/s/articleView?id=service.messaging_introduction.htm&release=264.0.0&type=5 "Seventy-five percent of adults want to communicate with brands the same way they do friends and family—through messaging. Messaging in Agentforce Service (formerly Service Cloud) provides a rich, efficient conversation experience for customers, service reps, and supervisors.")
- [Accessing Messaging and Voice Conversation Data](https://help.salesforce.com/s/articleView?id=service.conversation_transcript_access.htm&type=5&language=en_US)
- [_Trailhead:_ Service and Data 360: Quick Look](https://trailhead.salesforce.com/content/learn/modules/service-and-data-cloud-quick-look)