HubSpot, Google Sheets, and Slack: the three-tool stack that does 80% of revenue reporting
HubSpot is the CRM. Sheets is where the actual model lives. Slack is where the humans are. Here is how to wire the three together without building a data warehouse you do not need.
HubSpot, Google Sheets, and Slack: the three-tool stack that does 80% of revenue reporting
You will find this exact setup at almost every revenue team between, say, ten and three hundred people:
- HubSpot holds the source of truth for the pipeline.
- Google Sheets holds the real numbers — HubSpot data crossed with the things HubSpot doesn't know about (Stripe MRR, ad spend, the discount we agreed verbally last quarter).
- Slack is where the team actually reads anything.
Each tool is good at its job. The friction lives in the seams between them. The fix isn't a data warehouse — it's just better plumbing.
What each tool is actually for
HubSpot. Great CRM, fine reporting, brilliant at HubSpot-only views. Stops being useful the moment you need to combine its data with anything outside it.
Sheets. The universal solvent. You pull HubSpot into it, you add the columns HubSpot doesn't know about (annual contract value the way you actually calculate it, segments your sales team made up two weeks ago, target numbers nobody wrote down). The chart you would have made in a "real BI tool" lives here, and it lives here faster.
Slack. The channel. A chart that only exists in Sheets gets opened by the person who built it and absolutely nobody else.
Three shapes the integration takes
HubSpot direct to Slack
When the chart is fundamentally HubSpot-shaped — deals by stage, MQLs this week, pipeline created — you don't need a Sheet in the middle. Connect HubSpot to Slack via Chartcastr. The chart pulls live, no spreadsheet, no export, no cron.
This is what we go into in HubSpot pipeline weekly review in Slack.
HubSpot through Sheets to Slack
When the chart needs a column HubSpot doesn't have — quota, target, blended CAC, anything finance touches — keep the Sheet. Sync HubSpot data into it (native HubSpot sync, Coefficient, your own script, doesn't matter). Build the chart in the Sheet. Use Chartcastr to post the Sheet's chart to Slack on a cadence.
The Sheet is the workshop. The chart is the deliverable. Slack is the room.
HubSpot and Sheets, both, to the same channel
The interesting case. Two charts, one channel, on the same cadence. HubSpot posts the live pipeline view at 9am Monday. Sheets posts the "pipeline against quota" view at 9:01am. The team gets both in a glance and the channel reads as one report.
If you want the multi-source case more broadly: agency multi-source internal reporting.
The "but should we just build a warehouse" question
You'll get this internally at some point. Someone will suggest piping HubSpot into BigQuery, modelling it in dbt, surfacing it in Looker, embedding in Slack. They are not wrong. They are also describing three months of work for a chart that could live in a Sheet by Friday.
The warehouse is right when:
- You have a data team.
- You have three or more SaaS sources that need genuine joins.
- The Sheet has stopped scaling, not just stopped being elegant.
It is wrong when "the Sheet is ugly" is the only argument. Ugly is not a business case. We wrote about this in BI for the 90% without a warehouse.
What a sensible stack looks like
A typical Chartcastr config for a 50-person revenue team:
#sales, daily — deals created this week, straight from HubSpot.#leadership, weekly Monday — pipeline vs quota, from a Sheet that pulls HubSpot.#growth, monthly — CAC by channel, from a Sheet that joins HubSpot deals to ad-platform spend.
Three connections. Three cadences. Nobody opens HubSpot to read any of them.
Setting it up
- Add HubSpot and Google Sheets as sources in Chartcastr.
- For HubSpot-native charts: build the report in HubSpot, pick it, pick a channel.
- For Sheets-modelled charts: build the chart in Sheets like you would anyway, pick it, pick a channel.
- Pick cadences. Move on with your week.






