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

By General Input

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.

Integrations

  • Zendesk
  • Slack

Type

Agentic Task

Categories

  • Customer Support

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsPause marketing emails to escalated customers, then restore themWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsLook up any customer's email delivery history in one placeMailjet email delivery lookup console for support teams