// CASE STUDY · AI AGENT

How we shipped an ops agent that books, reschedules, and escalates — and the team trusts at 2am.

An operations team was doing thousands of small scheduling tasks by hand. We built an agent that handles them — with budgets, reversible actions, and one hand-off rule that always holds.

ClientNDA — field services
IndustryOperations · Scheduling
EngagementAI Build → Ops Automation
Timeline10 weeks
StackPython · Claude · Postgres
// OUTCOMES
3.4k/wkScheduling tasks closed autonomouslybooks, reschedules, cancels
99.1%Eval pass rate on golden task setgating every deploy
100%Actions logged and reversibleidempotent by design
1Hand-off rule that always triggersnever silently fails
// THE SITUATION

Thousands of tiny tasks, all by hand.

The ops team was coordinating thousands of small scheduling decisions every week: booking field appointments, rescheduling when engineers cancelled, handling priority bumps. All of it was manual, most of it arrived outside business hours, and it was saturating the team's capacity for decisions that actually needed judgment.

The requirement wasn't speed — it was trust. The agent had to be right often enough that people could sleep through the 2am reschedule, and safe enough that a wrong decision didn't cascade into an irrecoverable mess.

// THE APPROACH

An agent is only as safe as its guardrails.

We started with the failure modes before we wrote the first tool. Every action the agent could take had to be logged before it happened, idempotent if it ran twice, and reversible with a single operation. The budget and rate limits were constraints, not afterthoughts.

The hand-off rule was explicit and unconditional: anything outside the agent's mandate gets a human with a summary, never a guess. That rule has never been an exception.

// WHAT WE BUILT

Tool calls, guardrails, and a deployment gate.

  1. Built calendar and CRM tool calls.

    The agent reads availability, books, reschedules, and cancels through authenticated tools — no screen-scraping, no brittle integrations.

  2. Budgeted and rate-limited every action.

    Hard limits on how many bookings per hour, how far out it can schedule, and which resource types it can touch. Exceeding any limit stops the agent and routes to a human.

  3. Made every action idempotent and reversible.

    Actions are logged to an audit trail before they fire, carry idempotency keys, and have a one-command undo that the team can run without touching the agent.

  4. Wrote the escalation rule in code, not in the prompt.

    When confidence is below threshold or the task type is outside scope, the agent summarises the context, tags the priority, and hands off — it cannot proceed past this gate.

  5. Gated deploys with an eval harness and observability.

    A golden task set runs on every change, and all live decisions are traced with action type, confidence, and outcome so the team can audit any anomaly in seconds.

// THE OUTCOME

Trusted at 2am, auditable at 9am.

The agent handles 3,400 scheduling tasks per week with no human in the loop, maintains a 99.1% eval pass rate, and has never taken an action outside its mandate. Every action is logged and reversible — the team does a morning review of what happened overnight rather than fielding calls about it.

The escalation rule has triggered hundreds of times and has never been wrong to do so. That's the part the team points to when they say they trust it at 2am.

It does the 2am reschedules correctly and wakes us only when it should. The audit trail means we can always see exactly what it did and why.
Head of OperationsField services · name withheld under NDA
// WHAT WE USED

The stack and the services applied.

Tech stack
PythonAnthropic ClaudeFastAPIPostgresGCP · Cloud RunPub/SubTemporalEval harnessGrafanaTerraform
// LET'S TALK

Have a workflow you'd trust an agent with — if the guardrails were right?

Tell us what the task is and what can go wrong. We'll tell you how we'd make it safe.