If you sell a SaaS, a template or an online store product on your own, you are also the support team. Support replies are writing, and most of them follow a pattern. Here are the rules we use and ten templates you can adapt.
Five rules that do most of the work
- Reply within 24 hours, even if the answer is "I'm looking into it, update by Thursday."
- Apologise once. "Sorry" three times reads as panic. One sincere apology, then the fix.
- Name the fix and a date. "I'll look into it" is not a fix. "I've refunded you; banks take 3–10 business days" is.
- Offer a choice where you can (replacement or refund, wait or cancel). Choice turns an angry customer into a deciding one.
- Keep it under 100 words. Long replies look defensive.
Ten templates
Replace the {brackets}.
1. "It's broken" (bug report)
Hi {name}, thanks for reporting this, and sorry for the trouble. I can reproduce it: {one-line description}. A fix is going out {date}. Until then, {workaround}. I'll reply here when it's live.
2. "Can't reproduce"
Hi {name}, thanks. I tried {steps} on {version} and it works on my side, so something in your setup is different. Could you send {browser/OS/version} and a screenshot of {screen}? That usually pins it down quickly.
3. Refund (within policy)
Hi {name}, no problem: your refund of {amount} has been issued to your original payment method. Banks usually take 3–10 business days. If you have a minute, what made it not a fit? It helps me improve.
4. Refund (outside policy)
Hi {name}, our refund window is {days} days and this purchase is past it, so I can't refund it. What I can do is {credit / extension / help setting it up}. Would that help?
5. Feature request you won't build
Hi {name}, thanks for the idea. It's not on the roadmap because {honest reason}. In the meantime, {alternative or integration} gets you most of the way.
6. Feature request you might build
Hi {name}, good suggestion. I've added it to the list with your use case. I can't promise a date, but I'll email you if it ships.
7. Outage
Hi {name}, yes, {service} is down for some users since {time}. Cause: {short cause, if known}. Next update by {time}. Sorry for the disruption.
8. Cancellation
Hi {name}, done: your subscription is cancelled and you won't be charged again. You keep access until {date}. If you ever come back, your data stays for {days} days.
9. Angry customer
Hi {name}, I understand why you're frustrated, and I'm sorry we let you down. Here's what I'm doing right now: {action}. You'll hear from me by {time}.
10. Public reply to a negative review
Hi {name}, thank you for the honest feedback, and sorry about {issue}. That's not the experience we want. I've sent you a message so we can make it right.
Keep them where you work
Save these as text snippets (macOS text replacements, a snippet tool, or saved replies in your help desk) so each reply starts at 80% done. Review the set every month: any template you keep rewriting from scratch needs updating.
Tone checklist before sending
- [ ] Used their name
- [ ] One apology, max
- [ ] Concrete fix + date
- [ ] A choice offered, if possible
- [ ] Under 100 words
- [ ] No blame on the customer
We're Astra Trading Co., a small writing team. The full set of 24 scripts (lost and damaged orders, exchanges, discount codes, disputes, wholesale enquiries, win-backs) is in our Customer Service Reply Templates ($7). For store copy, see the Small Online Store Copy Kit ($8). Want your help-center pages or docs written for you? Docs pages are $19. Everything: astratc.github.io/writing.
Top comments (0)