How-To Guide13 min read
How to Use AI to Analyze Support Tickets and Sales Calls Without Reading Everything
Last updated: ยท By Matt Teixeira, Founder and CEO
On this page
To use AI to analyze customer feedback from support tickets and sales calls without reading everything manually, export the full text, strip boilerplate and personal data, have a model pull out each piece of feedback as an exact quote, cluster the quotes into themes, add sentiment and customer segment, and spot-check a sample before you trust the numbers. The model does the reading and labeling; you do the counting, by unique account. You can run this with ChatGPT or Claude and the two prompts below, with the AI built into Zendesk, Intercom, or Gong, or with a feedback platform that repeats it every week.
Key Takeaways
- Getting the full text out is the first obstacle. Zendesk's CSV export leaves out ticket comments and Intercom's leaves out message content, so use JSON, transcript downloads, or the APIs.
- Redact first, then send customer data only through an API or a business plan. Personal ChatGPT plans can use chats for training unless you opt out.
- Work in two passes: extract exact quotes from each ticket or call, then cluster the short summaries into 8 to 15 themes.
- Count unique accounts per theme yourself, split by source. A model's count over a long export can't be checked.
- Before you share anything, string-match every quote to its source and hand-review 50 random items.
What Should You Let AI Do with Tickets and Calls?
Let the model read; don't let it count. Models are good at spotting feedback inside a ticket, pulling out the sentence that matters, labeling it as a bug or request, and grouping complaints that describe one problem in different words.
Ask one to tally themes across a long pasted export, though, and you get a confident number you can't check, quietly paraphrased quotes, and no sense of which accounts matter, because it has never seen your revenue data. Every step below follows from that split.
Step 1: Export the Full Text from Zendesk, Intercom, and Gong
Pull one window, such as the last 90 days. Every item needs an ID, a link to the original, a date, the customer's account, and the full text.
Zendesk Tickets
Use the JSON export, not CSV: the CSV leaves out ticket comments and descriptions, while JSON includes comments unless a single ticket exceeds 1 MB. The admin export needs Suite Growth or Support Professional and above, plus a request from the account owner to Zendesk Support; every plan can use the REST API instead (Zendesk). If agents already tag feedback, such as product_feedback, export that tag first. For a Zendesk-only walkthrough, see how to turn Zendesk tickets into product insights.
Intercom Conversations
Intercom's dataset CSVs carry IDs, timestamps, and metrics, but "conversation/message content is not included." Inbox exports to PDF or text include the full history minus internal notes, a few hundred conversations at a time; beyond that, use the Conversations API (Intercom). To include conversations Fin resolved alone, see how to analyze Intercom conversations for product feedback.
Sales Calls in Gong and Other Recorders
For a handful of calls, open each one in Gong and choose More options, Download, Transcript (Aha! support docs). For more, a tech admin creates an API key under Admin center โ Settings โ Ecosystem โ API (Gong Help); API access depends on your Gong plan (Dovetail Gong docs). Zoom, Google Meet, and most recorders export WebVTT or plain-text transcripts.
Keep external calls longer than about ten minutes and label each one discovery, demo, renewal, or churn. You will want to separate prospects from customers later.
Step 2: Strip Boilerplate and Redact PII
Cleaning does more for accuracy than prompt wording. Cut everything that isn't the customer talking:
- Email signatures, legal footers, and quoted reply chains.
- Agent macros, auto-replies, and internal notes.
- In calls, rep monologues and demo narration. Keep the customer's turns plus the rep question just before each one.
Then redact. Regular expressions catch most emails, phone numbers, card and account numbers, and addresses; replace them with tokens such as [EMAIL]. Names in free text are harder: the open-source Presidio toolkit detects them with NLP models and pattern rules, though its docs warn that "there is no guarantee that Presidio will find all sensitive information."
On Zendesk, the Advanced Data Privacy and Protection add-on can redact sensitive data in ticket comments with triggers, and that redaction can't be reversed (Zendesk). Keep a separate lookup from each ticket or call ID to account, plan, and ARR. The model never needs names, and you join account data back in Step 5.
Step 3: Pick an AI Approach That Fits Your Data Rules
Most teams start with a general LLM for a one-time deep dive and move to a platform once they want the answer weekly.
| Approach | Best when | What it sees | Effort | Watch out for |
|---|---|---|---|---|
| AI built into your support or call tool | You need routing and volume trends in one channel | Only that tool's conversations | Low; often a paid add-on | Zendesk intelligent triage reads only the subject and first public comment (Zendesk) |
| ChatGPT or Claude with prompts | A quarterly deep dive or a first pass | Whatever you export | High: export, clean, batch, count, check | You own the counting, quote checks, and every rerun |
| Dedicated feedback platform | Feedback spans tickets, calls, Slack, and surveys, reviewed weekly | Every connected source | Low after setup, plus review time | Usage-based pricing; spot checks still needed |
What Happens to Customer Data When You Send It to an LLM?
It depends on the plan, not the provider:
- OpenAI API: not used for training by default. Abuse-monitoring logs are kept up to 30 days, and Zero Data Retention needs OpenAI's approval (OpenAI).
- ChatGPT: Business and Enterprise data is not used for training by default. Free, Plus, and Pro content can be, unless you turn off "Improve the model for everyone" in Settings โ Data Controls (OpenAI Help).
- Anthropic API and Claude for Work: not used for training by default (Anthropic Privacy Center). API inputs and outputs are deleted within 30 days, with limited exceptions (Anthropic Privacy Center).
- Claude Free, Pro, and Max: each user chooses whether chats train models. Allowing it extends retention to five years; otherwise it stays at 30 days (Anthropic).
The rule: customer data goes through the API or a business plan under your company's agreement, never a personal account. Then confirm your customer contracts allow that provider as a subprocessor.
Step 4: Extract Quotes, Then Cluster Them into Themes
Never ask for themes straight from the raw pile. Two passes give you output you can check.
Pass 1, extraction. Send tickets in batches of about 20 to 30, or one call transcript at a time:
You are analyzing customer support tickets and sales call transcripts for a B2B software product.
For each item below, extract every distinct piece of product feedback the CUSTOMER gave. Ignore agent and sales rep statements, greetings, and account-admin requests such as password resets.
Return a JSON array with one object per feedback item:
- source_id: the item's ID, copied exactly
- quote: the customer's exact words, copied character for character, 1 to 3 sentences
- summary: the underlying problem in 12 words or fewer, in neutral language
- type: one of bug, pain_point, feature_request, usability, question, praise
- product_area: a short noun phrase such as "CSV export" or "SSO setup"
- sentiment: negative, neutral, or positive, based on the quote alone
Rules:
- Never paraphrase inside "quote". If you cannot find exact words, skip the item.
- An item can produce zero, one, or several feedback items.
- Do not guess the customer's plan, company size, or intent.
Items (ID | date | source | text):
[paste batch]
Pass 2, clustering. Once every batch is done, send only the IDs, summaries, types, and product areas:
Below are customer feedback summaries, one per line, each with an ID.
1. Propose 8 to 15 themes. Name each after a product area or problem, not a feeling or a solution. Write one sentence on what belongs in each theme and what does not.
2. Assign every ID to exactly one theme. Use "Unclear" when nothing fits; do not force a match.
3. Return a table: theme | definition | IDs.
Do not count or rank the themes. I will do that separately.
Existing themes to reuse where they fit:
[paste last period's theme list, or "none"]
Summaries (ID | summary | type | product_area):
[paste]
Then count in a spreadsheet or script: unique accounts per theme, split by source. If "Unclear" holds more than about a tenth of items, a theme is missing. For naming rules and keeping themes stable from month to month, see how to build a customer feedback taxonomy.
Step 5: Add Sentiment and Segment
A raw theme count doesn't tell you what to fix first. Join each item back to its account record and add:
- Segment: plan tier, ARR band, lifecycle stage (trial, new, renewing, churned), and source.
- Sentiment: from pass 1, rolled up per theme as the share of negative items.
Judge sentiment against other themes and last month, never in absolute terms, because tickets skew negative by nature. Then look for where tickets and calls disagree; that gap is often the most useful finding. Prospects on calls describe what blocks a purchase, while customers in tickets describe what slows them down. To watch these numbers move over time, see how to tell which support ticket pain points are trending.
Step 6: Spot-Check Before You Share Numbers
Run three checks before anyone sees a chart.
- Quote check. Exact-match each quote against its source text. Anything that fails is a paraphrase; re-extract it or drop it.
- Sample review. Mark type, theme, and sentiment right or wrong on 50 random items. If several fail the same way, tighten that theme's definition or the prompt and rerun them.
- Miss check. Read 20 tickets the model said had no feedback. If several did, your relevance rule is too strict.
Repeat the sample review whenever you change the prompt or model.
Step 7: Keep Every Quote Linked to Its Source
Your real deliverable is a table, not a summary: one row per quote, with its ticket or call link, account, date, theme, type, and sentiment. When a PM says "34 accounts asked for scheduled exports," anyone should be able to open those rows and click through. The links also let you re-theme later and tell the right customers when the fix ships.
Worked Example: One Quarter of Tickets and Calls
This example is illustrative. A 40-person B2B SaaS company has about 1,400 Zendesk tickets and 35 Gong calls (20 discovery, 15 renewal) from one quarter.
- Export and clean: Zendesk JSON and Gong API transcripts, cut to customer turns, with emails and phone numbers tokenized.
- Extract: pass 1 finds product feedback in roughly a third of tickets; the rest are password resets and billing questions.
- Cluster and check: pass 2 proposes 12 themes. The quote check flags a few dozen paraphrases, and the sample review shows "SSO setup" and "Login errors" are one problem, so they're merged.
- Result: "Reporting and Exports" leads on account count, boosted by prospects who called it a purchase blocker. "Permissions" has fewer accounts but the most negative sentiment, concentrated in enterprise renewals. Neither pattern shows up in tickets alone.
Common Mistakes to Avoid
- Pasting the whole export into one chat. Long inputs get skimmed. Batch it and count yourself.
- Reading only the first message. Feedback often surfaces several replies in, where tools that classify the opening message never look.
- Mixing rep and customer words. "So it sounds like you need SSO" is the rep's hypothesis, not the customer's request.
- Re-theming from scratch every month. Feed last period's themes into pass 2 so trends stay comparable.
Tools That Help
For a ranked comparison, see the best tools to find recurring customer pain points.
- AI built into your support and call tools. Each sees one channel. Zendesk intelligent triage labels intent, sentiment, and language on Suite and Support Professional plans and above (Zendesk). Intercom's Topics Explorer groups conversations without tagging, but needs the Pro add-on, runs only while Fin is live, and skips migrated conversations (Intercom). Gong's pre-built Product feedback tracker uses no credits but can't be edited (Gong Help).
- ChatGPT or Claude on a business plan or the API. The prompts above. Cheapest for a quarterly deep dive; you own the pipeline and the checks.
- Enterpret. Enterprise feedback analytics across Zendesk, Intercom, Gong, and review sites, with an adaptive taxonomy and an MCP server (Enterpret). AWS Marketplace lists $120,000 for 12 months and up to 300,000 feedback records (AWS Marketplace).
- Dovetail. A research repository with feedback channels. It imports Zendesk tickets once they're solved or closed (Dovetail) and turn-by-turn Gong transcripts (Dovetail). Free covers one project and one channel; Enterprise is custom (Dovetail pricing).
Where Deck Fits
Deck runs Steps 1, 4, 5, and 7 on a schedule, for product teams without a research or ops person. Redaction and spot checks stay partly with you.
- Support: Zendesk and Intercom pull the last 90 days on first connect, then sync once a day. Each ticket is filtered for relevance, extracted with Claude Sonnet, and quality-reviewed against the original messages (Deck Zendesk docs).
- Calls: Gong syncs daily, backfills 1 to 12 months, and filters by external calls, duration, owner, workspace, or folder. New insights join existing Themes before new ones are created (Deck Gong docs). Zoom, Google Meet, and Otter.ai transcripts upload directly (import interviews playbook), Granola connects natively, and other help desks come in by CSV (Deck CSV docs). See all integrations.
- Output: each insight keeps its quote, sentiment, category, theme, and source link. Segment rules can use Zendesk and Intercom tags or Gong owners and folders (Deck segments docs), and Claude or ChatGPT can query the evidence through Deck's MCP server on every plan.
- Pricing: Free is $0 with 200 AI credits a month and 1 integration. Starter is $99 a month ($79 billed annually) with 2,500 credits and 5 integrations; Business is $249 ($199 annually) with 7,500 credits (Deck pricing). At about 3 credits per ticket, Deck's planning baseline, 1,000 tickets a month needs roughly 3,000 credits, more than Starter includes.
- Limitations: Zendesk and Intercom need Starter or above. PII redaction masks names and emails in parts of the app and in MCP responses, but stored quotes are unchanged, Deck's AI does not strip PII, and Deck Intelligence and the API don't mask yet (Deck privacy docs). Syncs are scheduled, not real time. There are no published compliance certifications and no public voting board.
Frequently Asked Questions
Sources
- Zendesk Help: Exporting ticket, user, or organization data from your account
- Zendesk Help: Automatically detecting customer intent, sentiment, and language
- Zendesk Help: Automatically redacting sensitive information in tickets using triggers
- Intercom Help: Export your conversation data
- Intercom Help: Use the Topics Explorer to see what's driving volume
- Gong Help: Receive access to the API
- Gong Help: AI trackers by Gong
- Aha! support: Import Gong recordings
- Presidio documentation
- OpenAI: Data controls in the OpenAI platform
- OpenAI Help: How your data is used to improve model performance
- Anthropic Privacy Center: Is my data used for model training?
- Anthropic Privacy Center: How long do you store my organization's data?
- Anthropic: Updates to consumer terms and privacy policy
- Enterpret homepage
- Enterpret on AWS Marketplace
- Dovetail docs: Zendesk
- Dovetail docs: Gong
- Dovetail pricing
- Deck Zendesk integration docs
- Deck Gong integration docs
- Deck CSV import docs
- Deck customer segments docs
- Deck privacy settings docs
Sources checked November 2, 2026.