writing

when the agent should stop talking

· 2 min read

the handoff rule that made small-business owners trust an ai with their inbox.

the concierge at bscale answers thousands of messages a day for more than twenty businesses. the feature owners ask about most isn't anything it says. it's when it says nothing.

the cost of a confident wrong answer

a salon owner will forgive a slow reply. they won't forgive the bot promising a 3pm slot that doesn't exist, or quoting last year's price. one bad answer and they turn the whole thing off.

so the agent answers only from that business's own material: its menu, price list, hours, and policies. if the answer isn't there, it doesn't improvise.

three ways out

  • it knows: answer, and cite which part of the business's material it used.
  • it half-knows: draft a reply, but hold it for the owner to approve.
  • it doesn't know, or the customer is upset: hand off, and say a person will reply.
ts
type Route = "answer" | "draft" | "handoff";

function route(reply: Draft): Route {
  if (reply.sentiment === "upset") return "handoff";
  if (!reply.sources.length) return "handoff";
  return reply.confidence >= 0.8 ? "answer" : "draft";
}

the thresholds took weeks of reading real transcripts to set. the shape of the rule took one conversation with an owner who'd been burned by a different tool.

what it bought

owners started with everything on draft, watched for a week, and then let it answer. the booking assistant built on the same rule cut handling time on bookings by 45%. trust came first; the speed followed.