Retext

Angry customer response templates

An angry message is rarely about the words in it; it's about feeling ignored. This template lowers the temperature by showing you read the message, acknowledging the frustration without arguing, and offering one concrete next step with a time attached. It deliberately leaves the explanation for later: people can't hear reasons until they feel heard.

Template;cs-upset
Hi Customer name, You're right to be frustrated. What they experienced, and that's not okay. I'm taking this on myself now. The next step is Next step, and I'll update you by Update time today with where it stands, even if it isn't finished. Your name
Then type ;cs-upset in any app.

Variations

The same message for a different channel or tone. Copy the one that fits.

For live chat, where short sentences calm things faster than paragraphs.

Chat
I hear you, and I'm sorry this has been such a hassle. I'm going to sort it out with you now. Can you tell me One question?

For a message with insults or threats aimed at staff. Still helpful, but sets a line.

Abusive message
Hi Customer name, I want to help fix this, and I can see why you're upset about What they experienced. I'll keep working on it with you, but I need us to keep the conversation respectful toward the team. Here's where things stand: Your name

When to use it

  • A customer is clearly angry, whether or not they're right about the cause.
  • Someone has written in more than once and feels ignored.
  • A message crosses into abuse and you need to set a boundary without abandoning the problem.

What to avoid

  • Don't start with "I understand your frustration". It's the most recognisable script line there is.
  • Don't explain why it happened in the first reply. Lead with the next step.
  • Don't match their tone or use sarcasm, even mildly.

The fields in this template

Retext fills these in when the snippet expands. In plain text they become [brackets] to replace by hand.

Customer name{fill:Customer name}
Their first name.
What they experienced{fill:What they experienced}
Their problem in your words, e.g. "You've been charged three times and waited four days for an answer".
Next step{fill:Next step}
One concrete action, e.g. "refunding the extra charges, which I'm doing now".
Update time{fill:Update time}
When you'll next write, e.g. "4pm". Leave enough time to have something to say.
Cursor{cursor}
Where your cursor lands after the snippet expands, so you can start typing the personal part straight away.
Your name{fill:Your name}
Your first name.
One question{fill:One question}
The single most useful thing you need to know to help.
More about dynamic fields

Tips

  • •Restating what they experienced in your own words is the part that does the calming. Don't skip it.
  • •Pick an update time you can keep. A promise you keep calms things down more than the apology does.
  • •Expand the snippet, then read it once before you send. A calm reply that fits this customer beats a fast one.

Works in Zendesk, Intercom, Gmail, Help Scout and every other app

Retext types the snippet wherever your cursor is. To use a different version in one app, give it the same trigger and limit it to that app with per-app snippets. They go by app, not website, so every tab in your browser counts as one app.

Use it with your team

New agents find these conversations hardest. Sharing a tested reply in the team pack gives them a calm starting point, and the boundary variant makes your team's policy on abuse explicit.

See Retext for Teams

Questions

How do you respond to an angry customer by email?

Acknowledge what happened in specific terms, take ownership, give one next step with a time, and save the explanation for later. Keep sentences short and sign with your name.

What should you never say to an angry customer?

Avoid "calm down", "as I said before", "that's our policy" and anything sarcastic. Also avoid blaming another team or the customer.

What if the customer is abusive?

Set a clear, polite boundary while still offering help. If it continues, follow your team's policy for ending the conversation or escalating to a manager.

Type ;cs-upset, get the whole reply

Retext expands your snippets in every Mac app and fills in names, dates and order numbers for you.

Free to start. No account required on the Mac.