Collect Customer Feedback Post-Resolution (Automatically) on Zendesk
The moment a ticket is solved is the single best window you'll ever get to ask a customer how it went. The experience is fresh, the gratitude (or frustration) is real, and the customer is already in the thread. Wait two days and you're asking someone to recall a feeling they've mostly forgotten — which is exactly why surveys sent within 24 hours of resolution see materially higher response rates than ones that trickle out 48 hours later ([US Tech Automations, 2026](https://ustechautomations.com/resources/blog/automate-customer-feedback-collection-response-small-business-2026)).
The problem is that "ask every customer for feedback the moment their ticket closes" is the kind of task no human reliably does. Agents close a ticket and move to the next fire. So feedback collection either gets bolted onto a once-a-week batch survey, or it doesn't happen at all.
This is a clean job for an agent. In Macha — the AI agent layer that sits on top of the Zendesk (or Freshdesk, Gorgias, Front) helpdesk you already run — you can build a small, single-purpose agent that fires the instant a ticket is marked solved, reads what was actually resolved, writes a warm, personalized follow-up asking for feedback, posts it as a public reply, and logs the activity on the ticket. No batch job, no separate survey tool to wire up, no customer left un-asked.
This post walks the whole build, what to watch out for, and where it fits next to your existing CSAT.
What this agent actually does
The use case is deliberately narrow — one trigger, three Zendesk actions:
| Step | Actor | What happens |
|---|---|---|
| Trigger | Zendesk | Ticket marked Solved |
| Read resolution | Macha | Get Ticket — pull the subject and thread so the agent knows what was solved (e.g. #6702 — Product return processed successfully) |
| Send feedback request | Macha | Add Public Reply — a personalized check-in asking how the customer felt about the resolution |
| Log activity | Macha | Add Internal Note — "Feedback request sent" so the team has an audit trail on the ticket |
The output the customer sees is a single human-sounding message, not a robotic form blast:
"Hi Emily, your support request about returning your order has been resolved. We'd love to hear how we did — your feedback helps us improve. Thank you!"
Because the agent ran Get Ticket first, the message references the specific thing that was resolved (a return, a refund, a login fix) instead of a generic "your ticket is closed." That personalization is the whole point — it reads like a person who was paying attention, which is what lifts reply rates.
It's worth being honest up front about what this is and isn't. This agent collects qualitative, conversational feedback in-thread — it's not a 1–5 CSAT widget with a dashboard. The two are complementary, and I cover how they fit together below.
How to build it in Macha
1. Create the agent and connect Zendesk
If you haven't already, connect your Zendesk in Connectors. Then create a new agent and give it a single, tight job in its instructions — something like: "When a ticket is solved, read the resolution and post one short, warm public reply thanking the customer and asking for feedback on how we did. Keep it to 2–3 sentences, reference what was resolved, and never ask more than one question."
Scope matters here. Don't bolt this onto your big do-everything resolution agent — a dedicated feedback agent is easier to reason about, easier to pause, and won't accidentally fire its follow-up in the middle of an unresolved back-and-forth.
2. Add the trigger: Ticket Solved
Open the trigger picker and choose the Zendesk ticket-solved event. This is what makes the agent autonomous — it runs on its own when Zendesk reports the status change, with no human in the loop.
One setting earns its keep here: the Debounce chip. Every event-driven trigger in Macha lets you set a delay in seconds before the agent acts. For a feedback ask you generally want a small buffer — if an agent solves a ticket and then reopens it ten seconds later to add one more thing, you don't want a "how did we do?" message landing in between. A short debounce smooths out that flicker. (Debounce is hidden on clock-driven and universal webhook triggers, where it makes no sense.)
3. Add the tools: Get Ticket, Add Public Reply, Add Internal Note
The agent needs exactly three Zendesk tools:
- Get Ticket — so it can read the subject and resolution before writing anything.
- Add Public Reply — the customer-facing feedback message.
- Add Internal Note — the "Feedback request sent" log line.
When you enable Add Public Reply, Macha shows an activation confirmation modal and then a persistent advisory card on the agent page. That's by design: a tool that posts customer-visible messages is high-impact, and Macha makes you acknowledge it rather than letting it slip on silently. Read the advisory, confirm, and the agent can now reply on real tickets.
4. Test before you let it loose
Run the agent against a recently solved test ticket and read what it writes. Check three things: the tone matches your brand, it correctly references the resolved issue, and it asks exactly one question. Tighten the instructions until the output is something you'd be happy to send yourself, then turn the trigger on.
A nice safety detail: toggling the agent off later doesn't delete its Zendesk trigger or webhook — Macha sets them to inactive on Zendesk's side and flips them back to active when you re-enable, so you can pause feedback collection during, say, a known outage without rebuilding anything. And if you delete the agent entirely, it sits in a Trash tab for 30 days with all its config intact before it's gone for good.
Make the feedback ask actually good
The automation is the easy part. Whether you get useful feedback comes down to the message, and the research here is consistent:
- Keep it to one question. CSAT and survey guidance converges on 1–2 core questions; more than that and completion falls off a cliff (Refiner). The default message above asks one open-ended thing, which is right for a conversational, in-thread ask.
- Don't over-ask the same person. Avoid surveying the same customer more than about once a month to dodge fatigue (Refiner). If a customer files five tickets in a week, five feedback asks is annoying — gate the agent with an instruction like "only ask if this requester hasn't been asked in the last 30 days."
- Time it to the experience, not the calendar. Event-driven timing "captures experience, not memory" (1Flow) — which is exactly why a solved-ticket trigger beats a Friday-afternoon batch send.
- Close the loop on bad answers. Every low or unhappy reply deserves a human follow-up within 24 hours, ideally routed to a senior agent (Refiner). Because the feedback lands as a normal public reply on the ticket, an unhappy response simply reopens the thread in your existing queue — no separate inbox to monitor.
Where this fits next to native CSAT
Zendesk already has a CSAT survey feature — a structured good/bad rating sent after solve, scored and reported in Explore. So why run an agent too?
They do different jobs, and the honest answer is use both:
- Native CSAT gives you the number — a trended, reportable score you can put on a dashboard and tie to agents and teams. Keep it.
- The Macha agent gives you the texture — a warm, personalized, in-thread ask that references the specific resolution and invites an open reply. It's better at surfacing the why behind a score, and the personalization tends to pull responses from people who'd ignore a star widget.
A pragmatic setup: let Zendesk's CSAT collect the quantitative rating, and let the Macha agent post the human follow-up that makes the customer feel asked-after. The agent's internal-note log even gives you a per-ticket record of which solved tickets got a personal touch.
Watch-outs — when not to ship this as-is
This is a genuinely useful agent, but a few situations call for restraint:
- High-volume, low-touch queues. If you solve thousands of trivial tickets a day, a feedback ask on every single one is noise. Scope the trigger to a tag, a group, or ticket types where feedback is actually decision-useful.
- Tickets solved in error. Agents sometimes mark things solved to clear a view. A debounce delay helps, but if your team does this a lot, gate the agent on a condition so it doesn't thank people for "resolutions" that weren't.
- Repeat requesters. As above — without a "don't re-ask within 30 days" guardrail, your most active customers get the most spam.
- Public-reply visibility. Add Public Reply is customer-facing. Test the tone hard, and remember the activation modal is there precisely because this tool can be embarrassing if the instructions are sloppy.
- It's a request, not a survey instrument. If you need statistically clean, comparable scores across thousands of interactions, that's a CSAT/NPS tool's job. This agent is for warmth and qualitative signal, not a benchmarked metric.
If you outgrow per-ticket asks, Macha's scheduled triggers can run a recurring agent — for example, a weekly digest that reads the past week's solved tickets and summarizes the feedback themes — though scheduled triggers are a gated, plan-limited feature (3 on Professional, 20 on Enterprise). For most teams, the simple solved-ticket agent above is the 80/20.
What it costs
Like everything in Macha, this runs on credits, billed per AI action — default model GPT-5.4 Mini is 1 credit per action, and other models range roughly 0.5–9 credits depending on the model you pick. A single feedback run is cheap: a Get Ticket read, one reply generation, and a note. There are no per-survey or per-response fees layered on top — you pay for the agent's actions, nothing else. You can build and test the whole thing on a 7-day free trial, no credit card required; see the pricing page for plan details.
FAQ
Does this replace Zendesk's CSAT survey? No — and it shouldn't. Native CSAT gives you a structured, reportable score. This agent adds a personalized, conversational follow-up that references the specific resolution. Run both: the survey for the number, the agent for the texture.
Will it ask the same customer repeatedly? Only if you let it. Add an instruction (or a trigger condition) to skip requesters who've already been asked within, say, 30 days — the research is clear that over-asking the same person causes fatigue.
Can I customize the message? Entirely. The wording lives in the agent's instructions, so you control tone, length, language, and what it references. Keep it to one question for the best response rate.
What if a customer replies unhappy? Because the ask is a normal public reply, their response reopens the ticket in your existing queue — so unhappy feedback flows straight back to a human, ideally a senior agent, within your normal SLA.
Does it work on Freshdesk, Gorgias, or Front? The pattern is the same on any helpdesk Macha connects to. This specific use case is built on Zendesk's Ticket Solved trigger and reply tools; the equivalent events exist on the other connectors.
How do I turn it off temporarily? Toggle the agent off. Macha sets its Zendesk trigger to inactive rather than deleting it, so re-enabling later is a single click — no rebuild.
Build it
A post-resolution feedback agent is one of the fastest, highest-value things you can stand up on top of Zendesk: one trigger, three tools, a well-written prompt. Start a 7-day free trial, no credit card required, connect Zendesk, and wire up the Ticket Solved trigger — or browse more use cases and the triggers documentation to see what else can run the moment a ticket changes state. If Zendesk is your home base, the Macha on Zendesk overview shows how the agent layer fits.
Written by Abbas (Customer Support & AI, Macha) · Reviewed by Ankeet Guha (Co-founder & CTO) · Published 2026-06-24 · Last updated 2026-06-24.
Add AI agents to your Zendesk
Macha resolves tickets end to end, right on top of Zendesk — no migration.
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

