How to send Slack alerts for low Zendesk CSAT scores
Route low Zendesk CSAT scores to Slack for immediate follow-up. Compare native Automation, n8n, and Claude Code approaches side by side.

This recipe includes a downloadable n8n template and Claude Code skill.
Workflow
Why alert on low CSAT scores?
A customer who submits a "Bad" satisfaction rating is telling you something went wrong — but Zendesk buries that signal in a reporting dashboard that most managers check weekly at best. That creates a 3-7 day gap where unhappy customers go unnoticed, and by the time you see the trend, the opportunity to recover the relationship has passed. Research shows that following up within 24 hours of a negative experience recovers 50-70% of at-risk customers. Wait a week and the save rate drops below 10%.
Routing low CSAT scores to Slack closes that gap. The moment a customer rates "Bad," the assigned agent or a recovery specialist sees it with full context — the ticket subject, the customer's comment explaining what went wrong, and a direct link to the ticket. Quick follow-up while the experience is fresh frequently turns a detractor into a loyal advocate. Over time, the alert feed also surfaces systemic issues — if the same agent, ticket type, or time window consistently generates bad ratings, you can fix the root cause rather than reacting to individual complaints.
⚠️ Bad CSAT Rating Received
Ticket: #48291 — Order delayed twice
Customer: Sarah Chen
Rating: Bad — "Very disappointed with the response time"
Agent: Mike P.
How it works
Regardless of which tool you use, every approach follows the same pattern:
- Detect the rating — Zendesk triggers can fire on the
Satisfactioncondition (e.g., "Changed to Bad") for immediate native alerts. Alternatively, the n8n and Claude Code approaches poll the satisfaction ratings API (/api/v2/satisfaction_ratings?score=bad) for richer data. - Enrich with context — for each bad rating, include ticket details (subject, requester, assignee) so the follow-up agent has everything they need without opening the ticket first. Native triggers include basic placeholders; n8n/Claude Code can add external context.
- Alert the team — post a message to Slack with the ticket number, customer name, their comment, and a direct link. Native Slack integration sends plain-text; n8n sends Block Kit formatted messages.
The approaches below differ in richness and flexibility — native is simplest, n8n/Claude Code offer more formatting and external integrations.
What you'll need
- Zendesk account with CSAT surveys enabled (Admin Center → People → Satisfaction)
- Slack workspace with a channel for CSAT alerts (e.g., #csat-alerts)
- (For n8n/code approaches) Zendesk API credentials: subdomain, agent email, API token
- (For n8n/code approaches) Slack Bot Token with
chat:writescope and the bot added to your alert channel
Which approach should I use?
- Zendesk Native — uses built-in trigger conditions (
Satisfaction: Changed to Bad) to fire Slack notifications instantly. Simplest setup, no code, no external tools. Trade-off: plain-text Slack messages with limited formatting. - n8n (Recommended) — polls the Zendesk CSAT API every 5 minutes, filters new bad ratings, and posts Block Kit alerts to Slack. Best for teams who want rich formatting, external enrichment, or integration with other systems. Free when self-hosted; $24/mo on n8n Cloud.
- Claude Code — a guided Claude Code skill with workflow guidelines and API references. Ask Claude to check CSAT scores, filter by agent or time window, or summarize trends — it generates and runs the right code. Best for teams already using Claude Code who want conversational flexibility alongside scheduled checks.
Choose your approach
Select an approach below to see the full step-by-step guide.
Compare approaches
| Approach | Complexity | Cost | Latency | Code | Reliability |
|---|---|---|---|---|---|
Zendesk Automation | low | $0 (included) | real-time | none | 24/7 cloud |
n8n | low | $0-24/mo | polling | low | 24/7 cloud |
Claude Code | low | Usage-based | on-demand | none | On demand |
Zendesk Automation
lown8n
lowClaude Code
lowZendesk Automation
lowNative triggers on CSAT ratings + Slack notification — simplest setup, plain-text alerts
n8n
lowPoll Zendesk CSAT API for bad ratings → filter new scores → Slack Block Kit alert
Claude Code
lowGuided Claude Code skill — ask Claude to check CSAT scores, filter by agent, or summarize trends conversationally
Related Recipes
How to alert Slack before a Zendesk SLA breach
Zendesk + Slack
How to alert Slack when a VIP customer creates a Zendesk ticket
Zendesk + Slack
How to auto-triage and tag Zendesk tickets with triggers
Zendesk
How to send CSAT surveys after ticket resolution in Gorgias and alert Slack on low scores
Gorgias + Slack
Frequently Asked Questions
Looking to scale your AI operations?
We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.