Customer feedback (CSAT)
Capture a 1-5 star rating + comment from customers when a ticket is resolved.
When a ticket reaches Resolved or Closed status, the customer sees a "How did we do?" prompt on their portal view of that ticket. They pick 1-5 stars, optionally add a comment, and click submit. That's CSAT — the simplest, most direct measure of whether your support actually helped.
What the customer sees
Open the ticket from the customer portal (acme.nura24.com/tickets/<ref>). Below the conversation, a panel appears:
How did we do? Your feedback helps us improve the support we provide. ★ ★ ★ ★ ★
Hovering a star highlights everything up to it in amber. Clicking sets the rating and reveals a comment box plus a Submit button. The customer can:
- Click submit with just the star rating (comment is optional).
- Add a short note before submitting (max 2000 characters).
- Walk away without rating — no nag, no email reminder. The prompt stays available until they decide.
Once submitted, the panel switches to read-only: their stars in amber, their comment in italics, and a brief "Thanks for your feedback!" header.
One rating per ticket
A customer can only rate a ticket once. The form disappears after they submit; an attempt to POST the rate endpoint a second time silently no-ops. The ticket's csat_rated_at timestamp gates this — agents never see two ratings for the same ticket.
If they want to change their rating, they need to contact you out-of-band; we don't expose an "edit my rating" button.
What agents see
Three places:
- The ticket detail page in the agent inbox grows an amber "Customer feedback" card in the sidebar showing the rating (1-5 stars), the comment if any, and how long ago they rated.
- The ticket inbox list adds a small amber star chip next to the row's priority badge. The chip shows the score (e.g.
★ 5) with a tooltip explaining "Customer rating: 5 / 5". - CSV export appends three columns to every row:
csat_rating,csat_comment,csat_rated_at.
What CSAT is good for
- Per-agent quality signal. Filter the inbox by assignee + sort by rating; the agent with consistently 4-5 star ratings is doing something right.
- Spotting unhappy customers. A 1-2 star rating with a long comment is a flag — follow up directly, don't let it become a churn signal.
- Marketing. Once you have a few hundred ratings, you can publish your average ("Our customers rate us 4.7/5" on the homepage). Real number, real signal.
- Closing the loop. Combine CSAT comments with KB gap analysis — both surface "places customers were unhappy".
What CSAT is NOT
- It's not a per-reply rating. One rating covers the whole ticket, not individual messages.
- It's not anonymous. We know which requester left the rating (it's tied to their ticket). We just don't surface their identity prominently in the agent UI — but the data is there if you need it.
- It's not NPS. NPS is "would you recommend us to a friend?" sent periodically to all customers. CSAT is "did this specific resolution help?" right after the resolution. Both are valid; we only do the second one today.
When ratings disappear
A rating stays on the ticket forever. If you Reopen a Resolved ticket because the customer replied, the old rating is still visible but the customer can't rate again for the new round of work. This is a known trade-off — re-rating would be useful but adds enough complexity that we kept the simpler "one rating per ticket" rule.
Disabling the feature
There's no global off-switch today. If you don't want CSAT prompts to appear:
- Don't enable the Customer Ticket Portal module. Email-only ticket workflows never show the prompt because customers never visit the portal.
- Or wait for the next iteration — a per-workspace toggle is on the roadmap.