Bad CSAT alerts in Slack with an AI root-cause summary

When a Zendesk ticket gets a bad satisfaction rating, post a short post-mortem in Slack so support leads see the why, not just the score.

Agentic Task
ZendeskSlackCustomer SupportNotifications & AlertsFeedback Triage

Build me an agent workflow that posts a root-cause summary to Slack every time a Zendesk ticket gets a bad customer satisfaction rating.

Trigger: poll Zendesk for updated tickets (Updated Ticket event). For each updated ticket, run the agent.

Agent instructions:

1. Use Zendesk Show Ticket to fetch the ticket. Check the satisfaction_rating field. Only continue if the score is 'bad' (or 'badwithcomment'). Otherwise stop.

2. Skip tickets that already had a bad rating before this update. Use the ticket tags as a dedupe marker: if the ticket already has the tag 'csat-bad-alerted', stop. This prevents re-firing on subsequent ticket updates.

3. Use Zendesk List Ticket Comments to read the full conversation between the customer and the agent. Capture timestamps so you can reason about response times.

4. If the ticket has an assigned agent (assignee_id), use Zendesk Show User to get the agent's name. Pull the ticket tags as well so you can mention any relevant ones (product area, priority, etc.).

5. Produce a short post-mortem with these sections: customer pain in one sentence; where it went wrong (pick from: slow first response, wrong answer, tone, unresolved issue, repeat contact, other); the verbatim bad-rating comment if any; assigned agent and relevant tags; one concrete suggested follow-up action.

6. Use Slack Send a Message to post the summary into the #csat-alerts channel (let the user pick the channel during setup). Include the ticket subject, requester name, and a direct link to the ticket in Zendesk.

7. Use Zendesk Update Ticket to add the tag 'csat-bad-alerted' so this ticket is not alerted again on future updates.

Keep the Slack message tight and skimmable. Use bold for section labels and a single bullet per section. The goal is that the head of support reads it in 15 seconds and knows exactly what happened and what to do next.

Additional information

What does this prompt do?
  • Watches Zendesk for tickets that just received a bad customer satisfaction rating.
  • Reads the full conversation and identifies what actually went wrong (slow first response, wrong answer, tone, unresolved issue, or repeat contact).
  • Posts a tidy summary into a Slack channel with the customer pain in one sentence, the verbatim bad-rating comment, the assigned agent, and one suggested follow-up.
  • Tags the ticket so the same bad rating never gets re-alerted on later updates.
What do I need to use this?
  • A Zendesk account with permission to read tickets and update tags.
  • A Slack workspace with a channel for CSAT alerts (for example, #csat-alerts).
  • Customer satisfaction ratings turned on in Zendesk.
How can I customize it?
  • Change which Slack channel receives the alerts, or send to a DM instead.
  • Adjust the categories the AI uses to classify why the rating was bad.
  • Add filters by brand, group, or product area so only certain teams get pinged.

Frequently asked questions

Will I get pinged twice if a ticket gets updated again after a bad rating?
No. Once a ticket is alerted, it gets a tag so the workflow skips it on future updates.
What if the customer left a bad rating without writing a comment?
The summary still goes out. The AI infers the likely reason from the conversation and notes that no comment was provided.
Does this work with Zendesk's built-in CSAT survey?
Yes. It reads the standard satisfaction rating field on tickets, which is populated by the built-in Zendesk survey.
Can the alert go to multiple Slack channels?
Yes. You can route by team or product area, for example a regional channel plus a central #csat-alerts channel.
How quickly will I see the alert after a customer rates a ticket?
Usually within a few minutes of the rating being submitted in Zendesk.

See every bad CSAT with the story behind it.

Connect Zendesk and Slack once, and Geni explains the why behind every bad rating in your CSAT channel.