Every support team reuses answers. The question is whether those reused answers sound like a person or a printer. Bad canned responses are easy to spot: stiff greetings, corporate filler, and the unmistakable feeling that nobody read your actual message. Good ones are invisible — the customer just gets a fast, clear answer.
This is a working library of canned responses organized by category, plus the rules that keep them sounding human. Adapt every template to your product and your voice before using it. A template copied verbatim from the internet will always read like one.
The rules before the templates
Templates fail for predictable reasons. These five rules prevent most of them:
- Personalize every send. A template is a starting point, not a finished message. Insert the customer’s name, reference their specific issue, and delete any sentence that does not apply. Thirty seconds of editing is the difference between efficient and robotic.
- Write like you talk. Read each template aloud before approving it. If you would never say it to a person standing in front of you, rewrite it.
- One template, one job. A response that tries to greet, diagnose, solve, and upsell in one block will be wrong for most situations. Keep templates small and combine them.
- Review quarterly. Products change, policies change, and templates quietly go stale. Assign one owner and a calendar reminder.
- Measure which ones get edited. If agents rewrite the same template every time, the template is wrong — fix it instead of blaming the agents.
Greetings and openings
The opening sets the tone. Warm, brief, and specific beats formal every time.
Hi {name}, thanks for reaching out — I am looking into this for you now. One moment while I pull up the details.
Hey {name}! Happy to help with that. Can you tell me a bit more about what you are seeing on your end?
Hi there — I can help with that. Just to confirm, is this about {product/plan}?
Avoid “Dear valued customer” and its relatives. Nobody has ever felt valued by a template that says so.
When a chat arrives via bot handoff, the greeting must acknowledge the transfer: “Hi {name}, I am {agent} — I have the context from the bot, so no need to repeat yourself.” Nothing kills confidence faster than a human asking for information the bot already collected.

Asking the customer to wait
Waiting is where chats die. The template’s job is to buy time honestly — say what you are doing and when you will be back.
Thanks for your patience, {name} — I am checking this with our {team} right now. I will be back within a couple of minutes.
This one needs a closer look on my end. I will keep this chat open and update you as soon as I have an answer — about five minutes.
Never leave a customer hanging past the time you promised. If you said two minutes and it takes ten, send an update at minute three. Silence reads as abandonment.
Troubleshooting and how-tos
Technical templates should be step-by-step and assume nothing. Number the steps, keep each step to one action, and tell the customer what success looks like.
Let us sort this out together, {name}. Please try this: 1) Go to Settings, then Integrations. 2) Click {integration name} and choose Reconnect. 3) You should see a green “Connected” status. Let me know what you see after step 2 and we will go from there.
Thanks for the screenshot — that helps a lot. This usually happens when {common cause}. The fix is {brief fix}. I will stay here while you try it — just tell me what happens.
End troubleshooting templates with an invitation to report back, not a farewell. “Let me know how it goes” keeps the conversation alive; “Is there anything else?” closes it prematurely.
Billing and pricing questions
Billing chats carry emotion — money always does. Templates here should be direct, transparent, and free of hedging.
Good question, {name}. Your current plan is {plan} at {price} per {period}, renewing on {date}. You can see the full breakdown under Settings, then Billing. Want me to walk you through changing it?
I have issued a refund of {amount} to your original payment method — you should see it within 5 to 10 business days depending on your bank. I have also sent a confirmation to {email}. Anything else I can sort out?
Never make the customer ask twice for a number. If the template has a placeholder for an amount, a date, or a plan name, fill it in before sending. A billing template with unfilled placeholders is worse than no template.

Saying no without losing the customer
The hardest templates to write are refusals: no refund outside policy, no feature that does not exist, no exception you cannot make. The formula is empathy, clear reason, alternative.
I understand why you would ask, {name}, and I wish I could help here. Our refund window is {period}, and this purchase falls outside it — that policy applies to everyone, so I cannot make an exception. What I can do is {alternative: extend the trial / add credit / help you get value from the current plan}. Would any of that help?
That feature is not available yet, and I do not want to guess at a timeline. I have logged your request with the product team — it is genuinely useful feedback. In the meantime, here is a workaround other customers use: {workaround}.
Never say “unfortunately” more than once per message, never blame policy without explaining the alternative, and never promise to “pass it to management” as a way of ending the conversation. Customers can tell.
Escalation and handoff
Escalation templates must transfer confidence, not just the chat. The customer should feel they are moving up, not being passed around.
{name}, I want to make sure you get the right answer on this, so I am bringing in {specialist name} from our {team} — they handle exactly these cases. They can see our full conversation, so you will not need to repeat anything. One moment.
The receiving agent’s first message matters as much: “Hi {name}, I am {agent} — I have read through the conversation so far. Let us pick up from {specific point}.” If your handoff cannot include conversation history, fix the tooling before writing more templates. Context-free escalation is where trust goes to die — our guide to chatbot handoff covers the same principle for bot-to-human transfers.
Closing conversations
End with confirmation and an open door, not a survey ambush.
Glad we got that sorted, {name}! Just to confirm: {one-line summary of the resolution}. If anything else comes up, just reply here — this chat stays open. Have a great day!
Thanks for your patience while we worked through that. A quick summary of what we did: {summary}. I will follow up by {date} on {open item}. Anything else I can help with today?
Send the satisfaction survey after the closing message, not instead of one. And keep it to one question — response rates collapse with every additional click you demand.
Follow-ups and proactive check-ins
Not every useful chat starts with a customer question. Follow-up templates keep promises visible and catch issues before they become complaints.
Hi {name}, following up as promised — {update on the open item}. Let me know if you need anything else on this.
Hi {name}, I noticed {specific trigger: your trial ends tomorrow / the fix we deployed last week / your recent upgrade}. Everything running smoothly on your end?
Follow-up templates work only if someone actually sends them. Assign follow-ups explicitly — an unassigned follow-up is a broken promise. Many teams add a simple rule: every chat that ends with an open item gets a follow-up task with a date, and the agent who promised it owns it. The template makes the message fast; the process makes it happen.
Proactive check-ins deserve restraint. One well-timed, specific message feels like care; three generic ones feel like spam. Tie every proactive template to a real trigger — a date, an event, an observed behavior — and retire any template whose trigger you cannot explain in one sentence.
Building and maintaining the library
Start with your ten most common questions — they probably account for most of your volume. Write templates for those first, using real agent messages that already work well as the raw material. Your best agents have already written your best templates; the library just collects them.
Organize by situation, not by department. Agents think in moments — “customer is angry about billing” — not in org charts. Tag templates so they surface with a keyword search in the moment they are needed.
Name templates for the moment, not the content. “Angry billing complaint — first response” gets found in a crisis; “Billing template v4” does not. Good names are a search interface, and agents under pressure search with shaking hands and short patience. Test findability the way you test everything else: hand a new agent a scenario and time how long it takes them to locate the right template.
Finally, treat the library as a product with an owner. Review usage data: which templates get used, which get heavily edited, which are never touched. Prune ruthlessly. A library of thirty sharp templates beats a library of three hundred stale ones every time. Well-run templates also make staffing more flexible, since new agents reach competence faster, and they give you cleaner data when you benchmark support performance. The Intercom help center (intercom.com/help) documents macros and saved replies that implement exactly this kind of library.



