Prioritize valuable Salesforce customers with Zendesk support context
Compare closed-won customer value with unresolved Zendesk tickets using account mappings, distinct ticket counts and a runnable SQL fixture.
Connect Salesforce and Zendesk through Combined to put commercial context beside the support backlog. Aggregate closed-won opportunity value by account, count unresolved tickets once, and combine those summaries. Your agent can explain which valuable relationships need attention without letting comments or repeated deals inflate the numbers.
Start with the business decision
Ask: “Which accounts booked at least $10,000 in the last 90 complete days, and how many unresolved tickets do they have now?” This gives customer-success and support leaders a shared review list. It preserves both the commercial relationship and the operational problem.
Call the commercial metric what it is. Closed-won opportunity amount is a bookings proxy in this tutorial. It is not collected cash, recognized revenue or customer lifetime value. If the decision requires one of those metrics, bring in its billing or accounting source rather than renaming a sales total.
Connect the records the question needs
Connect Salesforce and Zendesk Support. Start with Salesforce Account, Opportunity and its stage metadata. On the support side, inspect organizations and tickets. Comments, audits and events can explain individual cases after the account totals are correct.
Retain account linkage, opportunity win state, amount, currency and close date. For support, retain ticket ID, organization ID, current status, priority and creation time. The Zendesk ticket reference exposes those operational fields. Discover the corresponding logical names in Combined before writing a query.
Make the identity map explicit
Maintain a Zendesk organization ID to Salesforce account ID map. If one account has multiple organizations, map each organization exactly once and roll the tickets up to the account. A requester email alone may not identify the correct organization, particularly for consultants or people who belong to several customers.
The two sides have different grains: one opportunity and one ticket. Aggregate both before joining. A ticket with ten comments remains one unresolved ticket; an account with two won deals does not have twice as many support problems. Use distinct ticket IDs when the source representation can repeat a ticket.
Define the metric and reporting window
The fixture measures USD closed-won value from June 12 inclusive through September 10 exclusive, 2026 UTC. Accounts need at least $10,000 in that window. Open opportunities, earlier wins and other currencies do not enter this threshold. A multi-currency report needs a threshold policy per currency or a documented conversion rule.
Backlog is the current snapshot, including old tickets that are still unresolved. The example includes new, open, pending and on-hold states; solved and closed are outside the backlog. Review your status-category mapping when custom statuses are enabled. Zendesk status reference. Count high and urgent tickets separately from the overall backlog.
Run the worked example
Atlas has $20,000 of qualifying wins and two unresolved tickets, including one high-priority ticket. Its older pending ticket still matters, even though it predates the sales window. Birch has $15,000 in wins and no unresolved ticket in the complete fixture. Cedar's $4,000 of wins does not meet the commercial threshold.
Download the runnable SQL fixture and its expected result. The fixture uses synthetic records and normalized teaching tables. Run it in DuckDB; discover your own Combined datasets before adapting the calculation.
| Account | 90-day booked value | Unresolved tickets | High or urgent |
|---|---|---|---|
| Atlas | $20,000 | 2 | 1 |
| Birch | $15,000 | 0 | 0 |
Give your agent an exact assignment
Use Salesforce and Zendesk Support through Combined.
Discover the granted datasets, stage/status mappings and account links.
For complete UTC days [2026-06-12, 2026-09-10), aggregate USD won
opportunity amount by account; keep accounts with at least $10,000.
Separately count distinct unresolved tickets at the agreed snapshot,
including older tickets still unresolved. Count high/urgent separately.
Join account aggregates, never raw opportunities to comments or tickets.
Label the sales metric booked value, not collected or recognized revenue.
Return account, booked value, ticket counts, top ticket IDs, mapping gaps,
source timestamps and query receipt. Do not update tickets or accounts.Return supporting records and the next decision for each account. Display a bounded list while calculating over the complete dataset.
Check coverage before acting on the answer
A ticket can be solved between the source sync and the review. Show the last successful sync for both systems and inspect the latest record before escalating a customer issue. A missing organization map or incomplete ticket history must produce a coverage flag, not a reassuring zero. To reconstruct historical backlog, use ticket history or retained snapshots; today's current status cannot recreate yesterday's queue.
Combined gives your agent a managed data layer across these sources, so the next question does not require another export. Start with 5 million MAR without a card, connect your apps, and use the Claude Code walkthrough or MCP setup reference.
Sources and further reading
Explore the documentation behind this guide. Product details checked on September 10, 2026.