Integrations

Connecting Power BI to HubSpot: how to do it (step by step)

K. Vanoirbeek

K. Vanoirbeek

Digitalization Expert

·12 March 202610 min read

You use HubSpot as your CRM and Power BI for management reporting. How do you get HubSpot data into Power BI automatically, without manual exports? This article explains the four methods and helps you make the best choice for your situation.

Your HubSpot CRM is full of valuable data: deals, contacts, activities, email campaigns, pipeline movements. Your Power BI environment holds the financial reports, production data, and management dashboards. But those two systems do not talk to each other by default. Connect them and HubSpot data starts appearing in your Power BI reports automatically, always current, no manual export needed.

There are four ways to connect Power BI to HubSpot. They range from simple but limited to powerful but technical. This article walks through each method, covers the pros and cons, and helps you pick the right approach for your situation.

Why connect Power BI to HubSpot?

The most common reason: you want to combine HubSpot sales data with financial figures. The pipeline in HubSpot shows expected revenue. Finance wants to compare that with invoiced revenue, margins, and cash flow. That is not possible in HubSpot alone. Power BI brings both together.

  • Combine HubSpot pipeline with invoiced revenue from your accounting software
  • Show sales performance alongside production capacity or delivery times from your ERP
  • Build a consolidated management dashboard across all departments
  • Analyse historical trends over multiple years without HubSpot limitations
  • Automate weekly or monthly management reporting
  • Add custom calculations that HubSpot's Report Builder does not support

Method 1: the Web connector in Power BI via the HubSpot REST API

Power BI Desktop does not have a built-in HubSpot CRM connector in its standard list. The most direct approach without external tools is the generic Web connector: via "Get Data", then "Web", you enter a HubSpot API URL and authenticate using a Private App Access Token. You create this token in HubSpot under Settings, Integrations, Private Apps.

The Web connector loads the API response as JSON into Power Query, where you transform it into usable tables. You can pull contacts, deals, companies, activities, and custom objects. The downside is that you need to be comfortable with Power Query M code: you must parse the JSON structure, select fields, and handle pagination. The HubSpot API returns a maximum of 100 records per request by default, so for large datasets you need to write a loop that works through all pages.

This is the most flexible approach with no extra licence costs, but it requires technical knowledge. If you do not have that in-house, method 2 or 3 is a better fit.

Method 2: HubSpot API via Power Query (recommended for more control)

The HubSpot REST API gives access to all data in your HubSpot account, including custom objects, custom properties, associations, and historical values. You call the API via Power Query M code in Power BI Desktop, using a Private App Access Token created in HubSpot under Settings, Integrations, Private Apps.

The advantage is complete flexibility. You retrieve exactly what you need, including fields the native connector does not expose. The downside is that you need to handle pagination yourself, since the HubSpot API returns a maximum of 100 records per request by default.

Tip: in your HubSpot Private App, only enable the scopes you actually need for your Power BI reporting, typically "CRM Objects Read". Keep permissions as narrow as possible. It is both safer and easier to manage.

Method 3: a connector tool (recommended for SMEs without a developer)

For businesses without a developer, or those who simply do not want to write M code, there are specialised connector tools that bridge HubSpot and Power BI:

  • Coupler.io: the simplest option, no-code setup, automatic refresh hourly or daily, free plan available. Check current pricing at coupler.io.
  • Supermetrics: strong for marketing analytics, combines HubSpot with Google Ads, Meta Ads, GA4, and more. Check current pricing at supermetrics.com.
  • Fivetran: enterprise-level, full data pipeline to a data warehouse such as Snowflake, BigQuery, or Azure Synapse. Most powerful, but also the most complex. Check current pricing at fivetran.com.
  • Windsor.ai: similar to Supermetrics but more affordable, strong for marketing attribution reporting. Check current pricing at windsor.ai.

For most SMEs, Coupler.io is the recommended starting point. You configure the HubSpot connection in about ten minutes, set automatic daily or hourly refresh, and your HubSpot data appears as a dataset in Power BI Service. No code, no gateway, no technical knowledge required.

Method 4: via Make or n8n to a database

The most robust option, though also the most complex: use an automation tool like Make (formerly Integromat) or n8n to export HubSpot data on a schedule to a relational database such as PostgreSQL, MySQL, or Azure SQL. Power BI then connects to that database via a direct connector.

This is the approach we recommend for businesses that want to build a data warehouse as the single source of truth. The database becomes the central place where data from HubSpot, the ERP, accounting, and other systems come together. Power BI reports only against that central database, not directly against the source systems.

Setting up automatic refresh in Power BI Service

  • Power BI Pro: maximum 8 scheduled refreshes per day, roughly every 3 hours
  • Power BI Premium: maximum 48 refreshes per day, roughly every 30 minutes
  • Coupler.io or Supermetrics: refresh interval depends on your plan, from hourly to daily
  • Make or n8n: fully configurable, can run every minute if needed

Common mistakes when connecting Power BI to HubSpot

  • Ignoring API rate limits: the HubSpot API allows a maximum of 100 requests per 10 seconds. Without delay logic in your M code or connector, you get 429 errors and failed refreshes
  • Dates and timezones: HubSpot stores timestamps in UTC as milliseconds since 1 January 1970. Power BI expects a standard date format. Skip the conversion and all dates are wrong, or show up as a 13-digit number
  • Missing custom properties: the native connector and basic API calls return standard HubSpot fields. Custom properties you created in HubSpot must be explicitly requested via the properties parameter in the API call
  • Datatype mismatches: HubSpot returns many fields as text strings, including fields you need as numbers or dates in Power BI. Skip the type conversion in Power Query and you cannot calculate with those fields
  • No incremental refresh: pulling the entire HubSpot database every time wastes time and API credits. Set up incremental refresh so Power BI only fetches new or changed records

One of our clients, a wholesaler with 8,000 contacts and 3,500 active deals in HubSpot, tried to set up the connection themselves but ran into rate limits and date conversion issues. After a guided two-day setup, they had a fully working Power BI connection with daily automatic refresh combined with their accounting data. Monthly management reporting went from 4 hours of manual work to fully automatic.

Which method do you choose?

The simplest decision: do you have a developer or technically experienced person in-house? Then method 2 via the API and Power Query is the most flexible and cost-efficient approach. No developer on the team? Coupler.io offers the best value for an SME. Want to build a future-proof data platform that goes beyond HubSpot alone? Then method 4, via Make or n8n to a central database, is worth the investment.

Need help setting up the connection, or unsure which approach suits your situation? We handle the complete setup, from API configuration and data modelling to the first live management dashboards.

About the author

K. Vanoirbeek

K. Vanoirbeek

Digitalization Expert

LinkedIn
Free, no-obligation 30-minute meeting

Ready to stop manual work?

Schedule a free consultation. We analyse your situation and show concrete savings opportunities, with no obligations.

No obligations · Response within 24 hours · 50+ projects delivered