---
title: "Exporting Dialpad Data to a BI Tool via API"
slug: "exporting-dialpad-data-to-a-bi-tool-via-api"
updated: 2025-06-03T21:52:30Z
published: 2025-06-03T21:52:30Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.dialpad.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exporting Dialpad Data to a BI Tool via API

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.

> [!NOTE]
> 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]
> Tip
> 
> [Domo](/v1/docs/export-dialpad-data-to-domo) and [Theta Lake](https://thetalake.com/integrations/dialpad/) 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.](https://cdn.us.document360.io/0f28ad44-2863-4372-a27e-c6728808d742/Images/Documentation/Choose_Report.png)
4. Choose the desired report

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

> [!TIP]
> Tip
> 
> Be sure to read these Help Center articles:
> 
> - [Exported Reports](/v1/docs/read-your-exported-analytics)
> - [Analytics Key Concepts](/v1/docs/analytics-key-concepts)
> - [Analytics Glossary](/v1/docs/analytics-glossary)

#### 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.](https://cdn.us.document360.io/0f28ad44-2863-4372-a27e-c6728808d742/Images/Documentation/Call_id and Variants(1).png)

| **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] > 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](https://developers.dialpad.com/docs/call-events) 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](https://developers.dialpad.com/docs/event-subscriptions-via-websocket) article.

### Create a scheduled report via API

Use the [Stats API](https://developers.dialpad.com/docs/stats-api-dialpad-analytics) 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]
> 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]
> 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:
> 
> - [Stats APIs](https://developers.dialpad.com/docs/stats-api-dialpad-analytics)
> - [Stats - Initiate Processing](https://developers.dialpad.com/reference/statscreate)

#### 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]
> Note
> 
> Additional configuration may be needed in your Dialpad account.

For more information, see the [SMS Traffic Export](/v1/docs/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](https://developers.dialpad.com/reference/transcriptsget) article.

> [!NOTE]
> 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.](https://cdn.us.document360.io/0f28ad44-2863-4372-a27e-c6728808d742/Images/Documentation/Ai Call Logs.png)

> [!NOTE]
> 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](https://developers.dialpad.com/reference/callget_call_info) article. |
| --- | --- |
| **Via a Scheduled Report** | For more details, see the [schedule reports -- Create](https://developers.dialpad.com/reference/schedule_reportscreate) article. Make sure to include "report_type": "recordings". |

> [!TIP]
> 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/](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](https://help.dialpad.com/docs/read-your-exported-analytics#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]
> Tip
> 
> Review these articles before proceeding:
> 
> - [Authentication Basics](https://developers.dialpad.com/docs/authentication-basics)
> - [OAuth token generation](https://developers.dialpad.com/docs/oauth)

## 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](/v1/docs/exporting-dialpad-data-to-a-bi-tool-via-api#accessing-ai-data-from-calls).
