Accessing Conversation Data

The data for enhanced conversations in Salesforce are saved in on-platform and off-platform objects. Refer to the Messaging Object Model to see which type of data is stored in on-platform versus off-platform objects. We provide tools to help you query, report on, or export this information regardless of where it’s stored.

All on-platform conversation objects are queryable using SOQL, and many are also available through Salesforce standard reporting.

Off-platform data, such as the actual messages exchanged in a conversation, is not available through SOQL or standard reporting.

There are three supported ways to access off-platform data:

Sync your off-platform conversation data to Data Cloud. After off-platform conversation data is synced to Data Cloud, you can:

  • Analyze your messages using Data Cloud Reports.
  • Export the data programmatically via Data Cloud APIs.

Conversation data uses a minimal amount of Data Cloud capacity. If your Salesforce edition includes free Data Cloud, in many cases, the capacity used to store your off-platform conversation data comfortably fits within the limits of the free tier.

To sync off-platform conversation data to Data Cloud:

  1. Enable access to conversation transcripts in Data Cloud. See Analyze Conversation Transcripts in Data Cloud for steps on how to enable access.
  2. Create Data Streams for Conversation Transcripts.

We strongly recommend using Data Cloud to access conversation data because it lacks the limitations found in other data access methods, and its use for conversation data comes at no additional cost for most customers.

The Conversation Entries Connect REST API lets you access individual conversations and their associated conversation entries. Some important considerations:

  • Transcripts returned via the Connect REST API are text-only, so they don’t include rich content or bot messages.

  • Voice call entries aren’t tied to the voice call record until the call ends.

  • Each call to the Connect REST API marks the conversation as active, which counts toward your organization’s simultaneous active conversation limit. Exceeding this limit can result in errors and disruptions.

    To avoid this issue, it's important to minimize unnecessary or excessive calls that could push you over your active session limit. To illustrate this point, let's consider a scenario with "Admin Anne" at "Example Corp."

    Example Corp. has a standard concurrent session limit of 11,000. During peak business hours, they typically have around 8,000 concurrent sessions ongoing. To minimize the risk of hitting the limit, Admin Anne schedules the majority of her Connect API calls outside business hours when there are generally no concurrent sessions ongoing.

    Admin Anne understands that sessions are marked inactive after 30 minutes of inactivity and that a Connect API call will reactivate them. Therefore, during her off-hours API calls when there are no active conversations ongoing, she ensures she doesn't query more than 11,000 conversations within a 30-minute period to stay within the limit.

    If Connect API queries are absolutely necessary during business hours, Admin Anne keeps in mind the 8,000 active conversations already in progress. To remain under the 11,000 limit, she caps her API queries to no more than 2,000 conversations within any given 30-minute window during business hours. At 8,000 existing sessions plus 2,000 API-activated sessions, totaling 10,000 sessions, Admin Anne has made the effort to stay below the 11,000 limit.

To download all of your conversation data from all time, the bulk export tool is the best option. The tool performs a complete export of message data and can only be used once every 7 days. The tool is best used for archival or compliance use cases and not frequent syncing.

See Also