Exporting Dialpad Data to a BI Tool via API

Prev Next

Want to analyze your Dialpad data in Power BI, Snowflake, Tableau, or another BI tool? You can export Dialpad analytics using our Stats API and scheduled reports to automatically deliver CSV files to your Webhook endpoint—no manual downloads required.

Let’s dive into the details.

Who can use this

Exporting analytics data is available on all Dialpad plans.

How exporting to a BI tool works

Here’s a quick overview of how to set up automatic analytics exports from Dialpad to your BI tool:

  1. Identify which report(s) you want to export

  2. Create a Webhook that points to your BI tool

  3. Create a scheduled report that points to your Webhook

  4. Receive the reports

  5. Import the data into your tables

Tip

Domo and Theta Lake both have direct connectors to simplify this process.

Set up Analytics reports

Choose a report

Your Dialpad analytics data can be exported in CSV format from the Dialpad Admin Portal.

  1. Select Analytics

  2. Set the desired filters

  3. Select Export (.csv)
    Analytics settings page showing a summary of results. The option to export data as a .CSV file is highlighted.

  4. Choose the desired report

All downloadable reports from the Admin Portal are also available via API.

Tip

Be sure to read these Help Center articles:

Understand key call identifiers

When working with exported call data, it's important to understand how to join tables and interpret call relationships.

Chart displaying the flow of a call using API call_id labels and variants.

call_id

A unique ID for each call leg.

entry_point_call_id

Ties related call legs together when a call comes through a shared line, like a Department or Contact Center.

entry_point_target_id

ID of the original Department, Main Line, or Contact Center.

Fanout calls

Created for each time an Operator or Contact Center agent is “rung” in a Department or Contact Center. These are given unique call ID’s in our platform, but can be mapped to the parent call by using entry_point_call_id or entry_point_target_id.

master_call_id

Groups transferred calls under one umbrella. Only generated when calls are transferred between Dialpad endpoints.

Note

The master_call_id is only generated when a call is transferred from one Dialpad user/Main Line/Department/Contact Center to another.  If a call goes directly to a Dialpad User, it isn’t created, and only a call_id exists. For example, a call placed directly to a Contact Center or a Department (that has a phone number attached to it) may not have a master_call_id. In this case, you might want to use the entry_point_call_id or entry_point_target_id.

For more details about how calls flow through the system, see the Call Events - Call Flow Structure article.

Set up a Webhook

To receive scheduled reports, you’ll need a Webhook that can accept POST requests.

For more information about webhooks, see the Event Subscriptions Webhook article.

Create a scheduled report via API

Use the Stats API to set up recurring reports. Key fields include:

report_type

Matches the report from the Analytics dashboard.

frequency

Daily, weekly, or monthly.

destination

Your Webhook URL.

Note

You can point multiple scheduled reports to the same Webhook.

Receive and download the file

When the report is triggered, your Webhook will receive a payload containing a file_url and filename. Use your API token or OAuth credentials to download the CSV and load it into your database.

Tip

If you don’t want to set up scheduled reports, use the GET endpoint to pull data as needed. This will return a one-time file URL you can download.

For more information, read these articles:

Exporting SMS content

If your report includes text messages, use export_type=records and stat_type=texts. Make sure the message_content_export:all scope is included in your OAuth token as well.

Note

Additional configuration may be needed in your Dialpad account.

For more information, see the SMS Traffic Export article.

Exporting call transcripts

Call transcripts aren't included in stats exports and must be pulled individually using the call_id.

Use this API: Get Call Transcript. For more information, see the Call Transcript -- Get article.

Note

You cannot use master_call_id to retrieve transcripts.

Accessing Ai data from calls

Dialpad Ai features like summaries, action items, and playbooks aren’t included in scheduled or on-demand reports. To capture these in real time, subscribe to event streams for:

  • recap_action_items

  • recap_outcome

  • recap_purposes

  • recap_summary

  • ai_playbook (for Dialpad Sell and Support)

Ai Call Log snippet with callouts to different elements in the screen.

Note

Ai events require transcription to be turned on during the call.

Call Recording Exports

You can pull call recordings in a couple of ways:

Per Call

For more details, see the Call -- Get article.

Via a Scheduled Report

For more details, see the schedule reports -- Create article. Make sure to include "report_type": "recordings".

Tip

We recommend using the scheduled report to grab calls for larger groups. Since you can’t export for the whole company, you will need to export for each Dialpad Office.

The exported report includes a URL that requires authentication to access the file. All recording links start with “https://dialpad.com/secureblob/callrecording/” and require OAUTH or an API key with the “recordings” scope.

For more details, see the Review the Recordings Export article.

Authentication tips

While you can use an API Key for initial testing, we recommend using OAuth for production environments.

Scopes you may need:

recordings_export

For audio file URLs.

message_content_export

For SMS exports.

message_content_export:all

For company-wide message exports.

Tip

Review these articles before proceeding:

Frequently asked questions

Can I use the same Webhook for multiple reports?

Yes. You can configure several scheduled reports to send to the same Webhook URL.

What happens if my Webhook is down?

The delivery may fail. Make sure your Webhook has retry logic or monitoring in place.

Can I export call transcripts in bulk?

Not currently. Each transcript must be retrieved individually using its call_id.

How often can I schedule reports?

Reports can be scheduled daily, weekly, or monthly. The frequency is set in the frequency field of the API request.

Are Ai Summaries included in scheduled reports?

No. AI elements must be collected via event subscriptions.