← All projects

Customer Escalation Triage

Analyze one complaint, then adjust the automation threshold to see how the same decision rule affects 22 sample cases.

This project applies my workflow framework to a high-stakes operations problem I know firsthand. The model can recommend a severity level, but its confidence and the cost of being wrong determine whether the case can be routed automatically or should go to a person for review. The threshold below lets you change that boundary and see the tradeoff in both directions.

What you'll get

  • ·A severity level, from Low to Critical
  • ·A recommended owner, frontline, specialist, or manager
  • ·A confidence score and the reason codes behind it
  • ·An automation decision, driven by the threshold below
  • ·Rule-detected signals, kept separate from model interpretation

Not sure what to type? Click “Try an example” on the left.

Test the automation threshold

The dashboard includes 22 sample complaints with known severity levels. Each complaint is processed by the same rule-based baseline used in the single-case comparison. The system looks for specific signals in the complaint, then uses those signals to assign a severity level and confidence score.

When Claude analyzes a complaint in assisted mode, it produces its own confidence score based on its interpretation of the complaint and the reasons supporting its severity recommendation. In both cases, the confidence score determines whether the complaint can be routed automatically or should go to a person for review.

Move the threshold to see how many cases would be automated, how many would require human review, and how often the system would make the wrong decision.

65%

A complaint is routed automatically only when its confidence score meets or exceeds the selected threshold. Anything below it goes to a person for review, while Critical complaints always require human review regardless of confidence.

Routed automatically

11

Sent for human review

7

Escalated immediately

4

Missed high-risk cases

2

Actually High or Critical, but the predicted severity understated it and the case still went out on the automated path.

Unnecessarily escalated

7

Actually Low or Medium risk, but confidence fell short of the threshold and it used a person's time anyway.

ComplaintPredictedConfidenceActualDecision
This is the third time I've called about this charge and nobody has fixed it. I was charged $340 for a repair I never approved, and if this isn't refunded I'm going to talk to a lawyer.Critical85%CriticalEscalated immediately
I noticed the tire pressure light came on and when I pulled over the wheel felt loose. It's a little unsafe to drive like this, can someone call me back today.Critical65%CriticalEscalated immediately
I've called twice now about the $150 overcharge on my last invoice. Nobody has followed up and I'd like to cancel my plan if this keeps happening.High85%HighRouted automatically
Following up again on my refund request from two weeks ago. Still haven't seen the money back on my card.High75%HighRouted automatically
Absolutely furious. This is the worst, most unacceptable service I've ever dealt with, the app crashed and I lost my saved cart. Ridiculous.Medium65%LowRouted automatically
This has been such a terrible morning, your checkout page timed out on me twice before it finally worked. Frustrating but got there in the end.Medium65%LowRouted automatically
I'd like to cancel my subscription please, I just don't use it enough to justify the cost anymore.Medium65%MediumRouted automatically
Can I get a refund on my last order, the color was different than what was shown online.Medium65%MediumRouted automatically
Quick question, does my plan renew automatically or do I need to do anything before next month.Low55%LowSent for human review
The tracking page says my package was delivered but I never got it. Could someone look into where it actually went.Low55%MediumSent for human review
Honestly not a big deal, just wanted to mention the packaging arrived a little dented this time. Everything inside was fine.Low55%LowSent for human review
I'm frustrated this refund hasn't gone through yet, and I already mentioned to someone that I'd be canceling my three locations with you if it's not resolved by Friday.Medium85%HighRouted automatically · missed
Not upset, just want to understand why my renewal price went up so much from last year before I decide whether to keep the plan.Low55%MediumSent for human review
My card was charged twice for the same order, $89 each time. Can someone reverse the duplicate.Medium65%MediumRouted automatically
Second time reaching out, my account still shows the old address even though I updated it last month. Not urgent, just want it fixed.Low55%LowSent for human review
I slipped on a wet floor near your service counter yesterday and I'm still sore. Wanted to flag it in case anyone else gets hurt.Critical65%CriticalEscalated immediately
This is the third time this exact issue has come up and I'm considering canceling everything with your company. I've already spent $600 this year on repairs that didn't fix anything.High85%HighRouted automatically
Could you send me a copy of last month's invoice? I need it for my records.Low55%LowSent for human review
I'm unbelievably angry, this is the single worst experience of my life, and it's just that my coupon code didn't apply at checkout. Can someone fix it.Medium65%LowRouted automatically
My attorney suggested I reach out here first before filing anything, regarding the injury my son sustained on your equipment last week.Critical75%CriticalEscalated immediately
The onboarding call never happened and now my team has missed our internal launch date twice. We're a $40k/year account and I'm losing patience.Medium65%HighRouted automatically · missed
Just letting you know the font on the invoice PDF looks a little off on my screen. Not urgent at all.Low55%LowSent for human review

What this shows

The severity label describes the complaint, but confidence and the cost of being wrong determine how much of the routing decision should be automated. Raising or lowering the threshold changes how many cases are routed automatically, how many use a person's time, and how many high-risk cases may be missed.

How it works

When you paste in a complaint, a deterministic scan checks for legal language, safety concerns, repeat contact, dollar amounts, cancellation requests, and frustration. These are similar to the signals I learned to notice while handling escalations.

Claude Opus 4.8 then reads the complaint for context that a keyword scan may miss, including tone, urgency, and implied account value. It returns a severity level, recommended owner, first action, confidence score, and reasoning through a validated structure. The automation threshold acts on that confidence score rather than the severity label alone.

Design decisions and guardrails

The rule-detected signals and the model's interpretation appear in separate panels so the user can see what each approach contributed. When they disagree, the difference becomes useful information for a person to review rather than something the system hides inside one combined score.

Critical cases always go directly to a person regardless of the threshold, and users can also run the deterministic baseline to compare it with the model-assisted result.

Limitations

The baseline uses keywords rather than a trained classifier, and I assigned the correct severity labels for the 22 sample cases. The resulting error rates illustrate how the threshold behaves, but they are not independently validated performance measures. The project supports triage and routing decisions, and it is not designed to close or resolve a customer case without human review.

Production next steps

A production version would be evaluated against labeled historical cases and compared with the decisions made by experienced agents. That record would show where the model was accurate, where it disagreed with human judgment, and where the automation threshold should be set.

Next version, an Escalation Resolution Copilot

A further version could retrieve policy documents and account history, cite the specific evidence behind its recommendation, draft a first response for a human to edit, and pause for manager approval before anything goes out, an assistant that prepares the decision rather than making it.

Technology used

Next.js API route running as a Vercel serverless function. Anthropic API (Claude Opus 4.8) called with structured outputs. Deterministic regex-based signal detection running independently of the model. Zod for schema validation. In-memory, per-IP rate limiting.