Salesforce Guide9 min read

How to Turn Salesforce Cases and Opportunity Notes into Product Insights

Last updated: ยท By Matt Teixeira, Founder and CEO

On this page
Short answer

To analyze customer feedback in Salesforce for product insights, export the free text from Cases, case comments, opportunity notes, and closed-lost comments, and group it into recurring problems. Tag each problem with its Account ID and Opportunity ID, then rank by how many accounts raise it and how much ARR and open pipeline sit behind it, not by how often it comes up. Salesforce reports only count what someone already labeled. Finding what nobody labeled takes an export plus an AI model, or a feedback tool.

Key Takeaways

  • Cases show what hurts customers, and opportunities show what not fixing it costs. Join them on the Account ID.
  • Salesforce's AI labels and summarizes records but doesn't discover new themes. Case Classification picks from values you already wrote (Trailhead).
  • Lightning notes are the hardest data to export: ContentNote records with a base64-encoded body (Salesforce Developers).
  • Report ARR at risk, open pipeline, and verified closed-lost revenue as three separate numbers.
  • A closed-lost reason is a lead, not evidence, until the buyer's own words confirm it.
  • Deck's Salesforce integration adds read-only Account and Contact context on the Business plan. It doesn't import Case or note text.

What Customer Feedback Lives in Salesforce?

Salesforce feedback sits in five places across service and sales. Cases carry the volume; opportunities carry the dollars.

Where it livesWhat product teams find thereHow to get it out
CasesBugs, confusion, and workarounds in Subject and Description, plus Case Reason and Type labelsCases report, exported to CSV
Case comments and emailsThe full back-and-forth, in the customer's own wordsData Loader on CaseComment and EmailMessage
Opportunity notesObjections, demo reactions, and "they'd sign if we had X"ContentDocumentLink by opportunity, then ContentNote
Closed-lost fields and CompetitorsThe gap that killed the deal, usually a custom picklist plus a comment, and Strengths and Weaknesses text for each rival (source)Opportunities report
Call recordingsProduct, pricing, and competitor mentions from sales callsConversation Intelligence reports, or your call recorder

Pick your first slice by where growth is stuck. For churn, pull Cases from accounts renewing in the next two quarters. For win rate, pull the last two quarters of closed-lost and closed-won deals and look for what winners had that losers lacked.

What Can Salesforce Do with Feedback on Its Own?

Salesforce counts labeled records well, and its AI labels or summarizes one record at a time. Short of a custom build, nothing native groups free text into themes you haven't defined.

  • Reports: Count Cases by Case Reason and sum closed-lost Amount by loss reason. Fast, but only for feedback someone already labeled.
  • Case Classification and work summaries: Classification predicts values "like priority, reason, or type" from a case's text, and work summaries draft "a summary, issue, and resolution" from a chat (Trailhead). Neither creates a new category.
  • Conversation Intelligence: Flags competitor, product, and custom keywords you set on sales calls, with reports such as Opportunities with Competitor Keywords (Trailhead).
  • Data 360 and Agentforce: Data 360 indexes case notes and transcripts so agents can ground answers in them (Trailhead). A theme report on top is yours to build.

Split your catch-all Case Reason. A value like "Feature Request" becomes a junk drawer for every idea customers send, which is exactly the list product needs broken apart. Rule of thumb: once one value holds more than about 10% of cases, read 50 of them and split it with a feedback taxonomy.

How Do You Export Salesforce Cases and Opportunity Notes?

Use reports for fields, and Data Loader or the Salesforce CLI for related objects. Comments, emails, and Lightning notes don't come out in a report export.

  1. Cases: Report on Case ID, Subject, Description, Case Reason, Created Date, Account ID, and Contact Email, minus password resets and spam. Add CaseComment and EmailMessage bodies only if most Descriptions are thin.
  2. Opportunities: Report on Opportunity ID, Account ID, Stage, Amount, Close Date, loss-reason fields, and Description. Include closed-won deals for comparison.
  3. Notes: Query ContentDocumentLink by LinkedEntityId with your opportunity IDs, since that object must be filtered by an ID (Salesforce Developers). Then pull the matching ContentNote records and decode the body.
  4. Clean the file: One row per piece of feedback, with text, date, source, contact email, Account ID, and Opportunity ID. Drop signatures, auto-replies, and logistics like "sent the order form."

One quarter of Cases and two quarters of opportunities is enough for a first pass. Budget half a day with an admin, most of it on notes.

Give every request an Account ID and, when it came from a deal, an Opportunity ID. Then roll revenue up per request, counting each account once. Two Salesforce patterns make this repeatable.

  • A Product Gap object: A custom object with lookups to Opportunity and Account and a single-select Product Area picklist. Reps log one record per gap; a report sums Amount by area. Skip multi-select picklists, which reports show as one semicolon-separated value and can't cleanly group by.
  • Account roll-up fields: A roll-up summary field on the Account can sum its Opportunities, as Savio's guide shows (Savio). Build Open Pipeline or Lost to Product Gap, and any tool that reads Account fields can use them.

Keep three numbers apart; each answers a different question.

NumberWhat it tells youHow to count it
ARR at riskWhat the paying customers who raised it are worthARR on the Account, each account once
Open pipelineDeals that say they need it to signAmount on open deals past qualification; earlier amounts are often placeholders
Closed-lost revenueDeals that cited it when they diedAmount on lost deals where the buyer's own words confirm it

Never add them. ARR is a fact, pipeline is a forecast, and closed-lost revenue is a story about the past. Don't total a column across themes either: a deal citing three gaps counts in full under each.

Verify every closed-lost reason. "Missing feature" is the least awkward reason a rep can pick. Before a lost deal counts, find the buyer saying it in a note, email, or call.

A worked example (illustrative numbers). Two themes top a team's first pass.

ThemeARR at riskOpen pipelineClosed-lost, by picklistClosed-lost, verified
Audit log export$410,000 across 6 accounts, 2 renewing within 90 days$180,000 across 3 deals$95,000 across 2 deals$95,000; 2 of 2 confirmed
Custom report builder$60,000 across 2 accounts$40,000 across 1 deal$520,000 across 9 deals$150,000; 3 of 9 confirmed

By the picklist, the report builder looks five times bigger. The notes show only 3 of those 9 buyers asked for it. Audit log export is the stronger bet: three times the paying accounts, two renewals inside 90 days, and evidence you can name.

To compare tools that total revenue per request, see the best tools to prioritize feature requests by revenue. For why raw request counts mislead, see why feature voting fails.

How Does the Deck Salesforce Integration Work?

Deck uses Salesforce as account context, not as a feedback source. Deck turns support tickets, sales calls, interviews, surveys, and Slack into Themes and a ranked Opportunity Backlog; Salesforce tells it which account said what, and what that account is worth.

What it syncs (Deck Salesforce docs):

  • Access: Read-only. Deck never writes to Salesforce and stores only customer and account IDs.
  • Fields: The Account and Contact fields you choose, such as ARR, Industry, or Customer Tier. You can map a custom field like arr__c to one Deck property called ARR.
  • Refresh: Deck reads the selected fields from Salesforce live when you filter, so there's no sync schedule to wait on.
  • Matching: Feedback links to its Salesforce record by email or platform ID, including Salesforce contact IDs, and its insights inherit your fields (Deck Contacts docs).

How to connect it:

  1. Go to Settings โ†’ Integrations โ†’ Salesforce and authorize Deck with OAuth.
  2. Select your Account and Contact fields, including any roll-up fields you built for pipeline.
  3. Filter Themes and insights by those fields, or save a segment with a CRM field rule (Deck segment docs), as the define segments playbook shows.

Limitations:

  • Plan: The CRM integration needs Business, at $249 a month or $199 a month billed annually.
  • No Case or note import: Upload them as a CS Ticket or Feedback CSV of up to 10 MB, with the requester email mapped (Deck CSV import docs). At Deck's planning estimate of about 3 credits per row, 1,500 Cases use roughly 4,500 of Business's 7,500 monthly credits. If support runs in Zendesk or Intercom, or calls in Gong, connect those natively.
  • Filters, not dollar totals: Deck filters Themes by Account and Contact fields only, not Opportunity fields, and doesn't sum ARR or pipeline per Theme. Roll opportunity amounts up to an Account field to filter by them, then total the dollars from your export.

Which Other Tools Work with Salesforce Feedback?

Choose by who does the work. If reps will log requests in Salesforce, pick a tool with a widget on the record. If requests are buried in text nobody tags, pick one that reads the text.

ToolWhat it does with SalesforcePlan needed (USD)
ProductboardImports opportunities as notes, with an Aggregated Opportunity Value for prioritizationEnterprise (source)
EnterpretReads free text from Cases, Opportunities, and custom objects; ties capabilities to won and lost dealsCustom; AWS Marketplace lists $120,000 per 12 months for up to 300,000 records (source, pricing)
SavioSyncs Contacts and Accounts; logs feedback from a Chrome extension or a closed-lost FlowBusiness, $249 a month paid annually; needs Salesforce API access (source, pricing)
CannyWidget on Salesforce records; posts sort by opportunity value, which passes only from Opportunity pagesBusiness, custom pricing; Salesforce Enterprise required (source, pricing)
DeckRead-only Account and Contact context for feedback from other sources; Themes filtered by those fieldsBusiness, $249 a month or $199 a month billed annually

Productboard, Savio, and Canny are only as good as your reps' logging. Enterpret reads Salesforce text directly, at enterprise contract sizes. Deck fits a small team whose evidence lives in support, calls, and Slack; start on the Free plan and move to Business when you connect Salesforce.

Frequently Asked Questions

Partly. Case Classification predicts fields such as case reason from a case's text, and Conversation Intelligence flags keywords you define on sales calls. Both label one record at a time. Finding new recurring themes across thousands of cases takes an export to an AI model, a custom Data 360 project, or a feedback tool.

Not one you can count on. Most orgs add a custom loss-reason picklist, often with a required comment at Closed Lost, so check Object Manager for yours. For product work, the comment and notes matter more than the picklist value.

Use both, but keep them separate. ARR on the Account measures what paying customers are worth, while Opportunity Amount measures deals that haven't closed. Rank customer problems by account count and ARR, rank prospect gaps by pipeline and verified lost revenue, and then compare the two lists.

No. Deck's Salesforce integration reads the Account and Contact fields you select to enrich feedback from other sources; it doesn't pull in Case or note text. To analyze Cases in Deck, upload them as a CS Ticket CSV with the requester email mapped. The CRM integration requires the Business plan.

Sources