Skip to content

Peak season without the peak season hiring

This retailer tripled support volume every November and hired seasonal staff who were competent by the time the season ended. We built a support agent that handles the three ticket types making up most of that spike, and it kept working in January.

E-commerce & Retail

0%of tickets resolved without a human
Services
Customer Support Agents, Marketing Agents
Duration
5 weeks
Year
2026

What was actually wrong.

Three ticket types — order tracking, returns and sizing — made up 78% of volume, and all three were fully answerable from data the company already held.

Seasonal hiring meant four weeks of training for eight weeks of work. Quality dipped exactly when visibility was highest.

The existing chatbot deflected by frustrating people into giving up. Its 'resolution' rate was high and its CSAT was the lowest number in the business.

How we went at it.

01

Read eighteen months of tickets

Before designing anything, we clustered the historical ticket set to find what people actually asked, in their words. Two of the top ten intents were not in the company's macro list at all.

02

Grounded every answer in a source

The agent answers from the order record, the product data and the published policy — and cites which one. It has no authority to state a policy that is not written down.

03

Made escalation a feature, not a failure

When the agent escalates it writes a summary, attaches the order, and states what it already tried. Agents rated handoff quality higher than handoffs from other humans.

04

Added the marketing agent afterwards

Once support was stable, the same context layer fed a marketing agent writing product descriptions across a 12,000-SKU catalogue that had been half-blank for years.

The build, in five panels.

Scroll the deck, or use the arrows. Everything here is also written out above and below.

Tracking41%
Returns24%
Sizing13%
01

78% of volume, three intents

Clustering eighteen months of tickets showed the spike was narrow and answerable from data already in the business.

Order record
Product data
Policy docs
Guardrail layer
Response
02

Grounded, or escalated

Every answer traces to the order record, the product data or the published policy. No source, no answer.

Operator console
  • Summary
  • Order #VC-88213
  • Tried: label reissue
  • Reason: refund > policy
03

The handoff packet

When it escalates, the human receives a summary, the order, and what the agent already ruled out.

Wk 1 — 51%
Wk 4 — 64%
Wk 8 — 70%
Wk 12 — 73%
04

Ninety days, not launch day

Resolution rate reported at ninety days. The launch-week figure was 51% and would have been a misleading thing to publish.

What moved, and over what period.

Reported against the metric agreed before the engagement started.

0%Full resolution without a humanMeasured at 90 days, not at launch
+0CSAT points versus the old chatbotOn agent-handled conversations
0Seasonal hires neededDown from 14 the previous year
0kSKUs describedPreviously 41% had no description
We had been told for two years that our support volume was a hiring problem. It was a routing problem.

Built with

ClaudeZendeskShopifyNext.jsVercel

Month-end from nine days to two

Next case study
Healthcare

Know what you need, or don't. We can help either way.

Already sure you want an agent, or a web, mobile or 3D product? We can scope it on the call. Still figuring it out? That's fine. AI is new, and we'll tell you honestly what's realistic. Chances are we've already worked with a company like yours, or a direct competitor, so we're not guessing.

Engagements start at $3,000. Typically live in under a month.