Configure and deliver a CSAT survey
To deliver a CSAT survey, create it under Settings → CSAT Surveys, pick delivery channels, set timing and frequency caps, wire it to a trigger, and toggle it Active. By the end of this walkthrough you’ll have a Standard Post-Resolution survey live, sent automatically three hours after a conversation closes.
Before you start
- Admin permissions on CSAT settings
- An email address configured for outbound mail (for email delivery)
- A working web chat widget (for in-app delivery)
- A clear answer to “what do we want to learn?” — the survey design depends on this
Steps
1. Open survey configuration
Settings → CSAT Surveys. If you don’t have any surveys yet, you’ll see an empty state with a “New survey” button.
2. Build the questions
Click New survey and design the questionnaire. A common starting point: a 1–5 star rating (How would you rate the support you received?) as the headline metric, conditional follow-ups shown only on low ratings, and an optional open-ended Anything else you'd like to share?. For question types, conditional follow-ups, and choosing between stars and NPS, see Design CSAT survey questions and follow-up rules.
3. Pick delivery channels
In the Delivery tab, enable the channels you want:
- Email — for conversations that came via email or any async channel
- SMS — for conversations on SMS or where mobile is the primary touchpoint
- In-app — for web chat conversations (delivered inline within the chat widget after the conversation closes)
Pick at least Email; the others depend on which channels your team actively serves.
4. Set timing
Decide when the survey should fire:
- Immediately on resolution — fastest feedback, but customers haven’t had time to live with the resolution
- Three hours after resolution — common; gives the customer time to confirm the issue stayed fixed before rating
- 24 hours after resolution — for issues that take time to fully validate (a refund landing, a fix taking effect)
Three hours is the most common starting point. Adjust based on your support patterns.
The configured delay controls when the survey becomes eligible; quiet hours control when it actually goes out. Both SMS and email invitations are held outside 09:00–20:00 local time — a survey triggered at night stays pending with a scheduled send time and a background job releases it when the window opens, checking roughly every five minutes. SMS reads the recipient’s own country from the + dial code on the number; email reads the timezone on the opening-hours rule for the conversation’s team.
5. Set frequency caps
Critical for avoiding survey fatigue. In the Delivery tab → Frequency:
- Per contact — one survey per contact per N days. Recommended: 7 days.
- Per conversation — one survey per conversation lifetime. Always on.
A customer who contacts you three times in a week should get one survey, not three. Frequency caps make that the default.
6. Configure follow-up rules
Optional but valuable. In the Follow-Up Rules section you can expand the form with a follow-up prompt when the rating is low, and trigger an automation rule when the rating is the lowest possible — alert a manager, create a case, tag the conversation. Full guidance in Design CSAT survey questions and follow-up rules.
7. (Optional) Localize
If your team operates in multiple languages, click the Languages tab and add translations. See Localize CSAT surveys for the full flow.
8. Wire up the trigger
Two common patterns:
- Trigger on resolution — Settings → Conversation Resolution → enable the CSAT survey trigger. This is the simplest setup.
- Trigger via automation — build an automation rule with the
Send CSAT surveyaction. This gives you fine control: which channels, what conditions, conditional waits. See the CSAT-after-resolution automation recipe.
For most teams, the resolution trigger is enough. Use automation when you need conditional logic (e.g., only survey VIP customers, only on email, etc.).
9. Activate
Toggle the survey to Active. The next real conversation that resolves and matches the trigger conditions gets a survey within the configured delay.
That delay makes the survey eligible; delivery may still wait for quiet hours to end. A survey triggered at night — on either channel — remains pending and goes out in the next 09:00–20:00 local window. SMS does not defer when the number carries no + dial code or its country spans several timezones; email does not defer when the conversation has no team or the team’s opening-hours rule has no usable timezone.
Demo-seeded conversations and unanswered calls are excluded from CSAT delivery by design — they don’t create a survey record and don’t send any invitation. Use a real non-demo test conversation and contact where support actually occurred when validating delivery, not a missed or abandoned call. If an unanswered call later gets a written follow-up, that conversation becomes surveyable again.
Verify it worked
- Pick a real non-demo test conversation where support actually occurred. Don’t use a missed or abandoned call unless the conversation also includes a written follow-up. Mark it Done.
- Wait for the configured delay (or temporarily set the delay to 1 minute for testing). Test inside 09:00–20:00 local time, or the invitation will sit
pendinguntil the window opens — this applies to email tests as well as SMS ones, so a test at 22:00 that “never arrives” is usually just deferred. - Confirm the survey arrives via the configured channel(s).
- Submit a response.
- Open the conversation — the response should appear as an event on its timeline. The score should appear in Analytics → Customers & CSAT within minutes.
Troubleshooting
For delivery problems — no survey arriving (frequency caps, demo conversations), surveys arriving in English instead of the conversation’s language, or surveys sent on conversations that should be excluded — see Troubleshooting CSAT survey delivery.