Omnichannel Reporting and Data APIs
    • 28 May 2024
    • 5 Minutes to read
    • Dark
    • PDF

    Omnichannel Reporting and Data APIs

    • Dark
    • PDF

    Article summary

    Dialpad's Omnichannel Contact Center offers AI-driven customer experiences by unifying data across touchpoints. The platform stores customer history for one year, with API access for custom dashboards. To access APIs, partners need a Digital Engagement API key. REST APIs allow data retrieval from Dialpad's secure cloud instance. API endpoints facilitate data exchange between software applications. Extracted JSON data includes fields like text, timestamp, sender details, sentiment, and workflow information. Entity types may be replaced for privacy. The content emphasizes building personalized customer experiences through data integration and API utilization within Dialpad's platform.

    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, you can use our APIs to build custom dashboards to dive into the data that matters to you the most.

    Let's dive into the details. 

    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 reports, and manual data extraction.
    Dialpad runtime/dashboard analysis data is stored for 30 days. This data is displayed in the Dashboard, Statusboard, and other runtime screens.

    Get a Digital Engagement API key

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

    Digital Engagement API keys are not the same single-use keys generated from your Company Authentication settings. For more information on Dialpad API keys, head to this Help Center article.

    To get a Digital Engagement API key, head to your Admin Settings from 

    1. Navigate Ai Contact Centers
    2. Select your Digital Contact Center
    3. Navigate to Advanced Settings
    4. Select Configure Digital Engagement 

    5. Select Essential Mode
    6. Select Admin
    7. Select Profile
    8. Select Integrations
    9. Select the Eye icon to unhide your API key, then copy it as required


    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?