Add an Automated Follow-Up Note After Ticket Resolution
The moment a ticket is marked solved, most support teams move on. The customer gets a silent status change and an automated CSAT survey, and that's the last they hear from you. It works, but it's cold — and the data says it leaves satisfaction on the table.
A short, human follow-up note a day or two later closes the loop properly: did that actually fix it, and is there anything else? It catches the "well, actually it's still happening" cases before they become angry re-opens, and it signals that you care past the first reply. The problem has always been that nobody has time to manually revisit every solved ticket and write a personal check-in.
This is a textbook job for a Macha agent. Macha sits as an AI layer on top of the helpdesk you already run — Zendesk, in this walkthrough — and fires an agent automatically when a ticket is solved. The agent reads the resolution, writes a tailored follow-up that references the actual issue, and posts it as a public reply on the ticket. No new inbox, no separate tool, no batch-and-blast. This guide shows exactly how to build it, what it costs, and the honest cases where you should not turn it on.
Why a post-resolution follow-up is worth the effort
The instinct that a warmer close beats a silent one is backed by real numbers. Fluent Support analysed over 100,000 resolved support tickets and found that customers who received personalized, needs-focused email endings were 47% more likely to rate their experience as "excellent," while generic sign-offs like "Let me know if you need more help" triggered 23% more follow-up questions. Personalized closes also produced 67% fewer "wait, what did you actually do?" replies and a 38% drop in escalations (Fluent Support).
The broader support-ops consensus lines up. Best-practice guides from Pylon, eesel, and Gorgias all land on the same beats: reach out while the interaction is still fresh, make the message specific to the issue rather than a template, give an easy reopen path if the fix didn't hold, and route anyone who's unhappy to a senior agent fast. A generic mass survey hits none of those. A per-ticket agent hits all of them.
The catch is "personalized." A one-size note pasted onto every solved ticket is the generic ending the data warns against. To beat the baseline, the follow-up has to actually reference this customer's this problem — which is precisely what an AI agent with read access to the ticket can do, and a static helpdesk automation cannot.
What you're building
The workflow has three moving parts, all inside Macha:
| Piece | What it is | In this build |
|---|---|---|
| Trigger | The event that wakes the agent | Zendesk Ticket Closed (fires when a ticket is marked solved) |
| Read tool | How the agent learns what happened | Get Ticket — pulls the subject, requester, and full comment thread |
| Write tool | How the agent responds | Add Public Reply — posts a customer-visible note on the ticket |
That's the whole loop: ticket solved → agent reads the resolution → agent writes and posts a tailored check-in. Here's the actual output the agent produces, paraphrased from a real billing case:
"Hi Sarah, I wanted to check in and make sure everything was resolved to your satisfaction regarding the billing issue we discussed. If you have any other questions or concerns, don't hesitate to reach out — we're always here to help."
Note what it does not do: it doesn't quote internal notes, it doesn't invent next steps, and it names the actual topic ("the billing issue") rather than "your recent ticket." That specificity is the entire point.
Build it step by step
1. Create the agent
In Macha, create a new agent and give it a clear identity — call it something like Resolution Follow-Up. Pick a model that matches the task: a short, single-shot reply doesn't need your most expensive reasoning model, so a mid-tier model keeps the per-run cost low. Credits in Macha are charged per AI action (roughly 0.5–9 credits depending on model, with the default mini model at 1), so model choice here is your main cost lever.
The Instructions field is where you set the voice and the guardrails. A solid starting prompt:
You are a follow-up agent. When a ticket is solved, read the conversation and write one short, warm public reply (2–3 sentences) that references the specific issue by name, confirms it was resolved, and invites the customer to reply if anything is still wrong. Match the brand's tone. Do not mention internal notes, do not promise actions or timelines, and do not repeat troubleshooting steps. If the resolution looks contested or the customer was clearly frustrated, do not post — flag for a human instead.
That last sentence matters; we'll come back to it in the watch-outs.
2. Add the Ticket Closed trigger
Open the trigger picker and choose Ticket Closed — it fires whenever a Zendesk ticket is marked solved or closed. This is the event that drives the whole workflow.
Two settings are worth tuning here:
- Debounce. Macha now exposes a debounce chip on every event-driven Zendesk trigger (default 0 seconds). Setting a delay — even a short one — protects against an agent re-solving and the trigger firing twice in quick succession. If you want a genuine next-day check-in rather than an instant one, a scheduled approach fits better (see the watch-outs).
- Activation confirmation. High-impact triggers and tools show a confirmation modal and a persistent advisory card when you enable them, because they act on live customer-facing tickets. Read it — this is the difference between a controlled rollout and surprising your whole queue.
3. Wire the Get Ticket and Add Public Reply tools
Give the agent exactly two tools — no more. Get Ticket lets it read the resolution; Add Public Reply lets it post the note. Add them from the tools picker:
Keeping the tool set minimal is a deliberate safety choice. If the agent can only read and reply, it physically cannot change status, reassign, or alter fields — so the blast radius of a bad run is one extra comment, not a mangled ticket. If you'd rather the follow-up stay private (for an internal QA loop, say), swap Add Public Reply for Add Internal Note instead.
4. Test before you go live
Use Macha's test run to fire the agent against a recently solved ticket and read what it writes before it can post to a real customer. Tune the instructions until the tone is right and the specificity lands. When you toggle the agent on, Macha's autonomous write permissions let it post replies via the trigger; when you toggle it off, the soft-toggle preserves the underlying Zendesk webhooks and triggers, so pausing and resuming never breaks the wiring.
The note ultimately lands right in the customer's ticket, in the public reply thread alongside the rest of the conversation:
Tuning the follow-up so it actually helps
A few choices separate a follow-up that lifts CSAT from one that annoys people:
- Timing. Best practice is to reach out while the interaction is fresh — within a couple of hours to a day. An instant reply on solve can feel robotic ("I literally just closed this"), so consider a short debounce, or a scheduled variant that waits a set period.
- Specificity over template. The whole reason to use an agent instead of a Zendesk automation is the personalized line. If your instructions produce something that reads like a mail merge, tighten them until the agent names the real issue.
- One clear exit. Always include a low-friction "reply if anything's still wrong." This is your early-warning system for fixes that didn't hold — and it's cheaper to catch a reopen here than as a fresh angry ticket.
- Don't double up with CSAT. If Zendesk already auto-sends a satisfaction survey on solve, decide whether the agent note replaces it, precedes it, or embeds the ask. The research is clear that two separate asks fatigue customers; pick one primary signal.
Watch-outs: when not to turn this on
This pattern is genuinely useful, but it is not free of judgement. Be honest about these cases:
- Frustrated or contested resolutions. If a ticket was solved under protest, or the customer was clearly unhappy, a chirpy "glad that's sorted!" is salt in the wound. This is why the instructions tell the agent to flag for a human instead of posting when the sentiment is bad. Test that branch deliberately.
- High-volume queues where every reply has a cost. Each run spends credits (per AI action) and adds a touch to every solved ticket. On a queue closing thousands of tickets a day, that's real spend and real customer noise — sample it on a subset first and measure the CSAT delta before going broad.
- Tickets that shouldn't be reopened. A follow-up invites a reply, which can reopen tickets you'd rather keep closed (spam, resolved duplicates, automated notifications). Scope the trigger — by group, tag, or form — so the agent only follows up where a check-in adds value.
- Regulated or scripted comms. If your closing messages are legally templated, an AI-paraphrased note may not pass compliance. Keep those flows on fixed templates.
- It's not a survey tool. This agent gathers qualitative signal and catches reopens; it does not compute a CSAT score. Pair it with your existing measurement, don't replace it.
Used with these guardrails, the follow-up is additive. Used blindly across every solved ticket, it's the generic ending the data warns against — just automated.
How this differs from a plain Zendesk automation
You can fire a templated email on solve with native Zendesk triggers and macros, and for a fully static message you should — it's free and simple. The line is personalization and judgement. A Zendesk automation sends the same words to everyone and can't decide not to send when a customer is upset. A Macha agent reads the actual thread, writes a note specific to the issue, and can route the awkward cases to a human instead of posting. That's the gap between a mail-merge and a check-in — and the gap the 47% figure lives in.
If you're already running other agents on Zendesk, this slots in beside them. See Macha on Zendesk for the full tool and trigger surface, and the use-case library for adjacent patterns like triage and routing.
FAQ
Which trigger fires the follow-up? The Zendesk Ticket Closed trigger, which fires when a ticket is marked solved or closed. You can scope it by group, tag, or form so the agent only follows up on the tickets where a check-in is useful.
Will it post to a customer automatically? Yes — once enabled, the agent runs autonomously via the trigger and posts a public reply. Always test it first, and use the instructions to make it flag (rather than post on) contested or frustrated tickets. High-impact tools show an activation confirmation before they go live.
Can the follow-up be private instead of customer-facing? Yes. Swap the Add Public Reply tool for Add Internal Note and the agent's check-in becomes an agent-only note — handy for QA or manager review loops.
How much does each follow-up cost? It's credit-based and charged per AI action, so the cost depends on the model you pick (roughly 0.5–9 credits, default mini model = 1). A short single reply is cheap; choose a lighter model to keep per-run cost down. See the pricing page for plan details.
Does this replace my CSAT survey? No — it's a qualitative check-in that catches reopens and adds a human touch. Keep your CSAT measurement; just make sure you're not sending two competing asks on the same solve.
Will pausing the agent break my Zendesk setup? No. Toggling the agent off sets its Zendesk webhooks and triggers to inactive rather than deleting them, so pausing and resuming keeps the same resource IDs and config intact.
Try it
If your team closes tickets and then goes quiet, this is one of the fastest agents to stand up: one trigger, two tools, a few lines of instruction. Start a 7-day free trial, no credit card required, connect Zendesk, and build your follow-up agent — or read the docs for the full walkthrough. You can also describe it in plain language and let Macha's build-with-AI assemble the trigger, tools, and instructions for you.
Written by Abbas (Customer Support & AI, Macha) · Reviewed by Ankeet Guha (Co-founder & CTO) · Published 2026-06-24 · Last updated 2026-06-24.
Automate your support workflows
Macha's AI agents run entire workflows end to end across your stack.
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

