---
title: "Recipe: CSAT follow-up after ticket resolution"
description: "TL;DR: When a ticket is resolved, this playbook waits a set delay, sends a short CSAT survey to the customer, and logs the response back to the ticket and a tracking sheet or warehouse. Trigger is a helpdesk webhook on resolution; outputs are a survey send and a recorded score."
canonical_url: "https://docs.ballet.dev/articles/recipe-csat-follow-up-after-ticket-resolution-xuee53bGA4"
md_url: "https://docs.ballet.dev/articles/recipe-csat-follow-up-after-ticket-resolution-xuee53bGA4.md"
---
# Recipe: CSAT follow-up after ticket resolution

**TL;DR:** When a ticket is resolved, this playbook waits a set delay, sends a short CSAT survey to the customer, and logs the response back to the ticket and a tracking sheet or warehouse. Trigger is a helpdesk webhook on resolution; outputs are a survey send and a recorded score.

## Who this is for

Support teams measuring customer satisfaction without manual survey sends.

## What you'll need

- **Connectors:** Freshdesk or Zendesk, an email/survey tool (or HTTP survey API), optional Google Sheets/warehouse.
- **Secrets:** Helpdesk API key, survey/email API key.
- **Trigger:** Webhook on ticket resolved/closed.

## How to build it with Ask Ballet

1. Open the Console on Home.
2. Paste the prompt below; set the delay and survey link.
3. Review the plan and confirm.
4. Connect the helpdesk and survey/email tool, then register the webhook.

```text
Build a playbook that triggers when a Freshdesk ticket is marked resolved. Wait two
hours, then send the customer a one-question CSAT survey by email with a link that
captures a 1-5 rating. When the rating is submitted via webhook, record the score on
the ticket as a note and append a row (ticket id, customer, agent, score, date) to our
CSAT tracking sheet. Alert #support-quality in Slack for any score of 1 or 2.
```

## What the playbook does

1. **Webhook trigger** — fires when a ticket is resolved.
2. **Code step (delay/schedule)** — waits the configured delay before sending.
3. **HTTP step (send survey)** — emails the survey with a unique link.
4. **Webhook step (capture)** — receives the submitted rating.
5. **HTTP step (log)** — writes the score to the ticket and tracking sheet, and alerts Slack on low scores.

## Variations and tips

- Skip surveys for auto-answered or spam tickets by checking ticket tags.
- Send via your existing survey tool if you already have CSAT templates.
- Roll up scores weekly with the [Scheduled reports](/articles/recipe-scheduled-reports-and-readouts-rqFtYUEyJN) recipe.

## Related articles

- [Triage and route support tickets](/articles/recipe-triage-and-route-support-tickets-M40UGJ9TVv)
- [Auto-answer and deflection](/articles/recipe-auto-answer-and-deflect-common-tickets-NcwOm4doJP)
- [Scheduled reports and readouts](/articles/recipe-scheduled-reports-and-readouts-rqFtYUEyJN)
- [What triggers can start a playbook?](/articles/what-triggers-can-start-a-playbook-manual-schedule-webhook-P4mdwPZDGg)
