Build a sales dashboard from scratch in clariBI
A step-by-step tutorial for a sales dashboard that answers three questions every morning: are we on track, where is the pipeline thin, and which deals need attention. Covers the data you need, the metric definitions, the builder steps and upkeep.
A useful sales dashboard answers three questions: are we on track for the number, where is the pipeline strong or thin, and which deals need attention this week. This tutorial builds one in clariBI, from connecting the data to a dashboard your team opens on Monday mornings.
What you will end up with
- Four metric cards: closed-won revenue, open pipeline, win rate, average deal size
- A line chart of monthly closed-won revenue
- A pipeline-by-stage chart
- A table of revenue by sales rep
- A table of the oldest open deals
- A refresh schedule so the numbers stay current
Step 1: Connect your sales data
The dashboard needs one table (or report) of deals with, at minimum: deal name, value, stage, status (won, lost or open), created date, close date and owner. Where that comes from depends on your stack:
- A CRM with a connector. HubSpot and Pipedrive connect as MCP apps (HubSpot from the trial up, Pipedrive from Starter; MCP apps are not on Free or Lite); see the HubSpot integration page. Copper, Freshsales, Insightly, Nutshell, Salesflare and several other CRMs connect through API connectors with an API key.
- Your own database. If deals live in PostgreSQL, connect it read-only. The PostgreSQL walkthrough covers users, permissions and which tables to pick. Connect a view with the columns above rather than every raw table.
- A CSV export. Export deals from the CRM and upload the file. It works, but the dashboard is only as fresh as your last upload.
When the source finishes its first sync, clariBI builds an automatic insights dashboard for it. Open it before going further. It is the quickest way to check that close dates were read as dates and deal values as numbers.
Step 2: Write down the metric definitions
Agree on definitions before building anything. Most arguments about sales dashboards are arguments about definitions.
| Metric | Definition | Chart |
|---|---|---|
| Closed-won revenue | Sum of deal value where status is won and close date is in the period | Metric card and line chart |
| Open pipeline | Sum of deal value where status is open | Metric card |
| Win rate | Won deals divided by (won plus lost) deals closed in the period | Metric card |
| Average deal size | Closed-won revenue divided by number of won deals | Metric card |
| Pipeline by stage | Count and value of open deals per stage | Funnel or bar chart |
| Revenue by rep | Closed-won revenue per owner | Bar chart or table |
| Deal age | Days since created, for open deals | Table |
A worked example with round numbers: this quarter you closed 20 deals as won and 30 as lost. Win rate is 20 / (20 + 30) = 40%. The 20 won deals brought in 200,000, so average deal size is 200,000 / 20 = 10,000. Leave open deals out of win rate; including them makes the rate look worse early in a quarter and better at the end.
Step 3: Start the builder
Open AI Dashboards, click Create Dashboard, name it ("Sales: weekly view") and choose Dashboard Builder. It has five steps; the builder reference covers each option, and the dashboard builder docs have screenshots of each step.
- Data Sources. Select the deals source. If revenue comes from Stripe and pipeline from the CRM, select both.
- Business Domain. Pick sales. This decides which metrics are suggested.
- Define Metrics. Tick suggested metrics that match your definitions, or click Create Custom Metric for each one in the table above.
- Design Layout. Place the widgets.
- Deploy. Choose the refresh frequency and check the estimated credits per refresh.
The builder uses AI credits, so it runs on the Trial, Starter, Professional and Enterprise plans. On Lite, use Manual mode instead: pick a sales dashboard template, then bind its slots to your columns (which column is the close date, which is the amount). Manual dashboards use no credits.
Step 4: Define the metrics in plain language
A custom metric takes a name, a plain-language description and a visualization type. The AI works out which columns to use. Be specific, and use your own column names when they are unusual:
- Closed-won revenue this month. "Sum of amount where status is won and close_date is in the current month." Metric card.
- Open pipeline. "Sum of amount where status is open." Metric card.
- Win rate this quarter. "Won deals divided by won plus lost deals closed this quarter, as a percentage." Metric card.
- Average deal size. "Average amount of won deals this quarter." Metric card.
- Monthly revenue. "Closed-won amount per month for the last 12 months." Line chart.
- Pipeline by stage. "Count and sum of amount for open deals, by stage." Bar chart, or a funnel if your stages are a strict sequence.
- Revenue by rep. "Closed-won amount this quarter by owner, highest first." Bar chart for up to about 10 reps, table beyond that.
- Oldest open deals. "Open deals with name, amount, stage, owner and days since created, oldest first." Table.
If your CRM records when each deal entered its current stage, use "days in current stage" instead of days since created. It is the better signal for a stalled deal, but many exports do not carry it.
If a metric asks for a field the source does not have, the widget says which fields are missing instead of guessing.
Step 5: Lay it out
Dashboards use a 4-column grid. A layout that works for sales:
- Row 1: the four metric cards, each Small (1 column).
- Row 2: monthly revenue as a Medium line chart (2 columns), pipeline by stage as a Medium bar chart.
- Row 3: revenue by rep and oldest deals as tables, Medium or Wide.
A manager should get the state of the quarter from row 1 in a glance and find what needs action in rows 2 and 3. Building executive dashboards that get used has more on what to leave out.
Step 6: Set the refresh and share it
In Deploy, pick the refresh frequency: manual, hourly, daily, weekly or monthly. Daily is right for most sales teams; each AI refresh uses credits, and the builder shows the estimate before you commit. clariBI checks for due refreshes every 30 minutes and syncs a source first if its data is older than the sync interval.
Everyone in your organization can open the dashboard; what they can do with it depends on their role. On Professional and Enterprise you can also add it to a team workspace, where people can comment on it, or turn on a public read-only link. The sharing guide explains each option and which plan it needs.
Step 7: Add a target and a look ahead
The dashboard itself has no alert rules, so use the pieces around it:
- Goals. Click Link to Goal on the revenue card to create a goal such as "Close 300,000 this quarter". The link takes the goal's starting value from the widget; after that you record progress on the goal, reading the number from the dashboard. See connecting goals to dashboard data.
- Forecast. On Starter and above, Forecast Dashboard projects every widget that can be forecast, with 50, 80 and 95% ranges.
- Pipeline coverage. A common rule of thumb is open pipeline of about three times the remaining quota. With 150,000 left to close, you want roughly 450,000 in open pipeline. Add it as a custom metric if your team uses it.
Keeping it useful
Weekly: run the sales meeting from the dashboard. If people quote numbers from somewhere else, find out why.
Monthly: check in Settings > Integrations that the source is syncing, and ask the team which question the dashboard still does not answer.
Quarterly: remove widgets nobody looked at, and update the definitions if your stages or sales process changed.
For a first version, connect your CRM, create just the four metric cards and the monthly revenue line, and show it in next week's meeting. Add the tables once people start asking which deals are behind the numbers.