Building Reports and Dashboards in HubSpot (and What They Can't See)
HubSpot's custom report builder lets you build charts and tables off CRM data and group them into shareable dashboards, with standard reports (sales performance, email performance) included out of the box. Professional and Enterprise portals get the full custom report builder natively; Starter portals can add it as a paid Reporting Add-on. None of it, at any tier, can report on data that was never synced into HubSpot in the first place.
What the native report builder actually gives you
The custom report builder works like a drag-and-drop query tool: pick an object (contacts, deals, tickets), pick the properties and date range, choose a chart type, and save it. Cross-object reports, blending deal data with ticket data, say, are the more powerful version of this, and they're the part that's historically been gated behind higher tiers or the Reporting Add-on rather than included everywhere by default.
Dashboards are just collections of saved reports, arranged on one screen and shareable with a team or scheduled as an email digest on a recurring basis, which covers distribution inside HubSpot reasonably well. Standard, pre-built reports for things like deal velocity or email open rates come with every portal and don't require building anything from scratch.
What it can't see
A report can only use data that already lives on a HubSpot object. If the metric you actually care about is true gross margin after cost of goods, on-time fulfillment rate, or anything else that only your accounting or ops system knows, the report builder has nothing to pull from until that number gets synced onto a HubSpot property or custom object first. The dashboard looks complete; it's just missing the half of the picture that never made it into HubSpot.
The other gap is getting a saved report's exact computed output out of HubSpot on a schedule, into a shared drive or another BI tool, rather than just emailing it as a digest. There's no API that hands back a custom report's rendered table the way the report itself shows it; the practical native path is a person opening it and clicking Export. Where there's genuinely no API for that, we automate the export itself through browser automation, so it still lands on schedule without someone remembering to click it.
What that looks like built out
Dashboards that include the number accounting actually has
Margin, fulfillment status, or any figure that lives outside HubSpot gets synced onto a custom object so the dashboard your sales leader checks every Monday isn't missing the half that matters most.
Scheduled exports that don't need a click
A saved report that used to require someone logging in and exporting it manually now lands wherever it needs to, on the schedule it needs to, automated end to end.
What's the number your dashboard is missing?
If it exists in another system and never makes it onto the report, that's a sync problem, not a HubSpot limitation you have to live with.
Dashboard looks complete but still missing the number that actually matters?
Tell us what figure never makes it into HubSpot, margin, fulfillment, support load, whatever it is. We'll look at what it would take to get it onto a report people already check daily. Reporting is one example; n-frames automates whatever's manual, in HubSpot or in whatever system is actually holding the number you need.
Let's talk