The same ten actions, a thousand times a day.
A marketplace's tier-1 support was drowning in repetitive, well-defined requests: order cancellations, address updates, refunds, partner onboarding. Each was simple; together they consumed the whole team. Volume, not difficulty, was the problem.
They needed the routine resolved unattended — safely, with an audit trail — so humans could focus on the ambiguous edge.
Typed, idempotent actions with an escalation seam.
We built an agent fleet that takes tier-1 actions directly against the client's systems. Every action is typed and idempotent, so a retry can never double-refund or double-cancel. A policy layer decides what an agent may do unattended versus what must escalate, and an audit log records every step. Anything outside policy lands in a human queue with full context attached.
- Typed action contracts — no free-form writes to production systems
- Idempotency keys on every mutation, so retries are safe by construction
- A policy boundary the client owns: what's autonomous, what escalates
- Append-only audit log: who, what, why, and the inputs, for every action
"We expected to babysit it for a month. By week two we were just reading the audit log over coffee."
How it fits together.
The policy layer is what makes it safe to run unattended. The agents are capable; the boundary is what keeps a capable agent from doing something irreversible on a bad day.