Handleiding5 min

HubSpot koppelen aan Power BI: CRM-pijplijn en salesrapportages via OData

Koppel HubSpot aan Power BI via OData. Volg het stappenplan, laad CRM-tabellen en bereken dealbedragen met een voorbeeld voor je eigen verkooprapportage.

Auke Westra

Door Auke Westra

Founder of DigiData

Praktische handleiding. Dit artikel behandelt de stappen, controles en veelvoorkomende problemen. Bekijk de HubSpot productpagina voor ondersteunde data, werking en beschikbaarheid.

Kort antwoord

Je koppelt HubSpot aan Power BI door DigiData als beveiligde tussenlaag te gebruiken. DigiData synchroniseert je HubSpot contactpersonen, bedrijven en deals automatisch naar een gestructureerde OData-feed. In Power BI Desktop kies je Gegevens ophalen, OData-feed, voer je de feed-URL in en verifieer je met Basic-authenticatie (API-sleutel in het wachtwoordveld). Deals bevatten bedrag, pijplijn, fase en sluitingsdatum, waarmee je zonder API-scripts betrouwbare sales- en conversiedashboards bouwt.

Waarom HubSpot CRM koppelen aan Power BI?

Noem de OData-tabel HubSpot_Deals in Power Query Deals voordat je onderstaande DAX-measure gebruikt. HubSpotDeal is de modelnaam in de backend, niet de naam die je in de feed moet zoeken. Fase-ID’s en open/gesloten classificaties kunnen per portal verschillen; pas de voorbeeldlijst aan jouw pijplijn aan.

HubSpot biedt ingebouwde dashboards, maar groeiende organisaties lopen al snel tegen de grenzen aan wanneer salesdata moet worden gecombineerd met financiële ERP-data (zoals Exact Online of Twinfield) of projectsoftware (zoals Bouw7 of Robaws). Directies en commercieel managers willen in Power BI één consistent overzicht van de salesfunnel, openstaande deals, pijplijnwaarde en gerealiseerde omzet.

Zonder geautomatiseerde datakoppeling leidt dit tot wekelijkse handmatige exports naar spreadsheets. Dat kost tijd, leidt tot versieconflicten en maakt periodieke directierapportages foutgevoelig. Een OData-koppeling via DigiData structureert de CRM-data en stelt tabellen direct beschikbaar voor Power BI.

De technische architectuur: OAuth en periodieke synchronisatie

Het rechtstreeks bevragen van de HubSpot REST API vanuit Power Query stuit op uitdagingen: OAuth 2.0 tokenvernieuwing, strikte paginering en dagelijkse API-aanroeplimieten.

DigiData ontkoppelt dit proces in twee duidelijke stappen:

  1. Autorisatie in de DigiData portal: Je verbindt je HubSpot-account eenmalig via officiële OAuth 2.0. DigiData vraagt uitsluitend strikt afgebakende leesrechten aan (oauth, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read). Er worden geen eigenaarrechten (owners.read) of custom schema-rechten opgevraagd.
  2. Achtergrondsynchronisatie: DigiData haalt periodiek de geselecteerde data op en slaat deze op in een geïsoleerde tenant-database. Hierdoor belasten interactieve dashboard-refreshes in Power BI nooit direct je HubSpot API-limieten tijdens werkuren.

Downstream OData feed en Power BI authenticatie

Na de synchronisatie ontsluit DigiData de data via een beveiligde OData-feed. In Power BI Desktop configureer je de verbinding als volgt:

  1. Open Power BI Desktop, kies Gegevens ophalen (Get Data) en selecteer OData-feed.
  2. Plak de unieke DigiData feed-URL uit je dashboard.
  3. Kies bij de verificatiemethode voor Basis (Basic). Voer in het veld Wachtwoord je DigiData OData API-sleutel in. De gebruikersnaam mag willekeurig zijn (zoals apikey), omdat DigiData de sleutel in het wachtwoordveld valideert en de gebruikersnaam negeert.
  4. Klik op Verbinden. In de Navigator verschijnen de tabellen direct.

Ondersteunde gegevensentiteiten en bereik

De DigiData HubSpot synchronisatie richt zich bewust op de drie centrale CRM-kernentiteiten:

  • Deals (HubSpotDeal): Bevat de dealnaam (Name), het orderbedrag (Amount), de pijplijn-identificatie (Pipeline), de fase-identificatie (Stage), de verwachte sluitingsdatum (CloseDateUtc), externe ID (ExternalId) en tijdstempels.
  • Bedrijven (HubSpotCompany): Bevat bedrijfsnaam (Name), domeinnaam (Domain), vestigingsplaats (City), land (Country), sector (Industry) en telefoonnummer (Phone).
  • Contactpersonen (HubSpotContact): Bevat voornaam, achternaam, e-mailadres, telefoonnummer, functietitel (JobTitle) en bedrijfsnaam (Company).

[!NOTE] Belangrijke scope-afbakening: De feed levert de actuele snapshot-records. Er is geen historische pijplijn-statustabel, geen automatische waarschijnlijkheidsweging (probability weights) en geen berekening van verblijftijd per fase (time-in-stage) opgenomen in de datalaag. Deze analytische logica configureer je naar eigen inzicht in Power BI.

Datamodellering, relaties en rapportagegroepering

Omdat de brondataset geen relationele koppeltabel tussen deals en bedrijven meelevert, modelleer je relaties in Power BI op basis van de aanwezige identificerende kenmerken:

  1. Fase- en pijplijngroepering: De velden Pipeline en Stage bevatten de technische HubSpot-ID's (zoals pipeline = "default" en stage = "contractsent"). Maak in Power BI een eenvoudige referentietabel (Dim_Stage) aan met kolommen voor de technische Stage ID, de gewenste weergavenaam (bijv. "Offerte verstuurd") en een sorteervolgorde (SortOrder 1 t/m 5). Koppel deze aan de deals-tabel voor een overzichtelijke funnel.
  2. Tijdshorizon en cohorten: Koppel CloseDateUtc aan een centrale datumdimensie (Calendar) om kwartaalprognoses en maandelijkse conversieratio's te visualiseren.

Praktijkvoorbeeld met expliciet fictieve dealdata

Onderstaande tabel toont een uitgewerkt praktijkvoorbeeld van hoe de dealstabel in Power BI gestructureerd binnenkomt en kan worden geaggregeerd. Alle genoemde bedrijfsnamen, bedragen en datums zijn expliciet fictief en dienen uitsluitend ter illustratie van de berekeningen:

Dealnaam (Fictief)Pijplijn (ID)Fase (Stage ID)SluitingsdatumBedrag (EUR)
Apex Retail Migratiedefaultqualifiedtobuy2026-10-15€ 24.500
Beta Logistics ERP Koppelingdefaultpresentationscheduled2026-10-31€ 42.000
Gamma Trade Jaarlicentiedefaultcontractsent2026-11-15€ 18.000
Delta Infra Vernieuwingrenewalsclosedwon2026-09-30€ 55.000
Epsilon Services Pilotdefaultclosedlost2026-09-20€ 12.000

In Power BI definieer je op basis van deze tabel eenvoudige, krachtige DAX-measures:

  • Pijplijnwaarde Open: Totale Pijplijn = CALCULATE(SUM(Deals[Amount]), Deals[Stage] IN {"qualifiedtobuy", "presentationscheduled", "contractsent"})
  • Verwachte Sluiting Kwartaal: filter op CloseDateUtc binnen het lopende verslagkwartaal.

Power BI Service geplande vernieuwing

Na publicatie van het rapport naar Power BI Service configureer je de geplande gegevensvernieuwing:

  • Ga naar de instellingen van het semantische model en open Gegevensbronreferenties (Data source credentials).
  • Kies voor Basic authenticatie, vul je DigiData API-sleutel in als wachtwoord en stel het privacyniveau in op Organisatorisch.
  • Microsoft documenteert in de officiële handleiding over de OData-connector dat Basic-authenticatie in Power BI Service afhankelijk is van host- en gateway-ondersteuning. Raadpleeg bij verificatiefouten de richtlijnen van Microsoft Learn.
  • Plan de vernieuwing in nadat DigiData de dagelijkse synchronisatie heeft afgerond.

Samenvatting

Door HubSpot via DigiData aan Power BI te koppelen, combineer je salesstatistieken direct met je overige bedrijfskritische rapportages. Je werkt met actuele, gestructureerde tabellen zonder handmatige exports of kwetsbare maatwerkscripts. Lees meer over de HubSpot integratie of ontdek de mogelijkheden van Power BI rapportages.

Bronnen

Auke Westra

Over Auke Westra

Founder of DigiData

Auke Westra is Founder of DigiData en schrijft over data-integraties, OData en Power BI.

Klaar om te starten?

Probeer DigiData 14 dagen gratis. Verbind je software, laad je data in Power BI en ontdek het verschil.

Neem contact op

Gerelateerde artikelen