How to deal with angry customers (and what to write back)
Dealing with angry customers is mostly about the first reply. Paste the message and get a calm draft that shows you read it, owns what went wrong and says what happens next.
This is the Angry Customer snippet. In Snippetbar, copy the ticket in Zendesk or Help Scout, run it, and edit the draft before you send.
How to deal with angry customers: replies by situation
Double-charged
Customer
This is the SECOND time you've charged my card for the same order. $148 twice. I want my money back TODAY or I'm disputing it with my bank.
After
Hi {name},
You were charged $148 twice for the same order. That's our mistake, and I'm sorry.
I've asked our billing team to refund the duplicate $148 today. I'll send you the refund reference here by {time}, which you can show your bank if it hasn't landed yet.
{Your name}
Order lost in transit
Customer
Where is my order?? Paid for express shipping for my daughter's birthday on Saturday and the tracking says 'label created' for a week. Unbelievable.
After
Hi {name},
You paid for express shipping so the gift would arrive by Saturday, and the parcel hasn't moved since the label was created a week ago. I'm sorry. That's not the service you paid for.
I've opened a trace with the carrier and will tell you by {time today} whether it can still arrive by Saturday. If it can't, I'll lay out {replacement or refund options} in the same message so you can choose.
{Your name}
Outage during a launch
Customer
Our store went down in the middle of our product launch and your status page said everything was fine. We lost hours of sales. What exactly am I paying you for?
After
Hi {name},
Your store went down during your product launch, and our status page said everything was fine. You were let down twice there: by the outage and by not hearing about it from us. I'm sorry.
I'm getting the exact outage window and cause from our engineering team, and I'll send you a written summary by {date and time}. I'll include whether {service credit} applies for the downtime.
{Your name}
Rude or abusive message (set a boundary)
Customer
Your app is garbage and so are you idiots. I've been locked out of my account since yesterday and nobody answers. Fix it or I'll leave a review everywhere I can.
After
Hi {name},
You've been locked out of your account since yesterday and haven't heard back from anyone. I'm sorry you've been left without access that long.
I've reset the lock on your account and sent a login link to the email on file. If it doesn't work, reply here and I'll stay on it until you're in.
I want to fix this, and I'll need us to keep it respectful.
{Your name}
“Third time I'm writing”
Customer
Third time I'm writing about this. Order #40418 still hasn't arrived, tracking hasn't moved in 9 days and every reply I get is copy paste. Does anyone there actually read these??
After
Hi {name},
Order #40418 still hasn't arrived and the tracking hasn't moved in 9 days. I'm sorry you've had to write three times and got canned replies. I've read the whole thread, and you won't have to explain it again.
I've asked the carrier for the parcel's last location and I'll reply here myself by {date and time}. If it's lost, I'll arrange {replacement or refund} the same day.
{Your name}
De-escalation phrases: what to say instead
| Instead of | Say | Why |
|---|---|---|
| I understand your frustration. | You were charged twice for one order. | Naming the actual problem proves you read it. The stock line proves you didn't. |
| As per our policy, refunds take 5–7 business days. | I've started the refund. Your bank usually shows it within {days}. | |
| Please calm down. | Let's get this fixed. Here's what I'm doing now. | |
| We apologize for any inconvenience. | I'm sorry your launch was hit by our outage. | |
| I'll look into it. | I'll reply here by 3pm today with what I find. | |
| There's nothing I can do. | I can't reverse the renewal, but I can {option} today. |
How to deal with angry customers in writing
Name the problem in the first sentence
An angry customer's first question is whether a person read their message. “You were charged $148 twice” answers it. “I understand your frustration” tells them nobody did.
Apologize once, for something specific
“I'm sorry we double-charged you” lands. Three apologies in one reply read as nerves, and a vague one reads as a template. Own it plainly where it's clearly your fault.
Say what happens next and when
Anger is mostly uncertainty. A concrete step and a time (“I'll reply here by 3pm”) does more to calm someone down than any empathy statement. Then keep the promise.
Don't defend, don't quote policy
Explaining why it wasn't your fault, or pasting the refund policy, restarts the fight. If a policy changes what happens next, say so in one sentence and move on.
Set a boundary without matching their tone
You can help someone and still decline to be insulted. One calm line, “I want to fix this, and I'll need us to keep it respectful”, is enough. Skip the insults and answer the problem.
Don't promise what you can't check
Refunds, credits and delivery dates written in anger become the next complaint when they don't happen. Leave a {placeholder}, confirm it, then fill it in.
The snippet
This is the exact prompt the tool above runs. Save it as a snippet in Snippetbar and it works on any text you select.
You are a senior support agent who is good at calming angry customers down. Write a reply to the angry message below.
Rules:
- Open by restating their specific problem in plain words, so they know a person read it. State it as fact ("You were charged twice…"), never "You're saying" or "I understand your frustration".
- Apologize once, for the specific thing that went wrong. Take ownership where the company is clearly at fault; don't admit to anything the text doesn't show.
- Give one clear next step and when they'll hear back. Only say you've done something if the text says it was done; otherwise write the step as a placeholder, e.g. "I'll {next step} and update you here by {time}." Keep to the obvious next step.
- Keep facts from the text (amounts, order numbers, names) exactly as written, without braces. Use {placeholders} only for what's missing: dates, times, reference numbers, anything you'd have to check. Never nest braces.
- Never promise refunds, credits, replacements or compensation the text doesn't justify; leave them as a named placeholder for the agent to decide, like {refund or credit}.
- Only if they say this is a repeat message or they've already contacted support: own that, and tell them they won't have to explain it again. A repeated problem is not the same as a repeat contact.
- No defensiveness, no blaming the customer, no policy quotes, no "We apologize for any inconvenience". Don't ask them for information unless you truly can't act without it.
- Only if the message contains insults or threats: ignore them, help anyway, and add one short, calm sentence that sets a clear boundary, like "I want to fix this, and I'll need us to keep it respectful." Otherwise, leave the boundary out.
- Don't mirror their anger. No exclamation marks. No dashes (— or –): use a period or comma. No "calm down", no "rest assured", no filler closers.
- Sound like a person: use contractions, short sentences, 60 to 110 words.
Return only the reply, in this shape. No other text.
Hi {name},
{the problem, restated, and the apology}
{the next step and when they'll hear back}
{Your name}
Write the greeting as "Hi {name}," with the braces kept, so the agent can fill it in. Never "Hi there". Only if the text gives the customer's name, use it instead.Add your team's refund window or escalation path to the rules, and the drafts will use them instead of placeholders.
Use it where you work
In Zendesk, Help Scout or Intercom
Copy the customer's message, run the snippet, and paste the draft into the reply box. Fill in the placeholders once you've checked the account, then send.
In live chat
When a chat turns heated, run the snippet on their last message. You get a calm first line and a next step in seconds, instead of typing while annoyed.
In Slack, before you escalate
Run it on a forwarded complaint to see how the reply should read, then hand it to the account owner with the gaps already marked.
More snippets
All snippets →Empathy statements
Paste a blunt or defensive support reply and get the same answer with specific, human empathy statements in front of it. The facts and the fix stay exactly as they were.
Complaint response
Paste a complaint email, form message or letter, plus your notes. You get a reply that owns the problem, fixes it and says what happens next.
Apology email to customer
Paste your notes: what went wrong, who it affected and what you're doing about it. You get a sincere apology email that owns the mistake, with a subject line.
Questions
Run it in any app
Select the text, pick Angry customer response from the menubar or press its shortcut, and the result replaces it in place.
A calm first reply, even when you're not calm.
Snippetbar runs your snippets on anything you copy, in any Mac app. $29, one-time purchase.