Configure Zendesk CSAT surveys with native Slack alerts

low complexityCost: $0 (included)

Prerequisites

Prerequisites
  • Zendesk account on Professional plan or above (CSAT and satisfaction trigger conditions are not available on Team plan)
  • Admin access to Zendesk Admin Center
  • Slack integration installed and connected to your Zendesk instance

Why Zendesk native?

This approach uses Zendesk's built-in CSAT surveys and native trigger conditions to alert your team in Slack when a customer leaves a bad rating — no external tools, no API polling, no code. It's the simplest path to CSAT alerting.

Zendesk triggers support a Satisfaction condition with values like Bad, Bad with comment, Good, and Good with comment. Combined with the native Slack integration, you can route bad CSAT ratings to the right channel within seconds of a customer responding.

The trade-off: native Slack notifications are plain text — no Block Kit formatting, no enriched context from external systems. For richer alerts with ticket history, customer tier, or sentiment analysis on comments, use the n8n or Claude Code approach.

How it works

  • Built-in automation sends the CSAT survey to customers after a ticket is solved (default: 24 hours, customizable)
  • Binary rating scale — customers rate "Good" or "Bad" with an optional comment
  • Trigger conditionSatisfaction > Changed to > Bad fires immediately when a customer submits a negative rating
  • Slack notification — native Slack integration sends an alert to the configured channel

Step 1: Enable CSAT surveys

Navigate to Admin Center → People → Satisfaction and toggle satisfaction surveys to Enabled.

Configure which channels receive surveys:

  • Email — survey is embedded in the solved notification email
  • Messaging — survey appears in the messaging widget after the conversation ends
Zendesk CSAT is binary

Zendesk uses a two-option scale: customers rate their experience as either "Good" or "Bad". This is not a 1-5 star scale. Any "Bad" rating is a dissatisfied customer who warrants follow-up.

Step 2: Customize survey timing

By default, Zendesk sends the satisfaction survey 24 hours after a ticket is set to Solved. This is controlled by a built-in automation.

Navigate to Admin Center → Objects and rules → Business rules → Automations and find the automation named Request customer satisfaction rating.

The default conditions are:

  • Hours since solved: is 24
  • Ticket is not closed
  • Satisfaction: is not offered

You can adjust the timing by changing the "Hours since solved" value. Shorter delays (4-8 hours) capture feedback while the interaction is fresh. Longer delays (24-48 hours) give customers time to verify a solution actually worked.

Shorter delays improve response rates

Survey responses drop off sharply after 24 hours. If your response rate is below 10%, try reducing the delay to 4-8 hours. Customers are more likely to respond while the support experience is still top of mind.

Step 3: Customize survey content

Navigate to Admin Center → People → Satisfaction to edit:

  • Question text — the prompt shown to customers (default: "How would you rate the support you received?")
  • Rating labels — the text on the Good/Bad buttons
  • Reasons — optional follow-up reasons customers can select after rating Bad (e.g., "Issue not resolved", "Took too long", "Agent was unhelpful")

Enabling Bad rating reasons gives you structured data about why customers are unhappy, which helps identify patterns beyond individual tickets.

Step 4: Create a trigger for bad CSAT ratings

Navigate to Admin Center → Objects and rules → Business rules → Triggers and create a new trigger:

Conditions (meet ALL):

  • Satisfaction: Changed to Bad

Actions:

  • Notify by: Zendesk integration → select your Slack workspace and channel (e.g., #csat-alerts)
  • Message subject: Bad CSAT: {{ticket.title}}
  • Message body: Ticket #{{ticket.id}} received a bad rating from {{ticket.requester.name}}. Assigned to {{ticket.assignee.name}}. {{ticket.link}}
Also catch bad ratings with comments

Create a second trigger with the condition Satisfaction: Changed to Bad with comment and include {{satisfaction.current_comment}} in the message body. This surfaces the customer's written feedback directly in Slack.

You can also add actions to the trigger beyond Slack notification:

  • Set priority to High for follow-up
  • Add tag bad_csat for reporting
  • Assign to group for a specialist team to review

Step 5: Restrict which tickets get surveyed

Edit the Request customer satisfaction rating automation to add conditions that exclude certain tickets:

  • Exclude specific groups: Add condition "Group is not [group name]" to skip tickets from groups where surveys don't make sense (e.g., internal IT)
  • Exclude by tag: Add condition "Tags do not contain [tag]" to skip auto-closed tickets or spam
  • Only survey specific forms: Add condition "Ticket form is [form name]" to limit surveys to customer-facing ticket types

Step 6: Monitor CSAT in Zendesk reporting

Zendesk includes built-in CSAT reporting in Explore:

  1. Navigate to Explore → Dashboard → Zendesk Support → Satisfaction
  2. Review overall satisfaction score, response rate, and trends over time
  3. Filter by group, agent, or ticket form to find patterns

The Satisfaction dashboard shows aggregate metrics. For individual bad ratings, your Slack trigger from Step 4 provides real-time alerting.

Troubleshooting

Common questions

Can I change the CSAT scale from binary to a 5-point scale?

Not natively. Zendesk's built-in CSAT is binary (Good/Bad). You can add follow-up questions (dropdown reasons, open-ended fields) after the initial rating, but the core rating remains two options. For a custom NPS or 5-point scale, you'd need a third-party survey tool integrated via the Zendesk API.

What's a normal CSAT response rate?

Industry average for support CSAT is 10-20%. Below 10% usually means the survey is delayed too long or the email is being filtered. Try shortening the delay to 4-8 hours and verifying your Zendesk email domain has proper SPF/DKIM records.

When should I use n8n or Claude Code instead?

The native approach handles basic alerting well. Use n8n or Claude Code when you need richer Slack messages (Block Kit formatting with customer context), integration with external systems (CRM lookups, sentiment analysis), or batch reporting on CSAT trends.

Cost

Satisfaction surveys and trigger conditions are included with Zendesk Suite Professional plan and above at no additional cost. They are not available on the Team plan.

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.