WorkDTC E-commerce7 min read

A Support Agent That Resolves Tickets in Your Voice and Never Invents a Policy

A governed AI agent that resolves the common tickets end to end using facts pulled from Shopify, takes only the actions your policy allows, escalates everything else, and states zero facts it did not verify in code.

Most support tickets are repetitive: where is my order, how do I return this, is it in stock, what size should I get. But volume outgrew the small CX team, so response times slipped and customers churned. And support is exactly where a confident, wrong answer becomes a brand liability, because an agent that invents a return window or a delivery promise is a problem the brand owns.

Client profile
A DTC brand whose support volume outgrew a small CX team
Industry
DTC E-commerce
Region
North America / UK

01 The Challenge

A support inbox growing faster than the team, where a wrong answer is a liability

Hours to first replyOn mostly repetitive ticketsWhile a wrong answer is the brand's liability

The ticket mix was mostly routine, but the volume outpaced a small CX team, so first responses slipped from minutes to a day and customers felt it. The tempting fix, a generic support bot, is also the dangerous one: the moment it invents a return policy, a delivery date, or a product claim, that promise is legally the brand's, as more than one company has learned the hard way.

Fast answers are worthless if they are wrong, and a bot that makes up policy is a liability waiting to happen.

02 The Approach

Resolve within the rules, in the brand's voice, and never invent a fact

The governing rule: the agent resolves the common tickets end to end using facts pulled from the systems of record, takes only the actions policy allows, escalates everything else, and every fact it states is injected and verified in code, never generated.

Two decisions carry it. Facts-of-record: order status, tracking, stock, delivery windows, and the returns policy come from Shopify and the policy corpus, verified in code, and the model only writes the connective prose around verified facts. That is the guardrail that closes the "the bot promised me" liability. And a governance envelope: the agent's actions run behind a deterministic authorization layer, so it can only ever touch the authenticated customer's own records (enforced in code, not asked of the prompt), with action limits, returns within policy are autonomous, but refunds above a threshold, policy exceptions, and anything contractual route to a human. A brand-voice judge scores every reply before it sends.

What we deliberately did not do: no invented facts or promises; no autonomous refunds beyond the cap; no access to another customer's data; no prompt-only guardrails; and the agent discloses that it is AI (EU AI Act Article 50 for EU customers).

03 The Build

A governed agent, not a free-text bot

Every ticket is classified by Claude Haiku 4.5 and routed. For resolvable intents, the agent gathers facts through tools behind an authorization layer scoped to the authenticated customer, the Shopify Admin API for orders, tracking, and stock, and the returns-policy corpus. Claude Opus 4.8 drafts the resolution in the brand's voice using only those verified facts. A brand-voice judge and a facts check gate the reply before it sends. Returns within policy execute through Shopify behind an idempotency key so a retry never issues twice; anything outside policy escalates to the CX team in Gorgias with the drafted context attached. A Temporal workflow carries the ticket durably, including while it waits on a human. A TypeScript console gives CX the queue, the agent's sources, and one-click takeover. Customer messages and any retrieved content are treated as untrusted input for injection defense.

The facts-of-record discipline is the difference between a helpful agent and a liability: code orchestrates, facts come from the system of record, and the model writes prose within bounds.

  • Python
  • TypeScript
  • Claude Haiku 4.5
  • Claude Opus 4.8
  • Temporal Cloud
  • Shopify Admin API
  • Gorgias
  • AWS

04 The Results

Faster answers the brand can stand behind

60%Of tickets resolved end to endIn brand voice, with the CX team on the exceptions

About 60% of tickets (the repetitive ones) are resolved end to end in the brand's voice, and first response dropped from hours to minutes, around the clock. The CX team now handles only the exceptions and high-touch cases the agent escalates with full context. And because every fact is injected from Shopify and verified in code, the agent states zero invented policies or promises, so the liability that sinks generic support bots simply is not there. Refunds over the cap and policy exceptions always reach a human.

05 What's Next

A governed-agent foundation the rest of CX plugs into

The pattern (facts-of-record, authorization in code, action limits, brand-voice judging, durable workflow) extends to more of CX: proactive order-issue outreach, returns orchestration, and subscription changes within policy. And the support signal (why customers contact, what breaks) feeds back into the brand's wider data spine, so support becomes an input to product and margin decisions, not a cost center in isolation.

Dental6 min read

Lower Cost Per Booked Patient by Attributing Ad Spend to Real Treatments, Not Form-Fills

First-party attribution that connects each ad click to the appointment booked in the practice system and the treatment that follows, then feeds that real value back to Google and Meta.

-30%Cost per acquired patient
  • Multi-Touch Attribution
  • Google Ads
  • Meta CAPI
  • Dental
Read

DTC E-commerce7 min read

Lower CAC at Scale With First-Party Multi-Touch Attribution and Revenue Feedback to the Ad Platforms

First-party, server-side tracking and data-driven attribution that reveal which channels truly drive new revenue, then feed that value back to Google and Meta so the algorithms optimize on reality, not last click.

-22%Blended CAC after reallocating to truly incremental channels
  • Multi-Touch Attribution
  • Rust
  • ClickHouse
  • Meta CAPI
  • Google Ads
Read

Engineering edge,
without hiring a team.

Numbers you can trust, operations that run themselves, all built into your stack and owned by you. Tell us where you want the edge, and we'll build it.

Have a project in mind?

  • Quick response

    You'll hear from an engineer the same working day, not a sales sequence.

  • Clear next steps

    A short call, then a plan, and we start with Proof Week or a full build.

  • Fixed fee first

    A fixed fee agreed before anything starts, for Proof Week or the full build.