Skip to content
open·agent

Guide · ROI

The ROI of AI agents vs human support, with humans still in the loop

The interesting question isn't 'AI vs human'. It's which tickets each one handles best, and how to design the seam between them so visitors never feel handed off. Here's the per-conversation math, the failure modes of pure-AI and pure-human, and a working escalation policy.

Javad PK· CEO & Product Strategy12 min read

The real question isn't AI vs human

Most ROI write-ups frame this as a choice. Buy an AI bot, fire your support team, save a fortune. Or hire more humans, keep the warmth, accept the cost. Both framings are wrong because they ignore the single most important fact about a support queue: tickets are not homogeneous.

A real queue has a long tail of repetitive low-stakes questions (“what's your refund window?”) that an AI grounded in your docs answers correctly in 1.4 seconds, and a small head of high-stakes nuanced questions (“my account was hacked, I need you to freeze it now”) where the right thing to do is route to a human in 90 seconds with full context.

The interesting ROI question is: “at what mix of AI-handled tickets and human-handled tickets does total cost minimize andCSAT not degrade?” That's the math worth doing.

Per-conversation cost, today

Human cost per ticket

Take a US support agent at a fully-loaded cost of $65,000/year (salary + benefits + tooling). That's about $30/hour all-in. A productive agent handles ~6 tickets per hour on average across the queue (some are 30 seconds, some are 30 minutes). So the all-in cost per ticket is roughly:

$65,000/year ÷ 1,820 productive hrs ÷ 6 tickets/hr ≈ $5.95 per ticket

Call it $6 per ticket for a human. That's before you count tooling, training, attrition cost, and after-hours premiums. For a non-US team it's lower, sometimes a lot lower, but the order of magnitude is “single-digit dollars” in most labour markets that aren't bottom-of-the-pyramid.

AI cost per ticket (BYO LLM)

From our BYO LLM cost guide: a typical RAG-grounded support ticket on Gemini Flash runs ~$0.0011 in tokens. On Claude Sonnet or GPT-4o-mini you're still under a cent. Add $3/site/month for the platform (OpenAgent, billed annually at $36/site/year) and amortise across, say, 5,000 monthly tickets: the platform overhead is $0.0006/ticket.

Tokens (Gemini Flash):        $0.0011
Platform amortised:           $0.0006
Total per AI-handled ticket:  ~$0.0017

Round it to $0.002 per ticket on the AI path. Even if you're paranoid and triple the estimate for safety, you're at half a cent.

Hosted AI (Fin-style) cost per ticket

Intercom's Fin agent is the loudest player in the “billed AI” category, at $0.99 per resolution. Crisp, Tawk, Drift and Zendesk all run variants of the same pricing. So:

Hosted Fin / per-resolution AI:  $0.99 per ticket

Three architectures, three numbers per ticket: $6 (human), $0.99 (hosted AI), $0.002 (BYO LLM on OpenAgent). The interesting question is which tickets each deserves.

What an honest queue looks like

We've looked at a lot of support queues. A representative mix for an ecommerce or SaaS workspace looks roughly like this:

Ticket type% of volumeAI handles well?Best path
FAQ / policy lookup~45%Yes, if RAG-groundedAI
Order status / tracking~15%Yes, with a tool callAI
Pre-sale / pricing / fit~12%Partial; nuance helpsAI → human if buying signals
Account / billing changes~10%Partial; needs authAI for triage, human for action
Refunds / disputes~8%Risky to fully automateHuman, with AI summary
Bug reports / outages~6%NoHuman
Crisis / churn / legal~4%NoHuman, priority

Roughly 60% of an average queue (the first two rows) is “the AI gets this right every time if you grounded it in your docs.” The next 20% is hybrid (“AI triages, human acts”). The last 20% is human-led.

Blended cost, applied to a real volume

Take a workspace doing 5,000 tickets a month. Three architectures:

All-human

5,000 tickets × $6.00 = $30,000 / month

All-hosted AI (Fin-style)

5,000 tickets × $0.99 = $4,950 / month (AI bill)
+ seat cost (1-2 humans for escalation): ~$5,000/month
Total: ~$9,950 / month

BYO LLM + human in the loop (OpenAgent)

Send 80% to AI (4,000 tickets), keep 20% (1,000 tickets) on a human team. The 20% is the high-stakes head of the queue, plus the AI escalations.

4,000 AI tickets × $0.002 = $8
1,000 human tickets × $6.00 = $6,000
Platform fee (per site, billed annually): $3
Total: ~$6,011 / month

Same 5,000 tickets, three architectures:

ArchitectureMonthly costvs all-human
All-human$30,000baseline
All-hosted-AI + minimal humans~$9,95067% cheaper
BYO LLM (OpenAgent) + HITL~$6,01180% cheaper

The compounding here is real: the AI portion is essentially free at BYO LLM unit economics, and the human portion is the same cost as before. The savings show up at the seam where the AI was unblocking the human team from the boring half of the queue.

Human in the loop, properly designed

The cost argument falls apart instantly if the visitor experience does. A pure-AI workspace that escalates badly hemorrhages goodwill faster than the savings cover. Five design rules that hold up:

Rule 1: AI never apologises for what humans will fix

When the AI knows it's out of its depth, it doesn't say “sorry, I can't help with that.” It says “let me bring a human into this thread,” callsescalate_to_human with the conversation context, and a person picks up with full history visible. The visitor sees one conversation, not two.

Rule 2: Buying signals escalate immediately

“What does your enterprise plan include?” on a pricing page is not a question to answer with a paragraph of generic copy. It's a hot lead. The AI handles the first round, surfaces a Slack ping with “Visitor on /pricing asking about Enterprise plan,” and the sales team enters the conversation.

Rule 3: Authentication-required actions stop at the AI

Refunds, plan downgrades, account deletion. The AI can pull up context, confirm the request, summarise it for the human, but the action itself should go through a human with auditable accountability. Not because the AI can't do it, but because when it goes wrong you need a name on the audit log.

Rule 4: AI summaries arrive before the human starts typing

When a human picks up an escalated thread, they don't read 40 lines of back-and-forth. The AI generates a one-paragraph summary: who the visitor is, what they want, what's been tried, what to verify. The human enters with context. That's where the time savings on the human side come from: shorter handle time per escalated ticket.

Rule 5: Visitor can always say “human, please”

Some visitors don't want to talk to a bot, period. Respect that. OpenAgent ships with a built-in “talk to a human” intent that escalates immediately, no matter how confident the AI is. The moment you make this hard for the visitor is the moment your CSAT score starts sliding.

What about CSAT?

Honest answer: well-designed HITL workspaces match or beat human-only CSAT on tier-1 tickets and are slightly behind on tier-2. The AI is faster (median first response under 2 seconds vs ~6 minutes for a human queue), which dominates the satisfaction signal for routine questions. On the harder tickets, humans win, and that's exactly the tier we're routing to them.

The single biggest CSAT killer in AI-augmented support is not AI quality. It's the moment when the visitor asks for a human and the AI refuses, loops, or gets stuck in a clarifying question. Build that escape hatch and CSAT trends up, not down.

How to implement this in OpenAgent

Three configuration steps:

  1. Grant the AI the escalate_to_human tool. Dashboard → Agents → Edit → Tools → check “escalate_to_human”. The tool is documented in the system prompt with explicit guidance on when to call it.
  2. Set an escalation policy. Settings → Escalations. Add the agents (humans) who should be notified, in priority order, with SLA per level. Level 1 has 30 seconds to acknowledge, level 2 gets paged after that, and so on.
  3. Wire Slack and Google Chat. Settings → Alerts. Paste the webhook URL; new escalations land in the channel with visitor context and a one-click jump to the conversation.

Bottom line

Pure AI is a recipe for shipping a worse product cheaper. Pure human is a recipe for burning the team out on tickets that did not need them. The number that actually matters is cost per resolved ticket weighted by CSAT, and the architecture that wins on that number is AI on the long tail, humans on the head, and a seam between them that the visitor never has to notice.

On OpenAgent the per-AI-ticket cost is <$0.002 because BYO LLM unit economics are what they are, and the per-human-ticket cost is whatever you'd pay anyway. The platform fee is flat. The savings are real and they don't require you to ship a worse product.

Try it on your own LLM keys from $3/mo.

$36 per site per year billed annually, or $5 per site per month billed monthly. No card on file, just paste your model key and your widget is live.