Customer Satisfaction (CSAT)
Scitor can automatically send satisfaction surveys when support tickets are resolved. Customers rate their experience with a simple star rating, and results are tracked and included in reports.
Pro feature β CSAT surveys require a Pro plan.
How it works
- Ticket is closed β when an issue is closed, Scitor checks the CSAT configuration
- Delay period β a configurable delay (default: 1 hour) gives the team time to reopen if needed
- Survey sent β an email with rating buttons is sent to the original customer
- Customer rates β clicking a rating records the score and posts a comment on the issue
- Report included β CSAT metrics appear in
/generate-reportoutput
Configuration
Add a csat section to your .github/scitor.yaml:
csat:
enabled: true
delay: 1h # Wait before sending survey (default: 1h)
exclude_labels: # Don't survey these ticket types
- "spam"
- "duplicate"
- "internal"
Configuration options
| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | false |
Enable CSAT surveys |
delay |
duration | 1h |
Delay before sending survey after ticket close |
scale |
number | 5 |
Rating scale: 5 for 1-5 stars, 2 for thumbs up/down |
exclude_labels |
string[] | ["spam", "duplicate", "internal"] |
Labels that prevent surveys |
Survey email
Customers receive an email like:
How was your support experience?
Your support request βHelp with loginβ has been resolved.
β Bad Β· ββ Poor Β· βββ OK Β· ββββ Good Β· βββββ Excellent
Clicking a rating opens a page where they can optionally leave a comment.
Commands
/csat β View CSAT summary
Shows all-time and last-30-day CSAT metrics including:
- Total surveys sent and responses received
- Response rate percentage
- Average rating
- Rating distribution
/csat skip β Skip survey for this ticket
Use this on any ticket to prevent a survey from being sent when itβs closed. Useful for internal tickets, test issues, or situations where a survey would be inappropriate.
Anti-gaming protections
- One survey per ticket β duplicate surveys are prevented at the database level
- Token-based links β each survey has a unique cryptographic token
- 30-day expiry β survey links expire after 30 days
- Status checks β ratings can only be submitted once per survey
Report integration
CSAT metrics are automatically included in /generate-report output:
π Customer Satisfaction (CSAT)
| Metric | Value |
|--------|-------|
| Surveys sent | 25 |
| Responses received | 18 |
| Response rate | 72% |
| Average rating | 4.2 / 5 |
βββββ Excellent: 10
ββββ Good: 5
βββ OK: 2
ββ Poor: 1
Lifecycle
| Event | Action |
|---|---|
| Issue closed | Schedule survey (after delay) |
| Issue reopened | Cancel pending survey |
/csat skip used |
Mark survey as skipped |
| Exclude label present | No survey scheduled |
| Customer unsubscribed | Survey not sent |
GitHub comment
When a customer submits a rating, a comment is posted on the issue:
π Customer Satisfaction Survey
Rating: βββββ Excellent Comment: Great support, resolved quickly!