Loading tutorials…
Loading tutorials…
Freshsales ships with 40+ default reports. They cover 30% of what your team actually needs. The Custom Report Builder is where the real leverage lives — and where most owners build dashboards nobody opens. Here is the design discipline that makes them load-bearing.
Who this is forRevOps leads, sales managers, and founders who want operational visibility beyond what defaults give them. Requires Freshsales Pro or Enterprise for the Custom Report Builder. Free and Growth tiers get default reports only (read-only).
What you'll need
Step 1
Every report should answer a specific business question. "Show me sales pipeline" is not a question. "Which deals over $50K have not moved stages in 30 days?" is.
Before opening the report builder, write down: what decision will I make differently based on this report's answer?
Good question examples: 'What is our deal velocity by stage compared to last quarter?' 'Which lead sources are producing customers vs. churned trials?' 'Which reps are above quota with 3 weeks left in the quarter?'
Bad question examples: 'Show me all my deals,' 'Build a marketing dashboard,' 'Pull a report on contacts.'
For each question, identify the module (Contact / Account / Deal / Activity), the metric (count, sum, average), the breakdown (by stage, by owner, by source), and the filter (last 90 days, owner = team).
Write 5-8 questions before building. You will end up with a focused dashboard instead of one with 20 charts nobody reads.
Step 2
Reports → Custom Reports → "+ New Report" → Custom Report Builder. This is where multi-module queries live (impossible in default reports).
Freshsales → top-nav → Reports → Custom Reports → "+ New Report" → "Build From Scratch."
First screen: pick the primary module. You can pick 1 (single-module report) or add related modules for cross-module queries.
Single-module example: Deals only — "deals by stage" or "deals by owner."
Multi-module example: Contacts + Deals — "deals with associated contacts in industry SaaS, closing this quarter." Multi-module is the killer feature.
Pick the chart type: Vertical bar, Horizontal bar, Line, Pie, Number, Table, Funnel, Pivot Table. Match chart to question — count goes Number, distribution goes Bar, trend goes Line, conversion goes Funnel, multi-dim breakdown goes Pivot.
Step 3
Dimensions = what you break the data by (stage, owner, source). Metrics = what you measure (count, sum, average). Filters = narrow the dataset.
In the report builder, drag a field to "X-Axis" or "Group By" — this is your dimension.
Drag a metric (Count, Sum, Average, Min, Max) to "Y-Axis." For "sum of deal amount by stage," X-Axis = Deal Stage, Y-Axis = SUM(Amount).
Add filters: Date range (last 90 days based on Created Date or Close Date), module filters (Deal pipeline = New Business), owner filters (Deal owner = sales team), Freddy filters (Freddy score = Hot).
For multi-module reports, the filter syntax is "Primary module has filter X AND Related module has filter Y." Example: "Contact lifecycle stage = Customer AND Deal stage = Closed Won AND Deal close date in last 90 days."
Preview the data table at the bottom. If row counts look wildly off, the filter logic is wrong. Common mistake: AND/OR confusion between filters that should be union vs. intersection.
Step 4
Naming convention: [Module] - [Metric] - [Filter]. "Deals - Velocity by Stage - Last 90 Days." Reports without good names become unfindable graveyards.
Click Save → Name the report.
Bad names: "Sales Report," "Deals 2," "Test Report Final."
Good names: "Deals - Pipeline by Stage - This Quarter," "Contacts - New This Week by Source," "Reps - Tasks Completed - Last 30 Days."
Save report to a folder. Create folders by use case: "Leadership Dashboard," "Sales Ops," "Marketing Performance," "Customer Success."
Sharing: "Only me" or "All users" or "Specific Roles." For company-wide leadership reports, share with all. For experimental reports, keep personal until validated.
Step 5
Reports → Dashboards → "+ New Dashboard." Each dashboard should have 6-12 widgets max, organized by a single audience.
Reports → Dashboards → "+ New Dashboard" → choose template or start blank.
Audience-first: build one dashboard per audience. "Leadership Weekly Review," "Sales Ops Daily," "Marketing Monthly," "CS Quarterly." Do not mix audiences.
Add widgets: drag from your saved reports to the dashboard canvas. Arrange so the most-important metric is top-left (where the eye lands first).
Restraint: a dashboard with 6 sharp widgets gets opened. A dashboard with 24 widgets gets ignored. Cut ruthlessly.
Set the global date filter at the top of the dashboard. Widgets within can inherit it or override. Default to inherit so changing the date updates the whole view.
Step 6
Dashboards can be shared via link, scheduled email, or Slack. Decide how each audience consumes the data.
Open the dashboard → click the Share icon (top-right).
Sharing options: Private (just you), Specific users (pick), Specific roles (pick), All users.
Scheduled exports: click ⋮ → Schedule → Daily / Weekly / Monthly. The dashboard sends as a PDF snapshot to recipients.
Slack: install the Freshworks Slack app (Marketplace) and route dashboard updates to channels. Useful for "Sales Daily" in a sales channel.
For leadership: schedule a Monday morning email with the leadership dashboard. People open scheduled emails 5x more reliably than they remember to open Freshsales themselves.
Step 7
Dashboards rot. Reports go stale, questions evolve. Audit quarterly: archive dashboards nobody opens, retire reports that have not loaded in 60 days.
Quarterly: Reports → Dashboards → sort by Last Viewed. Any dashboard not opened in 60 days is dead weight.
Talk to dashboard owners (or audiences). Ask: "what decision have you made from this dashboard in the last 60 days?" If "none," archive.
Reports → sort by Last Used. Reports not loaded in 90 days: archive (Reports → click report → ⋮ → Archive). They can be restored if needed.
Active dashboard set should be 4-8 dashboards across the portal. Past 15, the system has become a dashboard graveyard.
Replace dead dashboards with new ones that answer current questions. Dashboards should evolve as the business evolves.
Common mistakes
Building reports before defining the question
What goes wrong: Dashboard has 16 widgets; nobody knows what decision each supports. Leadership opens it once, doesn't understand it, never opens it again. Hours of build time produce a screensaver. Cost: 10-20 hours of build time wasted; ~$300 in specialist value.
How to avoid: Write the question first. "What decision will I make from this report?" If you cannot answer that, do not build the report.
Dashboards that mix audiences
What goes wrong: One 'Master Dashboard' tries to serve sales leadership, rep performance, marketing attribution, and CS health. Nobody opens it because half the widgets are noise to them. Each audience builds their own shadow dashboard elsewhere. Cost: data fragmentation, conflicting numbers in meetings.
How to avoid: One dashboard per audience. Leadership, Sales Ops, Marketing, CS each get their own. Cross-link where needed but never combine.
No global date filter on dashboards
What goes wrong: Each widget has its own date range. 'Pipeline This Quarter' widget shows Q1; 'Closed Won This Quarter' widget shows Q2 because someone edited it last quarter. Leadership reads conflicting numbers, loses trust in the dashboard. Cost: lost executive trust, often a CRO-driven 'audit Freshsales data' project ($2-5K).
How to avoid: Set a global date filter at dashboard level. Configure widgets to inherit by default. Override only with explicit reason documented in widget title.
Multi-module reports without testing the row count
What goes wrong: You join Contacts + Deals + Accounts and the report shows 50,000 rows when you have 5,000 contacts. You did not realize multi-module joins multiply rows. The 'count of customers' metric is wildly wrong. Leadership uses the inflated number in board deck. Cost: credibility damage, board correction email.
How to avoid: After any multi-module report, sanity-check the row count. Compare to the equivalent single-module count. If 10x larger, you have a Cartesian product — fix the join logic or add a DISTINCT constraint.
Not scheduling exports for the actual decision-maker
What goes wrong: You build a beautiful CEO dashboard. CEO never opens Freshsales. Three months later the CEO asks 'how is pipeline?' in an all-hands meeting and nobody has the answer ready. Cost: lost data-driven decisions, 'who's running CRM?' questions.
How to avoid: For non-Freshsales-native users (CEO, CFO, board), schedule weekly PDF exports to their email. The data finds them; they do not have to remember to look for it.
Never auditing dashboards
What goes wrong: After 18 months you have 40 dashboards and 250 reports. Half are obsolete. Nobody knows which is current. New hires ask 'which dashboard should I use?' and get 6 different answers. Cost: 5-10 hr/month onboarding friction, ongoing dashboard sprawl.
How to avoid: Quarterly: archive dashboards not opened in 60 days. Archive reports not loaded in 90 days. Active set = 4-8 dashboards, 30-50 reports total.
Recap
Done — what's next
How to set up Freshsales deal pipelines that produce accurate forecasts
Read the next tutorial
Hand it off
A reporting layer that earns executive trust is the difference between Freshsales being 'where reps log calls' and 'where the business is run.' A specialist who has built 50+ dashboards knows which questions to anticipate, which visualizations land, and how to keep the library pruned. EverestX Freshsales specialists run $400-1,200/mo at $14-16/hr.
See specialist rates
Default reports (all tiers including Free) are prebuilt: Sales Pipeline, Deal Activity, Email Performance, Sequence Performance. Custom Report Builder (Pro+) lets you build any report from scratch with custom dimensions, metrics, filters, and chart types — and join across modules. Default reports cover ~30% of needs; custom is where the rest of the value lives.
Yes — every report has an Export option (top-right of the report) for CSV / Excel / PDF. For ongoing data sync, use the Freshworks Marketplace integration for Google Sheets (auto-syncs reports on schedule) or the Freshsales API to push data to a data warehouse.
Freshsales Custom Reports are simpler than HubSpot's (fewer chart types, less granular formatting) but easier to build for non-technical users. HubSpot's Custom Report Builder is more powerful for marketing-attribution reports; Freshsales is leaner and better for sales-only operations. See our [HubSpot custom reports tutorial](/tutorials/crm-sales/hubspot-crm/create-hubspot-custom-reports-and-dashboards) for parallel guidance.
Not natively — Freshsales dashboards require a user login. For external sharing, use the Scheduled Export feature (sends PDF to any email) or build a Google Sheets sync with public/restricted sharing controls. Never send dashboard screenshots to investors — schedule formal PDF exports for traceable, branded delivery.
Freddy AI fields (Predictive Score, Deal Insight category, AI Forecast) are available as standard report fields on Pro+. Add them as columns, dimensions, or filters in the Custom Report Builder. Common report: 'Conversion rate by Freddy Score band' — pivot table with Freddy Score Range on rows and Customer % on columns. Validates whether Freddy scores are predictive in your data.
Freshsales
A Freshsales pipeline is the single most-referenced screen in the CRM. Set up wrong, the forecast number is fiction and reps stop trusting it. Set up right, your VP Sales walks into Monday with a real number. Here is the discipline that holds up.
Freshsales
Freddy AI is the headline feature on Freshsales Pro+ — and the one most teams turn on, get garbage scores, and quietly stop checking. Get the data hygiene + training inputs right and Freddy becomes the highest-leverage feature in the portal. Here is the discipline that earns rep trust.
HubSpot CRM
HubSpot ships with 80+ default reports. They cover 30% of what your team actually needs. The Custom Report Builder is where the real leverage lives — and where most owners build dashboards nobody opens. Here is the design discipline that makes them load-bearing.
Freshsales
DIY Freshsales is a great idea — until it isn't. This is the honest framework for when the cost of self-managing exceeds the cost of hiring help, and how to tell which side you are on.