How to Connect HubSpot to Power BI

Cody Schneider8 min read

Getting your HubSpot CRM data into Power BI is a great way to build powerful, interactive dashboards that show you the full picture of your sales and marketing performance. This guide walks you through the best methods to connect the two platforms, from simple exports to direct API connections. We'll cover each option step-by-step so you can get your HubSpot data visualized in no time.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Why Connect HubSpot to Power BI?

While HubSpot has its own excellent reporting tools, connecting it to Power BI opens up a new level of analysis. Most businesses don’t just use HubSpot, you have accounting software, ad platforms, and other data sources. Power BI allows you to merge all that data into one place.

Here’s what you gain:

  • Unified Dashboards: Combine your HubSpot sales data with marketing spend from Google Ads, financial data from QuickBooks, and support tickets from Zendesk. This gives you a complete, cross-functional view of your business health.
  • Advanced Visualizations: Power BI offers more advanced and customizable charting options than HubSpot’s native dashboards. You can create precisely the report you need, exactly how you envision it.
  • Complex Data Modeling: You can build sophisticated data models, creating custom relationships, calculated columns, and DAX measures that wouldn't be possible within HubSpot alone. This helps you answer very specific business questions, like calculating true customer lifetime value by original marketing source.
  • Scheduled Refreshes and Sharing: Automate data updates and share secured dashboards with executives or stakeholders who don't have (and shouldn't have) access to your HubSpot portal.

Method 1: The Quick-and-Dirty CSV Export

The simplest way to get data from HubSpot to Power BI is a manual export. It’s far from perfect, but for a one-time report or a quick analysis, it gets the job done.

This method doesn’t give you a live connection - your report won’t update automatically - but it only takes a couple of minutes.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Step-by-step instructions:

  1. Log in to your HubSpot account.
  2. Navigate to the data you want to export (e.g., Contacts, Deals, Companies).
  3. Create a view that includes all the properties (columns) you want in your report.
  4. In the top right, look for an "Export" button. HubSpot will let you choose CSV, XLS, or XLSX. Go with CSV.
  5. HubSpot will email you a link to download the file.
  6. Open Power BI Desktop. Go to Get Data > Text/CSV and select the file you just downloaded. Power BI will automatically format it into a table to start building your report.

The Downside: This is a completely manual process. Your data is stale the moment you export it. If you need a report that's always up-to-date, this isn't the right solution. You’ll find yourself repeating this process every day or week, which quickly becomes tedious.

Method 2: Using a Third-Party Connector

If you need an automated, reliable connection without writing any code, a third-party data connector is your best bet. These tools are built specifically to bridge the gap between platforms like HubSpot and Power BI.

Connectors usually come with a monthly subscription fee, but they save you an enormous amount of technical effort. They handle the API authentication, data extraction, and scheduled refreshes for you.

Popular Options Include:

  • CData Power BI Connector for HubSpot: A robust tool that lets you connect to your HubSpot data just like a standard database.
  • Supermetrics: Popular in the marketing world, it can pull data from HubSpot and many other marketing platforms directly into Power BI.
  • Integromat/Make or Zapier: While mostly for automation, you can create workflows that push HubSpot data to a Google Sheet or another intermediary data source, which Power BI can then connect to. This is a bit of a workaround but can be effective.

Using one of these tools typically involves installing their software, providing your HubSpot credentials to authenticate the connection, and then selecting the data objects you want to pull into Power BI. They’ll appear in your "Get Data" source list, simplifying the entire workflow.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Method 3: The Direct API Connection (for technical users)

If you're comfortable working with APIs and Power Query, you can connect directly to the HubSpot API for free. This gives you the most control and a live data connection without paying for a third-party tool. It requires a few more steps, but it’s an incredibly powerful skill to learn.

HubSpot's newer APIs use Private Apps for authentication, which is more secure than old API keys. Here’s how to set it up.

Step 1: Create a Private App in HubSpot

First, you need to generate an Access Token so Power BI can securely talk to HubSpot.

  1. In your HubSpot account, click the Settings gear icon in the main navigation bar.
  2. In the left sidebar, navigate to Integrations > Private Apps.
  3. Click Create a private app.
  4. Give your app a name (e.g., "Power BI Connection") and a description.
  5. Go to the Scopes tab. This is where you grant your app permission to access certain data. Find the data you need (like crm.objects.deals.read and crm.objects.contacts.read) and check the boxes. Be specific - only grant the read permissions you absolutely need.
  6. Click Create app. A warning will appear, continue.
  7. HubSpot will show you your app’s Access Token. Copy it and save it somewhere secure. Treat this like a password!

Step 2: Connect Power BI to the HubSpot API

Now, let's use that token in Power BI Desktop.

  1. In Power BI, click Get Data > Web.
  2. Choose the Advanced option.
  3. Now you need the API endpoint URL for the data you want. For example, to get your Deals, you’d use something like this URL (be sure to include any properties you want): https://api.hubapi.com/crm/v3/objects/deals?properties=dealname,amount,dealstage,closedate
  4. In the "URL parts" box, paste that API endpoint URL.
  5. Under "HTTP request header parameters," add a new entry:
  6. Click OK.

Step 3: Transform The Data in Power Query

If the connection is successful, the Power Query Editor will open. The data from HubSpot comes in a JSON format, which isn't immediately usable. You'll see a record called "results" that you need to transform into a table.

  1. A list called results will appear. In the Transform ribbon at the top, click To Table. Click OK on the dialog box.
  2. Now you have a column named Column1 containing Records. Click the expand icon (two diverging arrows) next to the column header.
  3. Uncheck Use original column name as prefix and select all the properties you want in your table (e.g., id, properties.dealname, properties.amount). Click OK.
  4. Success! Your data is now in a flat table. Some columns might still contain records (like properties). Just click the expand icon on those columns again until you have all the fields you need.
  5. Click Close & Apply in the top-left to load your HubSpot data into your Power BI model.

Note on API Limitations: HubSpot's API returns data in "pages" - up to 100 items at a time. If you have more than 100 deals, you’ll need to handle pagination to get all your data. This involves writing a more advanced Power Query function to loop through the pages until all data is retrieved. While beyond a basic guide, searching for "Power Query Web.Contents pagination" will point you toward advanced tutorials to solve this.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Best Practices for Your HubSpot Power BI Reports

Once you've connected your data, keep these tips in mind to build effective and efficient reports:

  • Be Selective About Data: Don’t try to import every single field from HubSpot. It will slow down your report. Only pull the properties you need for your visualizations.
  • Understand Rate Limits: APIs have limits on how many calls you can make in a given time. If you refresh too often or pull too much data, you may hit a limit. For most reporting needs, refreshing a few times a day is plenty.
  • Build a Clean Data Model: Before you start building charts, go to the "Model" view in Power BI. Set up the correct relationships between your tables (e.g., connect Deals to Companies). This is what enables you to create powerful, sliceable reports.
  • Schedule Your Refresh: After you publish your report to the Power BI Service (the web version), set up a scheduled refresh. In the dataset settings, you'll need to re-enter your API credentials to allow Microsoft's cloud servers to refresh the data automatically.

Final Thoughts

Connecting HubSpot to Power BI gives you the freedom to build comprehensive and customized business dashboards. Whether you use a quick CSV export, a simple third-party connector, or a direct API connection, visualizing your CRM data alongside your other business metrics will unlock deeper insights into your performance.

If managing API tokens and wrestling with Power Query seems like more trouble than it's worth, you might appreciate the way we've tackled this problem. We built Graphed to be the easiest way to get insights from all your marketing and sales tools. We connect directly to HubSpot and your other data sources in a few clicks, and from there you just ask questions in plain English - no technical skills needed. You can request a "sales pipeline dashboard" or ask "what were our total deals closed last quarter by sales rep?" and our AI builds the charts for you in real time.

Related Articles