Digital Engagement Reporting and Data APIs
  • 06 Sep 2023
  • 4 Minutes to read
  • Dark
  • PDF

Digital Engagement Reporting and Data APIs

  • Dark
  • PDF

Article Summary

Build rich and relevant customer experiences by unifying the customer’s journey across touchpoints and engagement systems. Dialpad's Omnichannel Contact Center uses an AI-centric approach where customer context, conversation, and workflow data are continuously processed to create consistent, personalized, and empathetic experiences in real-time.

While the Dialpad dashboard provides basic insight and reporting data, you can use our APIs to build custom dashboards to dive into the data that matters to you the most.

Data Retention Policy

The Dialpad Digital Experience platform stores customer history for one year, though additional storage and archival options are available for a fee. This data is accessed through the APIs, daily report, and manual data extract.
Dialpad runtime/dashboard analysis data is stored for 30 days. This data is displayed in the Dashboard, Statusboard, and other runtime screens.

How to get an API key

If you'd like to build a custom dashboard, you'll need a Digital Experience API key. This API key is a unique identifier that allows partners to access the Dialpad APIs.

To obtain an API key, head to your Admin Portal.

  1. Select My Company
  2. Navigate to Authentication
  3. Select API Keys 
  4. Select Add key


REST APIs are standard APIs allowing partners to access the Dialpad Digital Experience data.

The Dialpad digital experience cloud instance is a secure and scalable environment that hosts data. API services can fetch data from the cloud instance as needed, eliminating the need for an on-premise data aggregation service.

Response Document
The response will be a JSON array of messages, sent in the following format:


The message will be:

Response status:
● 200OK -> Payload will be an array of messages or an empty array if no
messages found.
● There be an appropriate HTTP status code for all other error conditions.
● The response will be an empty array if an invalid or non-existent customersessionid is given for the customer session API

API endpoints

An API endpoint is a specific web address that allows different software applications to communicate and exchange data with each other. It serves as a doorway or access point to access a particular functionality or resource provided by an API.

Let's look at the different API Endpoints Dialpad's Digital Engagement offers.

Get redacted message for a customer session

A customer session is the interaction by the customer with bots and agents during a
given session. This API returns all messages associated with the customer session.







Authorization: Bearer {{apikey}}
Content-Type: application/json
Accept: application/json



providerid: {{providerid}}

Digital experience accountid


This will be in the form (-)xxxx.xxxx


Number of entries to be returned Default: 0


Offset for next fetch

Default: 0


Start time in epoch


End time in epoch

End-start shouldn't be more than 7 days



200 or other HTTP status



JSON array



Get redacted message for a provider

API to retrieve all customer interactions for the given duration in a company. This API

is useful if a business has their own reporting infrastructure and want to get data
regularly. Maximum duration allowed is 7 days







Authorization: Bearer {{apikey}}
Content-Type: application/json
Accept: application/json



providerid: {{providerid}}

Digital experience accountid



"start" : {{start}},
"end" : {{end}},
"limit" : 0,
"offset": 0,
"interval": "1d"

  • providerid: available on the admin portal
  • start: start time in epoch
  • end: end time in epoch. The difference can not be more than 7 days
  • limit: Number of messages to be returned
  • offset: Offset for subsequent request
  • interval: This parameter is not used.



200 or other HTTP status



JSON array



Data field description and reference

Your extracted JSON data has a number of fields.

Let's take a look at each of the available fields.

  • text: the text of the message
  • timestamp: time when the message was created in a human-readable format
  • ts: time when the message was created in Unix epoch format (time elapsed in milliseconds since Midnight 1 January 1970). It is the same time as timestamp in
  • a different format.
  • sendername * : the name of the user who created the message
  • senderemail * : the email of the user who created the message
  • sendertype *: the type of user who created the message
    • Possible values are customer/bot/agent
  • sessionid: this field is specified as x.y where x is a unique conversation id and y is the
    session id for this message. 
    • Conversations consist of several consecutive segments
      numbered starting from 1.
    • For example, 12.5 refers to the 5th segment in the conversation with id=12. Note two different conversations may have similar segment ids. For example, 12.5 and 13.5 refer to different segments in different conversations.
  • sentiment: the sentiment for the text field of the message. 
    • Positive values indicate positive sentiment, negative values indicate negative sentiment, and 0 indicates a
      neutral sentiment.
  • workflow * : the name of the encompassing workflow for this message
  • workflownodeid * : the id of the workflow node that resulted in this message
    • The value of this field is taken from the json definition of the workflow.
  • topic: the inferred intent of the text based on the intent definitions that exist for this provider
  • score: the confidence (probability) for the inferred intent or topic value
  • topmatches: shows the top 3 inferred intents for the text in the message, their confidences, and their closest matched text
  • lang: detected language of the text
  • customersessionid: A session id spanning across multiple sessionids.
    • For eg. if a customer connects to the bot, then to an agent, then gets transferred to another agent and again to a bot for survey, there will be a common customersessionid for all these sessionids.
  • sessionchannel: The digital channel where the session is initiated
  • sessionchannelinfo: Metadata associated with the session channel. This will include information like WhatsApp number or twitter handle account details of the business.
  • chattype: Indicates if the given message is part of a bot or agent interaction

* optional field


Entity types

The export of redacted messages may have entity replacement performed as part of privacy and redaction policy. Any provider-specific custom entities will be replaced according to their definition.

Let's take a deeper look at the types of entities that may be replaced.

EntityRedaction NameDescription
Location****GPE****Major cities and countries in the world
Dates****DATE****Some of the supported formats are May 23; May 23, 2018; 02/03/2019; 02-03-2019
Time****TIME****Common time formats

Major organizations such as Citibank, Trader Joe’s, Whole Foods, Chase Bank.

There may
not be support for non-US organizations.


People names (format firstname lastname).

Ex: Adam Smith, John Doe.
There is limited support for names that have non-Anglo origins.

Money****MONEY****Currency values
Email****EMAIL****Email addresses
Numeric****NUMERIC****String of numbers
Identifier****ID****String of digits and/or letters

Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.