Izveidot kontuCreate account
‹ All playbooks
Resolve a customer complaint

ops.customer-complaint·version 1.0.0·draft3 to verify

Resolve a customer complaint

The complaint is logged, answered in writing within the promised time, the remedy is decided and executed by a named person, and the root cause is recorded.

MārisOperations Managerruns itProfile ›
Whenon an event — a complaint arrives by mail, ticket, phone note, review or social message
Who actsthe agent acts after approval
Time30 min active; days to weeks elapsed depending on remedy and customer replies
Countryany country
Sign in to run thisThis playbook opens inside Brain Club. Sign in to read and run it.

When to use

A customer has said, in any channel, that the company did something wrong and wants it fixed. Not for a formal legal claim or a regulator letter — use ops.consumer-claim-lv. Not for a routine support question with nothing wrong — use support.answer-ticket. A complaint that arrives inside an open ticket is still logged through S1; do not bury it in the existing thread.

Before you start

  • The complaint policy is known: which remedy sizes the owner approves alone and which need a partner/board decision.
  • The customer's identity is established — one real person or company, not "the contact on the order".
  • If the complaint mentions injury, data loss, or a regulator, treat it as severity A from S2 and say so to the owner the same day.

What a run requires5

  • Approval · S4 · ownerthe run stops until a named person records the decision
  • Approval · S6 · ownerthe run stops until a named person records the decision
  • Approval · S7 · ownerthe run stops until a named person records the decision
  • Irreversible · S7an agent never closes it alone
  • Approval · S8 · ownerthe run stops until a named person records the decision

Any step can wait until a date and reopens by itself; every closed step leaves evidence (a note, a link, a number).

The trail10 steps

  1. Log the complaintagent

    Open a ticket; paste or attach the original text, channel, date and the customer's name. Never paraphrase the complaint in place of the original.

    Done when the ticket exists and contains the customer's words as received.

  2. Classifyagent

    Severity A (legal, safety, data, regulator, media threat) · B (money: refund, damage, lost work) · C (service: delay, attitude, quality without damage). For LV consumer complaints, note the statutory reply deadline next to the ticket — ⚠ verify the current term on likumi.lv before writing it down.

    Done when the ticket shows severity, the applicable deadline (if any) and the routed owner.

  3. Draft the acknowledgementagent

    Short draft: we received it, who handles it, by when they will hear back. No admission of fault, no promise of a remedy yet.

    Done when a draft reply sits in the ticket, ready to send.

  4. Acknowledge in writingownerneeds approval · owner

    Approval · S4 · owner — the run stops until a named person records the decision

    Send the acknowledgement to the customer.

    Done when the customer has a written reply with a named contact and a date. ⛔ Never acknowledge by silence, and never let the draft go out with a promised date the owner has not confirmed.

  5. Investigateagent

    Collect the facts: order or contract, correspondence (use bc mail search on the customer's address), logs, photos, delivery records, what each side says with dates. Separate fact from claim.

    Done when the ticket contains a dated factual timeline and each fact points to its source.

  6. Decide the remedyownerneeds approval · owner

    Approval · S6 · owner — the run stops until a named person records the decision

    Choose: full remedy · partial remedy · goodwill gesture · fix without payment · reasoned refusal. Write the reason in one paragraph. If the decision sets a precedent or changes a rule, record it via management.decision-record.

    Done when the ticket holds the decision, its reason and the decider's name and date.

  7. Execute the remedyagentneeds approval · ownerirreversible

    Approval · S7 · owner — the run stops until a named person records the decision

    Irreversible · S7 — an agent never closes it alone

    Do what was decided: process the refund through the money module (it follows ops.purchase-approval for payouts), ship the replacement, apply the fix, or prepare the reasoned refusal. Create the follow-up with bc tasks add for anything that happens later (repair visit, replacement delivery).

    Done when the remedy exists in the world — money moved, goods sent, fix deployed — or the refusal is drafted.

  8. Answer the customeragentneeds approval · owner

    Approval · S8 · owner — the run stops until a named person records the decision

    Send the final written answer: what we found, what we did, what happens next and by when.

    Done when the customer has the answer in writing on the same channel they used.

  9. Close and verifyagent

    Confirm the remedy actually reached the customer (delivery confirmed, refund visible on their statement if they say so). Tag the root cause on the ticket. Close it only after the customer's confirmation or a clear no-response after two attempts.

    Done when the ticket is closed with decision, remedy proof and root cause tag.

  10. Feed the loopagent

    If this root cause has appeared before, or the fix belongs in a procedure, propose a change note to the responsible playbook (e.g. sales.customer-onboarding, ops.work-order) or write a new draft.

    Done when either a recurring pattern is recorded with a proposal, or the ticket is marked "one-off".

Checks — how we know it worked

  • The customer's own words are in the ticket, not a summary only.
  • First written reply went out within the promised or statutory time — read the sent mail, do not trust memory.
  • The decision names the decider, the date and the reason.
  • The remedy is proven: refund transaction id, tracking number, or the fix's release/change id.
  • The root-cause tag is set and the ticket is closed, not left open "for later".

If it goes wrong

SymptomResponse
Customer threatens a regulator, lawyer or media within the complaintRe-classify as severity A, inform the owner the same day, route any legal reply through ops.consumer-claim-lv; answer nothing ad hoc.
The complaint is about a specific employeeThe owner handles the customer reply; the people side follows people.performance-review — never mixed into the customer's answer.
The customer stops replyingTwo written attempts on two channels, two weeks apart; then close as "no response" with both attempts evidenced.
The demanded remedy exceeds the owner's authorityFreeze S7, escalate to the partner/board per the complaint policy; tell the customer honestly that the answer needs a few more days.
The same complaint arrives from several customers in one weekStop treating them one by one: severity A, one ticket as the master, and S10 becomes mandatory this run.

What each step leaves behind

  1. S1the ticket exists and contains the customer's words as received.
  2. S2the ticket shows severity, the applicable deadline (if any) and the routed owner.
  3. S3a draft reply sits in the ticket, ready to send.
  4. S4the customer has a written reply with a named contact and a date. ⛔ Never acknowledge by silence, and never let the draft go out with a promised date the owner has not confirmed.
  5. S5the ticket contains a dated factual timeline and each fact points to its source.
  6. S6the ticket holds the decision, its reason and the decider's name and date.
  7. S7the remedy exists in the world — money moved, goods sent, fix deployed — or the refusal is drafted.
  8. S8the customer has the answer in writing on the same channel they used.
  9. S9the ticket is closed with decision, remedy proof and root cause tag.
  10. S10either a recurring pattern is recorded with a proposal, or the ticket is marked "one-off".

Evidence to keep

Ticket id · the original complaint as received · sent acknowledgement and final answer · the decision with decider and date · refund or delivery proof · root-cause tag · dates of every customer contact.

How this playbook improves

After every 10 closed complaints ask: how long from receipt to first written reply, and which step waited? How many were reopened within 30 days, and why? Did any statutory deadline come within a day of being missed? Do the root-cause tags cluster on one process — and if so, did S10 actually produce a change proposal? A new version changes the step that caused the wait or the repeat, and says so in its change note.