Skip to content
New: Replays now compare against the last 90 days. Read the changelog

Approvals aren’t a speed bump

Every team that trusts its agents has one thing in common. They decided, step by step, where a person says yes.

Maya OkaforHead of product · · 4 min read

When we started Capstan, we thought approvals were training wheels: something a team would switch on for the first week and switch off once they trusted the agent. We even had a dashboard tile for it, "approvals turned off", and expected the number to climb.

Six months of runs later, almost nobody has turned them off. The teams that run the most agents have the most approval steps, not the fewest. That changed how we build the product, so this post is about what we got wrong and what we learned.

The steps that need a person

The first surprise was the unit. Teams don't approve whole agents. They approve steps.

A refund agent might have nine steps. It reads the ticket, finds the order, finds the charges, reads the policy, decides, drafts a reply, issues the refund, sends the reply and closes the ticket. Nobody wants to approve the first five. Reading is free. Drafting is free. If the agent reads the wrong order, nothing has happened yet.

The step that spends money, emails a customer or changes a record is the one that waits. In practice that's one or two steps per agent, and teams are very consistent about which ones.

That line turned out to be stable. Over time a team might widen an agent's limits, from refunds under $25 to refunds under $50, or from one region to all of them. But they keep a person on the step itself, and they move the limit rather than remove the check.

Rules, not switches

So we stopped treating an approval as an on/off switch and made it a rule on a step:

  • Always ask. Every email to a customer goes to a person first.
  • Ask above a limit. Refunds over $50, discounts over 15%, any order over $2,000.
  • Ask when it's unusual. A third refund for the same customer this year, a reply in a language the team doesn't usually support, a case the agent marks as low confidence.
  • Never ask. Internal notes, tags, status changes that can be undone.

Most agents end up with a mix. A team will write "ask above $50, and always ask if the customer has refunded before", and that sentence becomes the rule.

Fast enough not to notice

An approval that takes a day isn't an approval. It's a queue, and queues are exactly what the agent was supposed to remove.

So approvals go where people already are: Slack, Microsoft Teams, email. The draft is in the message. You can edit it there, approve it there, or send it back with a note. Nobody has to open Capstan to say yes.

Median time from asking to answering, across all workspaces: 2 minutes 40 seconds. For approvals sent to a channel instead of a person, it's under a minute, because whoever sees it first answers.

We also added the boring things that turn out to matter. An approval that nobody answers in 30 minutes goes to a second person. An approval asked at 2am waits for working hours, unless the rule says it can't. And every approval shows exactly what will happen on yes, down to the amount and the account, because "approve this refund" isn't enough to decide on.

Approvals that teach

The second surprise was that approvals are where agents get better.

When someone edits a draft before approving it, Capstan keeps the edit. The next run sees how a person changed the last one: "we say sorry for the trouble, not we apologise for any inconvenience", "always include the tracking link", "never promise a date". Over a few weeks, the edits get smaller, and the approvals get faster.

I used to rewrite half the drafts. Now I change a word or two and press approve. It learned how we talk by watching me fix it.

Rejections teach too, but differently. A rejected step comes with a reason, and the reasons are where policy hides. If the same reason comes up three times, Capstan suggests adding it to the agent's instructions, so the next replay can test it.

What we changed in the product

Approvals used to live on a settings page. Now they're part of the plan the agent shows you before it runs: every step that waits for a person is marked, with the rule next to it, and you can change the rule right there.

And approvers are free. You pay for the people who build agents, not the people who say yes to them. Charging for approvers would have made teams cut corners on exactly the step that makes agents safe to run.

Sample post. Replace the files in content/blog with your own.