Connectors

/

Zendesk

/

Zendesk support health for Salesforce renewals
Report
Cross-Connector

Spot Salesforce renewals at risk from support problems

For account teams who want each upcoming Salesforce renewal rated on the customer's Zendesk support health, by asking their AI assistant.

Try PopdockAI free
Get a live demo
Zendesk support health for Salesforce renewals
Which Salesforce renewals in the next 90 days look at risk because of Zendesk support issues?
12 renewals end in the next 90 days: 2 at risk, 4 watch, 5 healthy and 1 unmatched. - At risk: Contoso, contract ends 30 July, urgent ticket Data sync failing still open - At risk: Fabrikam, 4 bad ratings against 2 good - Watch: Northwind Traders, 3 unsolved tickets - Unmatched: Tailspin Toys, no Zendesk organization found Want the full renewal table?
Zendesk
Sample figures. Your results come from your own account.
salesforce-get-contract
salesforce-get-account
salesforce-get-opportunity
zendesk-get-organization
zendesk-get-ticket
zendesk-get-satisfaction-rating

On this page

The problem

The problem

The prompt

Who it's for

How it works

Tools used

Connector

Zendesk

Zendesk
Run it on your own Zendesk data.

Connect Zendesk, pick your AI tool and paste the prompt.

Try PopdockAI free

The problem

Renewals planned without the support picture

Renewal planning in Salesforce rarely accounts for how the customer is experiencing support in Zendesk. Checking means matching each renewing account to its organization and reading tickets and ratings, usually only after a complaint.

Without PopdockAI

  • List contracts ending soon in Salesforce
  • Find each account's Zendesk organization
  • Count unsolved and urgent tickets by hand
  • Learn about support problems from the customer

With PopdockAI

  • Contracts ending in the window are read with renewal deals
  • Accounts are matched by id, exact name or domain
  • Each renewal is rated at risk, watch or healthy
  • Unmatched accounts are listed, never shown as healthy

The prompt

Use this prompt

Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.

Prompt
**Objective:** For every Salesforce account with a contract ending in the next {renewal-window-days} days (default 90), owned by {account-owner} (default: any owner), report its Zendesk support health so the account team knows which renewals are at risk.

**Step 1: Find upcoming renewals in Salesforce**

Call `salesforce-get-contract` with `end-date.from` set to today and `end-date.to` set to today plus {renewal-window-days} days (default 90). If {account-owner} is given, also set `owner.contains` to it. Keep `account-id`, `account-name`, `contract-number`, `end-date` and `owner`. If nothing comes back, say there are no renewals in the window and stop.

For each distinct `account-id`, call `salesforce-get-account` with `account-id` to get `name`, `website`, `annual-revenue` and `rating`, and call `salesforce-get-opportunity` with `account-id` and `closed` set to false to get any open renewal or expansion opportunity (`name`, `stage`, `amount`, `close-date`).

**Step 2: Match each account in Zendesk**

**How to match a Salesforce account to a Zendesk organization (use this order, stop at the first hit):**

1. Call `zendesk-get-organization` with `external-id` set to the Salesforce `account-id`.
2. If nothing comes back, call `zendesk-get-organization` with `name` set to the Salesforce account `name` exactly.
3. If still nothing, take the domain from the account's `website` (strip `http://`, `https://`, `www.` and any path) and call `zendesk-get-organization` with `domain-names.contains` set to it.
4. If more than one organization matches at any step, list them and treat the account as ambiguous rather than guessing.
5. If none match, report the account as "No Zendesk organization found" and continue with the next account.

Once matched, use the Zendesk organization's own `name` (not the Salesforce account name) as `organization-name` on `zendesk-get-ticket`, since the two systems can spell the company differently.

**Step 3: Pull support signals from Zendesk**

For each matched organization:

* Zendesk unsolved tickets are those with status `new`, `open`, `pending` or `hold`. The `status` filter on `zendesk-get-ticket` takes one value, so call it once per status and combine the results. Count unsolved tickets and how many of them are `urgent` or `high` priority.
* Call `zendesk-get-ticket` with `organization-name` and `created.from` set to 90 days ago to count tickets raised in the last 90 days.
* For the tickets from the last 90 days, call `zendesk-get-satisfaction-rating` with `ticket-id` for each ticket (at most 25 tickets per account) and count `good` and `bad` scores.

**Step 4: Report**

One table, sorted by contract `end-date` ascending:

| Account | Contract end | Open opportunity (stage, amount) | Unsolved tickets | Urgent/high | Tickets last 90 days | CSAT good/bad | Health |

Health is **At risk** when there is any unsolved urgent ticket, or more bad than good ratings, or 5 or more unsolved tickets; **Watch** when there are 1 to 4 unsolved tickets or any bad rating; otherwise **Healthy**. Under the table, give one line per At risk account naming the ticket subjects driving the rating. List unmatched accounts separately.

**Rules & Guidelines:**

* Salesforce tools start with "salesforce-" and come from the Salesforce MCP server. Zendesk tools start with "zendesk-" and come from the Zendesk MCP server. Both servers must be connected.
* This prompt is read-only. Do NOT call any write tool on either server, including `salesforce-add-task`, `salesforce-update-task`, `salesforce-add-case`, `salesforce-update-case`, `salesforce-update-account`, `salesforce-update-opportunity`, `zendesk-add-ticket`, `zendesk-update-ticket`, `zendesk-add-ticket-comment`, `zendesk-update-organization` or `zendesk-update-user`.
* Do not infer health from Salesforce cases; support history for this job lives in Zendesk.

**Validation:**

* If an account has no Zendesk organization, show it as "No Zendesk organization found", not as Healthy.
* If a satisfaction rating has score `offered` or `unoffered`, it is not a rating; do not count it as good or bad.
* Dates in Salesforce are ISO dates; pass Zendesk date filters in the same ISO format.

Who it's for

One answer, three teams that use it

Account managers

Know which renewals have support trouble

See each of your renewals rated with the tickets behind it, so you can fix problems before the conversation.

Which of my Salesforce renewals in the next 60 days have urgent Zendesk tickets?

Customer success leaders

Prioritize saves across the book

Rate every renewal in the window as at risk, watch or healthy, and focus effort on the at risk ones.

Rate support health for all Salesforce contracts ending this quarter.

Support managers

Fix tickets on renewing accounts first

See the unsolved and urgent tickets on accounts about to renew, so your team can clear them in time.

List the Zendesk tickets driving at risk Salesforce renewals in the next 90 days.

How it works

What PopdockAI does when you ask

You give a renewal window, and your AI assistant checks the support health behind each Salesforce renewal. It shows the tickets behind each risk rating and changes nothing.

01

Ask

You give a renewal window, and optionally an account owner.

Your AI tool

02

Match

It finds contracts ending in the window and each account's Zendesk organization.

salesforce-get-contract
salesforce-get-account
salesforce-get-opportunity
zendesk-get-organization

03

Count

It counts unsolved and urgent tickets, recent volume and satisfaction ratings.

zendesk-get-ticket
zendesk-get-satisfaction-rating

04

Report

You get each renewal rated, the tickets behind at-risk ones and unmatched accounts.

Your AI tool

What PopdockAI provides

The tools behind the answer

Ready made tools for Zendesk and one secure connection to your AI tool. No code, no exports.

get-data

salesforce-get-contract

Returns Salesforce contracts with their account, status, term, start and end dates, price book and signatories. Filter by contract number, account, owner, status and start and end date.
get-data

salesforce-get-account

Returns Salesforce accounts with their type, industry, owner, billing address, phone and annual revenue. Filter by name, account number, type, industry, owner, billing city or state, annual revenue and created date.
get-data

salesforce-get-opportunity

Returns Salesforce opportunities with their account, stage, amount, probability, close date, next step, owner and whether they are closed or won. Filter by name, account, stage, owner, amount, close date and closed and won flags.
get-data

zendesk-get-organization

Returns Zendesk organizations, the customer companies your users belong to, with their domains, tags and notes.
get-data

zendesk-get-ticket

Returns Zendesk support tickets with their status, priority, requester, assignee, group and organization. Filter by status, priority, assignee, group or dates to find the tickets you need.
get-data

zendesk-get-satisfaction-rating

Returns Zendesk customer satisfaction (CSAT) ratings with the score, the customer's comment and reason, and the ticket, agent and group they relate to. Filter by score or date to find bad ratings.
Read only.Nothing in Zendesk Changes

This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.

How Popdock AI secures your data

The outcome

Spot at risk renewals while there is time to act

Try PopdockAI free
Get a live demo

Related use cases

More ways to put this data to work

All Ramp use cases

One prompt template with infinite possibilities.

‍

Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.

Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

Try PopdockAI Free
See Documentation