Loading tutorials…
Loading tutorials…
Salesforce ships 200+ stock reports nobody opens. The reports leadership actually trusts are built deliberately — right Report Type, right filters, right summary formulas, right dashboard layout. Here is the discipline that gets reports onto the CRO's Monday review.
Who this is forRevOps owners, sales managers, and founders who need Salesforce reports they can trust for board reviews and weekly forecast calls. If your sales leaders run shadow spreadsheets because they do not trust the dashboards, this tutorial is for you.
What you'll need
Step 1
Setup → Folder Manager (or Reports tab → All Folders → New Folder). Folder access controls who sees what. Build the structure before any reports exist.
Reports tab → All Folders → New Folder.
Build folders matching real consumers: "Sales Leadership," "AE Self-Service," "Marketing — Lead Attribution," "Customer Success," "Finance — Forecast," "Admin — Data Hygiene."
For each folder, set sharing: Sales Leadership (Edit access to VP Sales + RevOps; Read access to AE Managers), AE Self-Service (Read access to all reps), Finance — Forecast (Read access to CFO + VP Sales), Admin — Data Hygiene (Edit access to admins only).
Documents the folder model in a one-page doc. Folder sprawl is the #1 reason orgs have 300 reports nobody can find.
Subfolders for big folders: 'Sales Leadership / Pipeline,' 'Sales Leadership / Forecast,' 'Sales Leadership / Win-Loss.'
Step 2
Report Type defines which objects + fields are available. Setup → Object Manager → Report Types. Picking wrong locks you into the wrong joins.
Standard Report Types (out-of-the-box): Opportunities, Opportunities with Products, Opportunities with Quotes, Leads, Cases, Accounts and Contacts, Activities. Cover 70% of needs.
Custom Report Types (CRTs): for joining objects that no standard type covers. Example: "Accounts with Opportunities and Activities" — useful for ABM reporting.
Setup → Object Manager → Report Types → New Custom Report Type. Pick primary object, related objects (up to 4 levels), relationship cardinality (A with B vs A with or without B).
Critical decision: "with" (inner join) vs "with or without" (outer join). "Accounts with Opportunities" hides Accounts with zero Opps. "Accounts with or without Opportunities" includes everyone.
After creating a CRT, choose which fields are available to report on. Hide fields that are never useful (system fields, deprecated custom fields) to reduce noise in the report builder.
Document each CRT — name, purpose, owner. CRT sprawl is the second-biggest reporting headache.
Step 3
Reports tab → New Report → pick Report Type. Drag fields to columns. Add filters. Group rows and/or columns. Summarize numeric fields.
Reports tab → New Report → choose Report Type (e.g., Opportunities).
Add Columns: drag the fields you want shown. Less is more — 6-10 columns max keeps reports readable.
Add Filters: start broad then narrow. Common Opportunity filters: Stage NOT IN ("Closed Won," "Closed Lost"), Close Date = "This Quarter," Type = "New Business."
Group Rows: drag a field to "Group Rows" — e.g., group by Stage, then sub-group by Owner. Summary fields automatically calculate per group.
Summarize: click any numeric column → Summarize → Sum, Avg, Min, Max, Count. Most-used: Sum of Amount, Sum of Expected Revenue, Count of Opportunities.
Add Summary Formulas (top-right Formula button): build calculated metrics like "Win Rate" = COUNT(Closed Won) / COUNT(All Closed). These appear in the grand total row and per-group rows.
Save the report to the right folder. Naming convention: "Object - Question - Variant" (e.g., "Opportunities - Open Pipeline by Stage - Current Quarter").
Step 4
Dashboards tab → New Dashboard. Each component should answer ONE question. Dashboards with 12 vague tiles fail; dashboards with 6 sharp tiles get used.
Dashboards tab → New Dashboard → pick a folder.
Title the dashboard for its purpose: 'Sales Pipeline Health — Weekly Review,' 'AE Performance — Q2,' 'Marketing Attribution — Lead Source.'
Add 4-8 components max. Each component pulls from one source report.
Component types: Bar chart (comparisons), Line chart (trends over time), Donut/Pie (composition), Table (detail rows), Metric (single number), Funnel (stage-to-stage). Pick the type that matches the question.
Component title is critical — should be a complete sentence: "Open pipeline by Stage, current quarter" not "Pipeline."
Filters: dashboard-level filters apply to every component. Use for "this quarter vs last quarter" toggles, or "by region."
Layout: arrange so the eye flows top-left to bottom-right. Most important metric top-left. Detail tables bottom.
Step 5
Dashboards normally show data based on the running user. Dynamic Dashboards show "logged-in user" data — so every rep sees their own pipeline.
Dashboards → New Dashboard → click the gear/properties → View Dashboard As: "The dashboard viewer" (Dynamic).
With Dynamic on: AE Smith sees their own Opportunities; AE Jones sees theirs. Same dashboard, personalized data.
Limit: 5 Dynamic Dashboards per org in Enterprise, 10 in Unlimited. Plan which dashboards genuinely need to be Dynamic.
Alternative: 'Run as Specific User' — useful when the dashboard should show what the VP Sales sees, regardless of who opens it. Common for executive dashboards.
For non-Dynamic dashboards: every viewer sees data based on the running user's permissions and sharing. A rep opening a dashboard built by an admin sees only what they have access to — which is usually limited.
Step 6
Dashboards do not refresh automatically. Schedule them. Subscribe leadership to weekly snapshots so reports arrive in inboxes.
Open any dashboard → click the dropdown (top-right) → Schedule Refresh. Set frequency (Daily, Weekly) and time.
Open any dashboard → Subscribe → set recipients (yourself, your manager, leadership) and frequency.
Recipients receive a snapshot of the dashboard via email at the scheduled time. Tablet-friendly format, with images of each chart.
Best practice: pipeline dashboards refresh daily at 6 AM; leadership dashboards refresh Monday at 7 AM with the weekly subscription email landing at 8 AM.
Avoid over-subscribing. If a leader gets 12 dashboard emails per week they will filter them all to a folder. Subscribe to 1-2 high-signal dashboards max.
Step 7
Reports → All Reports → sort by Last Run. Anything with no runs in 90 days is a candidate for archival.
Reports tab → All Reports → sort descending by Last Run Date.
Reports not run in 90+ days are candidates for archival. Move them to an "Archive" folder rather than deleting (someone may still need them; restore is harder than archive).
Reports run frequently but with the same person each time: candidates for sharing more broadly (add the folder to more roles).
Custom Report Types with no reports built on them: delete via Setup → Report Types → Delete.
Set a quarterly calendar reminder for this audit. Reporting hygiene compounds — a clean library means leadership finds the right report in 30 seconds; a sprawl library means everyone builds their own one-off.
Common mistakes
Building reports without a folder structure
What goes wrong: Every report goes into 'My Personal Custom Reports' or 'Public Reports.' Reports tab has 200+ items, leadership cannot find anything. Each AE builds their own version of 'Open Opportunities' because they cannot find the canonical one. Inconsistent numbers across the team.
How to avoid: Build folder structure BEFORE the first report. Share folders to roles. Move legacy reports into folders. Naming convention enforced.
Using wrong "with" vs "with or without" in Custom Report Types
What goes wrong: You build a CRT 'Accounts with Opportunities.' Your CRO opens the report expecting to see all Accounts grouped by Opportunity status — but Accounts with zero Opps are hidden. Reports show 200 Accounts when the org has 400. The CRO concludes 'half our Accounts are missing' and rep adoption drops to 30% because the data appears broken.
How to avoid: When building a CRT, choose "A with or without B" if you need to see the parent records that have zero children. Cross filters can then narrow further.
Dashboards with 15+ components and no clear question
What goes wrong: Dashboard takes 30 seconds to load. Eye does not know where to look first. Leadership uses it once, never returns. Reports show a 30% revenue gap from real numbers because nobody trusts what they are reading.
How to avoid: 4-8 components per dashboard. Each component answers one specific question. Component titles are full sentences.
Sharing dashboards without thinking about running user
What goes wrong: Dashboard shows VP Sales' pipeline (what she sees as her view). Every rep opens it and sees the same numbers as the VP — they assume that is their pipeline. Total confusion at the weekly forecast call.
How to avoid: For per-user views: use Dynamic Dashboards (Enterprise+). For executive views shared with the team: use "Run as Specific User" so everyone sees the leadership view.
Never scheduling refreshes or subscriptions
What goes wrong: Dashboard always shows yesterday's data. Leadership opens the dashboard at 8 AM expecting current data — sees yesterday's Pipeline snapshot. Reports lose credibility. Weekly forecast calls turn into "wait, is this real-time?" debates.
How to avoid: Schedule refresh on every leadership dashboard (daily 6 AM). Subscribe key recipients to weekly email snapshots. Document the cadence.
Letting the reporting library sprawl unmaintained
What goes wrong: Org accumulates 400+ reports over 3 years. 60% have not been run in a year. Admins cannot find the canonical 'Open Pipeline' report because there are 14 versions. Onboarding new sales hires takes 2 weeks longer because they cannot figure out which reports to use.
How to avoid: Quarterly audit: sort by Last Run, archive anything dormant for 90+ days. Maintain a Reports Inventory doc with the 20-30 canonical reports per role.
Recap
Done — what's next
How to set up a Salesforce sales pipeline that produces forecasts you can trust
Read the next tutorial
Hand it off
Reports and dashboards are the surface area where leadership decides whether they trust Salesforce. A specialist who has built 50+ reporting libraries knows which questions to ask, how to structure CRTs, and how to keep the library clean. EverestX Salesforce-capable specialists run $400-1,200/mo at $14-16/hr — typically $400-800 for a leadership dashboard rebuild.
See specialist rates
Standard Report Types ship out of the box (Opportunities, Leads, Cases, Accounts and Contacts, etc.) and cover 70% of needs. Custom Report Types (CRTs) are admin-built for non-standard joins (Accounts with Opportunities with Activities, or Campaigns with Influenced Opportunities). Build a CRT only when no Standard Type covers the data join you need.
In the report builder, click 'Add Formula' (top-right) → choose 'Summary Formula.' Build the formula: WON:SUM / RowCount, formatted as Percent. This calculates Win Rate as Closed Won count divided by total Opportunities in the report. Summary Formulas appear in the Total row and per-group rows.
No hard limit on total dashboards. Limits are on Dynamic Dashboards (5 in Enterprise, 10 in Unlimited) and dashboard component refresh frequency. Most healthy orgs have 20-40 dashboards organized by audience: 1 per Sales Leadership view, 1 per AE Manager, 1 per Marketing team, 1 per CS team. Beyond that, audit ruthlessly.
Three usual culprits: (1) Dashboard component uses a different report filter than expected. Click the component → Edit → verify source report. (2) Report was updated but the dashboard was not refreshed. Schedule refresh or click manual Refresh. (3) Dynamic Dashboard runs as the logged-in user; non-Dynamic runs as the running user. Different users see different data.
Open any report → click the dropdown (top-right) → Export → choose 'Formatted Report' (preserves formatting, smaller dataset) or 'Details Only' (raw rows, no grouping, faster for large exports). For datasets over 100K rows, use Salesforce Data Loader instead — exports via API without governor limits.
Salesforce
A Salesforce pipeline is the most-referenced screen in the entire platform. Set up wrong, the forecast is fiction and reps stop trusting it. Set up right, the CRO walks into Monday with a real number. Here is the discipline that holds up.
Salesforce
Salesforce automation has had three eras: Workflow Rules, Process Builder, and now Flow Builder. As of 2026, Workflow Rules and Process Builder are being retired — Flow Builder is the only path forward. Most owners are still building Process Builders that will break in 12 months. Here is the discipline.
Salesforce
Salesforce data quality decays silently. Duplicates compound, validation gaps widen, sync drift accumulates. By the time leadership notices, reports are 30% wrong and rep adoption has tanked. Here is the systematic diagnosis + fix sequence.
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.
Salesforce
DIY Salesforce admin is a great idea — until it is not. This is the honest framework: when the cost of self-managing exceeds the cost of hiring, and how to tell which side you are on.