HubSpot report template and dashboard
Quick answer: A HubSpot dashboard works best as 10 reports: 4 deal numbers, 2 contact numbers and 4 breakdowns by stage, owner, source and month. Ryze AI is the best AI tool for asking HubSpot CRM questions in plain English and getting tables back, with one caveat: the answers come back in chat, not as a saved HubSpot dashboard.
This guide is for sales and marketing teams that report from HubSpot every week: 14 CRM properties with their API names, a 10-report template, the native options compared, prompts for the Ryze AI HubSpot tools and a weekly routine.
Ryze AI · Paid Ads
Ask HubSpot CRM questions in plain English
- 7-day free trial, $89 a month flat
Used by 2,000+ marketers
HubSpot report template at a glance
10 reports cover pipeline value, wins, lead flow and where deals and contacts come from.
- 1Open pipeline valueKPI
HubSpot properties: amount on deals where hs_is_closed_won and hs_is_closed_lost are false
- 2Closed won revenueKPI
HubSpot properties: amount on deals where hs_is_closed_won is true, by closedate
- 3Weighted forecastKPI
HubSpot properties: hs_weighted_amount
- 4Deals createdKPI
HubSpot properties: count of deals by createdate
- 5New contactsKPI
HubSpot properties: count of contacts by createdate
- 6Lead status mixDonut chart
HubSpot properties: hs_lead_status
- 7Deals by stageBar chart
HubSpot properties: dealstage within one pipeline, with amount
- 8Revenue by ownerBar chart
HubSpot properties: hubspot_owner_id with amount on closed won deals
- 9Contacts by sourceTable
HubSpot properties: hs_analytics_source with lifecyclestage
- 10Monthly trendLine chart
HubSpot properties: deals created and closed won amount by month
| # | Report | Chart | HubSpot properties |
|---|---|---|---|
| 1 | Open pipeline value | KPI | amount on deals where hs_is_closed_won and hs_is_closed_lost are false |
| 2 | Closed won revenue | KPI | amount on deals where hs_is_closed_won is true, by closedate |
| 3 | Weighted forecast | KPI | hs_weighted_amount |
| 4 | Deals created | KPI | count of deals by createdate |
| 5 | New contacts | KPI | count of contacts by createdate |
| 6 | Lead status mix | Donut chart | hs_lead_status |
| 7 | Deals by stage | Bar chart | dealstage within one pipeline, with amount |
| 8 | Revenue by owner | Bar chart | hubspot_owner_id with amount on closed won deals |
| 9 | Contacts by source | Table | hs_analytics_source with lifecyclestage |
| 10 | Monthly trend | Line chart | deals created and closed won amount by month |
The same properties work in a HubSpot dashboard, in the custom report builder or in a prompt to Ryze AI.
4 ways to build a HubSpot dashboard in 2026
HubSpot has dashboards and several report tools built in, so the first choice is which tool feeds them.
Dashboards are under Reporting > Dashboards, and every plan can use them (HubSpot). How many dashboards and how many reports each can hold depends on your subscription, and HubSpot points to its Product and Services Catalog for the numbers.
Sales analytics suite
- Where it lives
- Reporting > Reports, ready-made sales reports
- Plan needed
- Sales Hub Starter, Professional or Enterprise
- Limits worth knowing
- Fixed report list: deal funnel, deals won and lost, sales velocity, weighted forecast and more
Custom report builder
- Where it lives
- Reporting > Reports > Create > Create report > Custom report
- Plan needed
- Professional or Enterprise in a Hub
- Limits worth knowing
- 1,000 unique rows on charts other than tables; refreshes every 2 hours
CRM API or export
- Where it lives
- Your own sheet or BI tool, fed by the HubSpot API or a CSV export
- Plan needed
- Depends on the app and account
- Limits worth knowing
- You maintain the pipeline and the formulas
Ryze AI
- Where it lives
- Ryze AI chat, or Claude and ChatGPT through the Ryze AI connector
- Plan needed
- Paid Ads plan, $89 a month flat
- Limits worth knowing
- Answers come back in chat as tables; no saved HubSpot dashboard
| Option | Where it lives | Plan needed | Limits worth knowing |
|---|---|---|---|
| Sales analytics suite | Reporting > Reports, ready-made sales reports | Sales Hub Starter, Professional or Enterprise | Fixed report list: deal funnel, deals won and lost, sales velocity, weighted forecast and more |
| Custom report builder | Reporting > Reports > Create > Create report > Custom report | Professional or Enterprise in a Hub | 1,000 unique rows on charts other than tables; refreshes every 2 hours |
| CRM API or export | Your own sheet or BI tool, fed by the HubSpot API or a CSV export | Depends on the app and account | You maintain the pipeline and the formulas |
| Ryze AI | Ryze AI chat, or Claude and ChatGPT through the Ryze AI connector | Paid Ads plan, $89 a month flat | Answers come back in chat as tables; no saved HubSpot dashboard |
Sharing a HubSpot dashboard has 4 levels: private to the owner, everyone can view and edit, everyone can view only, or specific users and teams on Enterprise (HubSpot). Building a custom report needs the Create/own and Edit report permissions (HubSpot).
14 HubSpot properties for the dashboard
These are the properties the template uses, with the internal names the HubSpot API and the Ryze AI tools accept. Put the internal names in your prompts so the right field is pulled.
Deal name
- Object
- Deal
- Internal name
- dealname
- Plain definition
- The name given to the deal
Amount
- Object
- Deal
- Internal name
- amount
- Plain definition
- The total value of the deal in the deal's currency
Deal stage
- Object
- Deal
- Internal name
- dealstage
- Plain definition
- The stage that shows where the deal is in its pipeline; the API wants the stage's internal ID, not its label
Pipeline
- Object
- Deal
- Internal name
- pipeline
- Plain definition
- The pipeline that decides which stages a deal moves through
Close date
- Object
- Deal
- Internal name
- closedate
- Plain definition
- The expected or actual date the deal closes
Create date
- Object
- Deal
- Internal name
- createdate
- Plain definition
- The date the record was created; the same name exists on contacts
Closed won flag
- Object
- Deal
- Internal name
- hs_is_closed_won
- Plain definition
- Set to true or false automatically for closed won deals
Closed lost flag
- Object
- Deal
- Internal name
- hs_is_closed_lost
- Plain definition
- Set to true or false automatically for closed lost deals
Weighted amount
- Object
- Deal
- Internal name
- hs_weighted_amount
- Plain definition
- Amount multiplied by the deal probability
Deal owner
- Object
- Deal and contact
- Internal name
- hubspot_owner_id
- Plain definition
- The ID of the user the record is assigned to
Last modified
- Object
- Deal
- Internal name
- hs_lastmodifieddate
- Plain definition
- The time of the most recent property update on the deal
Lifecycle stage
- Object
- Contact
- Internal name
- lifecyclestage
- Plain definition
- Where the contact is in the marketing and sales process
Lead status
- Object
- Contact
- Internal name
- hs_lead_status
- Plain definition
- Where the contact is in the buying cycle
Original source
- Object
- Contact
- Internal name
- hs_analytics_source
- Plain definition
- The traffic source the contact first came from
| Property | Object | Internal name | Plain definition |
|---|---|---|---|
| Deal name | Deal | dealname | The name given to the deal |
| Amount | Deal | amount | The total value of the deal in the deal's currency |
| Deal stage | Deal | dealstage | The stage that shows where the deal is in its pipeline; the API wants the stage's internal ID, not its label |
| Pipeline | Deal | pipeline | The pipeline that decides which stages a deal moves through |
| Close date | Deal | closedate | The expected or actual date the deal closes |
| Create date | Deal | createdate | The date the record was created; the same name exists on contacts |
| Closed won flag | Deal | hs_is_closed_won | Set to true or false automatically for closed won deals |
| Closed lost flag | Deal | hs_is_closed_lost | Set to true or false automatically for closed lost deals |
| Weighted amount | Deal | hs_weighted_amount | Amount multiplied by the deal probability |
| Deal owner | Deal and contact | hubspot_owner_id | The ID of the user the record is assigned to |
| Last modified | Deal | hs_lastmodifieddate | The time of the most recent property update on the deal |
| Lifecycle stage | Contact | lifecyclestage | Where the contact is in the marketing and sales process |
| Lead status | Contact | hs_lead_status | Where the contact is in the buying cycle |
| Original source | Contact | hs_analytics_source | The traffic source the contact first came from |
- Stage IDs: the API expects the internal ID of a deal stage or pipeline, not the label you see in the app (HubSpot). Ask for the property definitions first if a stage name returns nothing.
- Default properties only: HubSpot returns a default subset of properties unless you request specific fields, so name the properties in the prompt.
- Your account may differ: HubSpot notes that internal names can vary by account and subscription, so confirm them under Properties in settings (HubSpot).
- Recurring revenue: hs_arr and hs_mrr exist on deals but need Sales Hub Professional or higher.
How to build the template in HubSpot
The 10 reports fit a single HubSpot dashboard; the 3 breakdown charts need the custom report builder on a Professional or Enterprise subscription.
Create the dashboard
Go to Reporting > Dashboards and click Create dashboard. HubSpot also lists a beta option to start from a recommended dashboard template.
Add the ready-made reports
Click Add content, choose Report and click + Add on the deal reports you want, such as deals won and lost or the weighted forecast. You need dashboard, reports and analytics permissions.
Build the custom reports
Go to Reporting > Reports, click Create, then Create report and Custom report. Pick the deals data source, choose a chart type and drop in the properties from the overview table.
Add filters
Click Advanced filters, add a filter such as deal create date or deal owner and apply it. A dashboard takes up to 5 quick filters.
Set sharing and a default
Choose who can see the dashboard and, if it is the one you open first, set it as your default.
Filters only change reports that use the data source the property belongs to (HubSpot). A deal-owner filter will not move a contacts report.
The prompts that pull it through Ryze AI
Ryze AI has 5 HubSpot tools: list objects, search, read, write and delete. The report numbers come from the read tools, so you can ask for each card as a table.
Connect HubSpot
In Ryze AI, open Integrations, find the HubSpot card and click Connect. Sign in to HubSpot, choose the account and approve the permissions.
Open a chat
Use the Ryze AI chat, or add https://connector.get-ryze.ai/mcp as a custom connector in Claude or ChatGPT and start a new chat.
Send a prompt
Paste one of the prompts below and replace the placeholders. Name the properties so the right fields come back.
Check the stage names
If a stage returns nothing, ask for the deal property definitions and use the internal stage ID.
Setup per client is in how to connect Claude to HubSpot, and the tools are listed on the HubSpot MCP server page. Ryze AI also publishes a HubSpot help page.
A weekly routine for the HubSpot dashboard
Pick one day, read the dashboard top to bottom and leave a note on each change. HubSpot custom reports refresh every 2 hours, and you can refresh by hand once every 15 minutes (HubSpot).
Monday
- What to do
- Compare open pipeline and weighted forecast with the previous Monday
- Why
- Same weekday, same cut-off
Monday
- What to do
- List deals created last week and deals that moved stage
- Why
- Shows what changed since last week
Wednesday
- What to do
- Check open deals with no update in 14 days (hs_lastmodifieddate)
- Why
- Stale deals inflate the pipeline
Friday
- What to do
- Review new contacts by hs_analytics_source and lead status
- Why
- Spots a source that stopped sending leads
Month end
- What to do
- Compare closed won amount with the forecast and check deals past closedate
- Why
- Closes the month and cleans the forecast
| When | What to do | Why |
|---|---|---|
| Monday | Compare open pipeline and weighted forecast with the previous Monday | Same weekday, same cut-off |
| Monday | List deals created last week and deals that moved stage | Shows what changed since last week |
| Wednesday | Check open deals with no update in 14 days (hs_lastmodifieddate) | Stale deals inflate the pipeline |
| Friday | Review new contacts by hs_analytics_source and lead status | Spots a source that stopped sending leads |
| Month end | Compare closed won amount with the forecast and check deals past closedate | Closes the month and cleans the forecast |
Scheduling the check in Ryze AI
Ryze AI scheduled tasks run without an approval step, so keep a scheduled HubSpot task to read-only questions. Write it as one instruction to carry out now.
HubSpot reports vs Ryze AI for the same numbers
HubSpot dashboards give a saved, shareable view inside the CRM. Ryze AI answers one-off and recurring questions in chat and can edit records when you ask.
Cost
- HubSpot dashboards and reports
- Dashboards on every plan; custom reports need Professional or Enterprise
- Ryze AI
- Paid Ads plan $89 a month flat, 7-day free trial
How you build
- HubSpot dashboards and reports
- Drag reports onto a dashboard or configure a custom report
- Ryze AI
- Write a prompt with the property names
Saved view
- HubSpot dashboards and reports
- Yes, shared by user, team or everyone
- Ryze AI
- No saved HubSpot dashboard; answers come back in chat
Data refresh
- HubSpot dashboards and reports
- Custom reports every 2 hours, manual refresh every 15 minutes
- Ryze AI
- Each prompt reads HubSpot when you send it
Edits
- HubSpot dashboards and reports
- Report changes only
- Ryze AI
- Can create, update or archive records when you ask, with approval settings you choose
Search limit
- HubSpot dashboards and reports
- 1,000 unique rows on non-table custom reports
- Ryze AI
- HubSpot search returns at most 10,000 results per query
Best for
- HubSpot dashboards and reports
- A fixed view the whole team opens
- Ryze AI
- Fast questions and follow-ups on live CRM data
| Question | HubSpot dashboards and reports | Ryze AI |
|---|---|---|
| Cost | Dashboards on every plan; custom reports need Professional or Enterprise | Paid Ads plan $89 a month flat, 7-day free trial |
| How you build | Drag reports onto a dashboard or configure a custom report | Write a prompt with the property names |
| Saved view | Yes, shared by user, team or everyone | No saved HubSpot dashboard; answers come back in chat |
| Data refresh | Custom reports every 2 hours, manual refresh every 15 minutes | Each prompt reads HubSpot when you send it |
| Edits | Report changes only | Can create, update or archive records when you ask, with approval settings you choose |
| Search limit | 1,000 unique rows on non-table custom reports | HubSpot search returns at most 10,000 results per query |
| Best for | A fixed view the whole team opens | Fast questions and follow-ups on live CRM data |
HubSpot also runs its own MCP server at mcp.hubspot.com with OAuth 2.0 (HubSpot). It reads and writes contacts, companies, deals, tickets and other CRM objects and reads blog posts and landing pages. Use it if you want a connection made and managed in HubSpot itself; use the Ryze AI connector if you want HubSpot next to the other Ryze AI platforms behind one URL.
The HubSpot CRM search endpoint is limited to 5 requests per second per account, 200 records per page and 10,000 results per query (HubSpot). Ask for counts by stage or month instead of full record lists. Other API limits depend on the app type: 110 requests per 10 seconds for each account that installs a public OAuth app, 100 to 190 per 10 seconds for a private app (HubSpot).
Pick HubSpot dashboards for the view your team opens every day, and Ryze AI for the questions that come up between reviews. Other dashboard guides: Google Analytics dashboard and Google Ads dashboard.
Common HubSpot dashboard problems and fixes
Most wrong numbers come from property setup, stage names or reading data before it has refreshed.
A deal stage returns no deals
- Likely cause
- The query used the stage label, not the internal ID
- Fix
- Read the deal property definitions and use the stage ID
Amount is blank on some deals
- Likely cause
- HubSpot returns a default property subset, or the deal has no amount
- Fix
- Name amount in the request and check the deal records
A new deal is missing from search
- Likely cause
- Search results can lag behind new or updated records
- Fix
- Wait a few moments and run the search again
Dashboard numbers look old
- Likely cause
- Custom reports refresh every 2 hours
- Fix
- Refresh by hand, at most once every 15 minutes
A filter changes only some reports
- Likely cause
- Filters apply only to reports that use that property's data source
- Fix
- Add a filter per data source or use quick filters
A report will not email as a CSV
- Likely cause
- Custom reports cannot be sent as attachments
- Fix
- Use a single-object report for CSV or Excel delivery
| Problem | Likely cause | Fix |
|---|---|---|
| A deal stage returns no deals | The query used the stage label, not the internal ID | Read the deal property definitions and use the stage ID |
| Amount is blank on some deals | HubSpot returns a default property subset, or the deal has no amount | Name amount in the request and check the deal records |
| A new deal is missing from search | Search results can lag behind new or updated records | Wait a few moments and run the search again |
| Dashboard numbers look old | Custom reports refresh every 2 hours | Refresh by hand, at most once every 15 minutes |
| A filter changes only some reports | Filters apply only to reports that use that property's data source | Add a filter per data source or use quick filters |
| A report will not email as a CSV | Custom reports cannot be sent as attachments | Use a single-object report for CSV or Excel delivery |
Sources: HubSpot's pages on update frequency, dashboard filters and emailing and exporting reports. A dashboard can only show what your team records in HubSpot.
Where Ryze AI fits
Ryze AI reads and edits HubSpot CRM contacts, companies and deals, reads lists and owners and manages blog content.
Each connection is one HubSpot portal, and several portals can sit in one workspace. Edits and deletes go through the same tools, so set approvals before you ask for changes: the Ryze AI chat starts on Skip all approvals, and you can switch Tool approvals to Approve write & delete or Manual approve. In Claude, set write and delete tools to Needs approval under Customize > Connectors > Ryze AI > Tool permissions.
The Paid Ads plan is $89 a month with a 7-day free trial. SEO Starter is $129 a month with a 3-day free trial and covers publishing blog articles to HubSpot. Annual billing is 30% off the first year. Connecting the connector is free; the tools need an active plan or trial. See the integrations hub for other platforms.
Sources
Checked November 11, 2026
- HubSpot Knowledge Base: Manage your dashboards
- HubSpot Knowledge Base: Customize your dashboards
- HubSpot Knowledge Base: Use dashboard filters
- HubSpot Knowledge Base: Create reports with the custom report builder
- HubSpot Knowledge Base: Create sales reports in the sales analytics suite
- HubSpot Knowledge Base: How often do analytics in HubSpot update
- HubSpot Knowledge Base: Email or export reports and dashboards
- HubSpot Knowledge Base: Default deal properties
- HubSpot Knowledge Base: Default contact properties
- HubSpot Developers: CRM deals API
- HubSpot Developers: CRM search API
- HubSpot Developers: API usage details and rate limits
- HubSpot Developers: HubSpot MCP server
- Ryze AI help: Connect HubSpot
The verdict
A useful HubSpot dashboard is small: 5 KPIs, a donut, 2 bar charts, a source table and a monthly trend, built from 14 CRM properties. HubSpot dashboards are the right place for the view your team opens every day.
If you want the same numbers on request, with follow-up questions and record edits under approval settings you control, Ryze AI does that through its 5 HubSpot tools.





