Docs
CSAT

Customer Satisfaction (CSAT)

Automatically survey customers after a ticket is resolved.

Customer Satisfaction (CSAT)

Ticket0 can email your customers a short satisfaction survey after their ticket is resolved. The survey asks for a 1–5 rating and an optional comment, and the result appears on the ticket detail panel.

How it works

When CSAT is enabled for a workspace:

  1. A ticket moves to resolved — via the resolve-with-note modal, the single-ticket status picker, or a bulk resolve.
  2. Ticket0 schedules a delayed job based on your chosen send delay (immediately, 1 hour, 24 hours, or 3 days).
  3. At send time, the job re-checks that the ticket is still resolved and that CSAT is still enabled.
  4. The customer receives an email with five rating buttons.
  5. Tapping a button opens a public page with the rating pre-selected. The customer confirms and can add a comment.
  6. The response is stored and shown on the ticket detail. A ticket.csat_received webhook fires.

Reopening or closing the ticket before the delay elapses cancels the pending send. Auto-close (resolved → closed) never triggers CSAT because it bypasses the resolve paths.

Enable CSAT

  1. Go to Settings → CSAT in the product app.
  2. Turn on Enable CSAT surveys.
  3. Choose a send delay.
  4. Customize the subject and body intro, or leave them blank to use the defaults.
  5. Save.

Only workspace owners and admins can change CSAT settings.

Template variables

Use these placeholders in the subject and body:

  • {{customer_name}} — the customer's name, or "there" if unknown.
  • {{ticket_subject}} — the ticket subject.
  • {{workspace_name}} — your workspace name.
  • {{operator_name}} — the assignee's name, or "our team" if unassigned.

The customer experience

The email shows the workspace name, your intro text, and five numbered buttons. Each button links to the public response page with the rating pre-filled. The customer submits once; duplicate submissions return a 409 conflict.

In the inbox

Once a response is recorded, the ticket detail sidebar shows:

  • The rating, e.g. CSAT 5/5.
  • Any comment left by the customer.
  • The response date.

If the survey was sent but not yet answered, operators see CSAT survey sent — awaiting response.

Webhook

Subscribe to ticket.csat_received in Settings → Webhooks. The payload includes:

{
  "ticketId": "...",
  "rating": 5,
  "comment": "Great support!",
  "respondedAt": "2026-01-15T10:30:00.000Z"
}

Limits and behavior

  • One survey per ticket lifetime. Resolve → reopen → resolve does not re-survey.
  • No customer email? Widget-only tickets without an email address silently skip the survey.
  • Public link security. Each link contains a random, unguessable token. No session is required.
  • No phantom ratings. The rating is only recorded on an explicit POST from the response page; prefetchers and scanners that issue GETs cannot submit.

Reading the CSAT dashboard

Find CSAT analytics at Analytics → CSAT (workspace owners and admins only).

Date range

The dashboard defaults to the last 30 days. Choose 7, 30, or 90 days, or pick a custom range. Deltas compare the current period to the immediately preceding window of the same length. Custom ranges are inclusive of the end date; metrics are bucketed by UTC day.

Metrics

  • Average rating — the mean of all 1–5 ratings received during the period.
  • Response rate — responses received ÷ surveys sent, both anchored to the selected window. Because the cohorts are slightly different (a response can arrive after the survey was sent just outside the window), the rate can nudge above or below 100% at the edges over short windows.
  • Total responses — the number of ratings received in the period.
  • Rating distribution — a histogram of counts for each star rating.
  • Daily trend — responses per day and the average rating that day, plotted on dual axes.

Operator attribution

Responses are attributed to the resolver — the actorId of the earliest ticket.resolved audit-log event for that ticket — not the current assignee. Tickets resolved through auto-close never trigger a survey and therefore do not appear. Responses with no resolver event are grouped as Unattributed.

Low-scoring follow-up

The dashboard lists recent tickets rated ≤ 2. Each card links to the ticket and shows the current assignee (the person who should follow up now).

Benchmarks

A typical email CSAT response rate is roughly 15–40%. Use the response-rate delta and distribution to spot trends early.

On this page