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

  1. Ticket is closed β€” when an issue is closed, Scitor checks the CSAT configuration
  2. Delay period β€” a configurable delay (default: 1 hour) gives the team time to reopen if needed
  3. Survey sent β€” an email with rating buttons is sent to the original customer
  4. Customer rates β€” clicking a rating records the score and posts a comment on the issue
  5. Report included β€” CSAT metrics appear in /generate-report output

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!

Scitor β€” Turn GitHub into your support platform