How to report on feature requests by product area in Salesforce
Build a summary report on whatever object holds your feature requests, grouped by a picklist field for product area, then drop it into a dashboard as a chart component. That's the mechanical answer. The part that actually determines whether the dashboard means anything is upstream of the report: nothing in Salesforce clusters requests by theme on its own, so every record needs a person to open it and choose a product area from a picklist before the report has anything real to group.
That ordering trips up most first attempts. Someone builds the report, points it at Cases or a custom object, groups by product area, and gets a chart with 300 records sitting in "General" because the field existed but nobody was filling it in. The report was never the hard part. Everything below assumes the field exists and gets used; here's how to build both halves.
Step 1: add a Product Area field, and put it where reps actually are
If you're tracking requests on standard Cases, add a custom picklist field, Product_Area__c, with 8 to 15 values that match how your team already talks about the product internally, not how marketing describes it. Add it to the page layout near the top, not buried below fifteen other fields, and make it required on the specific record types or Case types where feature requests get logged.
If requests live on a dedicated object instead, the same field goes there. Salesforce's own admin community covers the broader build in its guide to building a request-management app, which recommends giving the company a report and dashboard for visibility into requests, without prescribing how that dashboard should be grouped. That grouping choice is on you, and there's no shortcut around it: Salesforce has no native concept of a feature-request theme, so the taxonomy is whatever picklist values your team commits to maintaining.
Step 2: build a summary report grouped by the field
In Report Builder, start a report on the object holding your requests, filter to whatever marks a record as a feature request (a record type, a status value, a checkbox), and set the format to Summary. Add Product_Area__c as a row grouping, and Salesforce rolls every matching record under its picklist value automatically, with a count attached. A flat list of 300 Cases turns into "Reporting: 14, Permissions: 9, Integrations: 6" without anyone counting by hand.
Add a second grouping by month if you want trend inside each area, or leave it flat if you just need current volume. Save it somewhere your team can find it, not in your personal reports folder.
Step 3: put it on a dashboard as a chart, not a table
A saved report is a query result; a dashboard component is the thing people actually check. Add a Chart component to a dashboard, point it at the report from step 2, and pick a bar or donut chart depending on whether you want to compare counts or see share of total. Salesforce's dashboard documentation lists chart, gauge, metric, and table as the available component types; a chart component takes its grouping directly from the source report; there's no separate configuration step to redefine how the data buckets. Whatever grouping the report used is what the chart displays.
Set the dashboard to refresh daily or on login, and pin it somewhere product and support both look. A dashboard nobody opens is worse than no dashboard, because it lets everyone believe the reporting problem is solved.
How Bracket Robotics keeps its dashboard honest
At a quarterly business review, Bracket Robotics got asked which part of its warehouse-automation product was driving the most complaints, and the honest answer was a shrug. Support ops lead Callum Petrosyan's fix that week was a required Product_Area__c field on every Case, nine values pinned to the channel topic so reps stop inventing their own wording for the same issue.
The backlog was the annoying part. Rather than assign three months of old Cases to whoever drew the short straw, Callum worked through them himself, and made the field mandatory going forward so the debt couldn't grow while he caught up. Support lead Soraya Vance asked the obvious question once the rule landed: could a Case still close without a value. It couldn't. The field blocks closure, so the backlog stops growing even while it's still being paid down.
Three weeks after the backfill, the dashboard showed "Gripper calibration" at 22 open requests against a total case volume that made it look minor before grouping. That number is what got a calibration-UX fix onto the next sprint. Nobody had to reread three months of case notes to make the case; the chart already had.
What this setup can't do
The report and dashboard above work exactly as well as the tagging discipline behind them, and that has a ceiling:
- Every record depends on a human picking the right value. Skip the field once, and that record is invisible to every report built on it. Savio's overview of tracking feedback in Salesforce makes a related point from the tooling side (Savio sells a competing feedback tool, so consider the source), calling manual tracking in Salesforce workable but labor-intensive next to a dedicated tool. That matches the upkeep this picklist approach actually costs.
- It only counts what got typed into Salesforce. The same request that arrives as a Zendesk ticket, a Slack message, or an offhand comment on a sales call never becomes a Case with a Product Area value, so it never reaches the chart, no matter how many times customers ask for it elsewhere.
- Dedupe isn't part of the picklist. Ten worded-differently Cases about the same gripper-calibration issue all count as ten separate rows unless someone notices the pattern and merges them, which the report itself won't surface.
For a team whose feature requests genuinely all arrive as Salesforce Cases, tagged consistently, this setup is enough on its own, and there's no reason to add a tool on top of it. It stops being enough the moment requests are arriving in more than one place, which is most companies most of the time.
That's the gap Modem is built for. Modem reads feature requests as they show up across Slack, Zendesk, Gong calls, and the rest of your support and conversation tools, groups them into topics automatically without anyone choosing a picklist value first, and syncs account and opportunity data from Salesforce read-only, so a topic already carries the account, plan, and pipeline stage behind it. The grouping-by-theme problem this guide solves with a manual field is the same problem Modem's topic model solves without one. Modem is our product, so weigh that against the alternative of just running the picklist well, which for a single-source team is a legitimate answer. For the build this guide assumes as a starting point, see how to track feature requests natively in Salesforce, and for what happens once a themed request ships, how to close the feedback loop with customers.
What to build first
Add the picklist field, backfill the last quarter by hand, make it required going forward, then build the summary report and drop it on a dashboard as a chart. In that order. Building the report before the field is populated just produces a chart that says "General: 300" and teaches everyone to ignore it.
