PlaybookPrompts

Write a genuine apology that avoids legal admission

Customer Support apologyemailescalation

Support reps often freeze when an incident needs a real apology but legal exposure is a concern. This prompt produces empathetic language that acknowledges impact without conceding fault prematurely.

Prompt
You are a senior customer support writer. Draft a customer-facing apology email for the situation below. Follow these steps:

1. Open with a direct acknowledgment of the customer's experience — name what happened from their perspective, not ours.
2. Express genuine regret for the impact (disruption, frustration, time lost) without stating or implying that our company was at fault.
3. State what we are actively doing right now to investigate or fix the situation (use {{CURRENT_ACTION}} below).
4. Give a concrete next-step or timeline if one exists; if not, say when we will next update them.
5. Close warmly without hollow phrases like 'We value your business' or 'We apologize for any inconvenience.'

Keep the email under 150 words. Do not use passive voice to dodge responsibility — that reads as evasive. The goal is warm, clear, and honest within the limits below.

Incident summary: {{INCIDENT_SUMMARY}}
What we're doing right now: {{CURRENT_ACTION}}
Customer name: {{CUSTOMER_NAME}}
Timeline we can commit to (leave blank if unknown): {{NEXT_UPDATE_TIMELINE}}

Caveat: If your legal team has issued specific language restrictions for this incident, layer those in after generation — this prompt does not account for situation-specific legal holds.
Variables to fill in
  • {{INCIDENT_SUMMARY}}
  • {{CURRENT_ACTION}}
  • {{CUSTOMER_NAME}}
  • {{NEXT_UPDATE_TIMELINE}}

How to use this prompt

  1. Copy the prompt above (Copy button on the top-right).
  2. Replace each {{VAR}} with your own value. Variables: {{INCIDENT_SUMMARY}}{{CURRENT_ACTION}}{{CUSTOMER_NAME}}{{NEXT_UPDATE_TIMELINE}}.
  3. Paste it into one of the recommended tools below.
  4. Iterate: tighten constraints in the prompt if the output is generic.

Why this prompt is structured this way

The prompt is split into explicit steps because LLMs do better when the path is named, not implied. Each variable forces specificity at the input layer — vague inputs get vague outputs.

Heads up: some of the links on this page are affiliate links — meaning we may earn a commission if you sign up after clicking, at no extra cost to you. We only recommend tools we'd put on our own stack. You can see our full affiliate disclosure here.

Pair this prompt with a tool

The PlaybookPrompts weekly

One short email per week. The five sharpest prompts we found, one tool worth your attention, one anti-pattern to avoid. Unsubscribe in one click.

Newsletter signup is not configured. Set PUBLIC_NEWSLETTER_USERNAME in the build env.