Authorized to Whom? The Question No Conversational-Agent Vendor Answers

Blog · Conversational Agents

Authorized to Whom? The Question No Conversational-Agent Vendor Answers

By Mohak Soni9 min read

Short answer

The dangerous failure isn't a wrong answer. It's a plausible, well-formed action the person on the other end — or the agent itself — had no authority to take.

A conversational agent gives a wrong answer, and a customer is briefly annoyed. A conversational agent takes a wrong action — a refund above the limit, a change to an account the caller does not own, an approval that quietly violates segregation of duties — and you have a control failure with your name on it. The industry keeps optimizing for the first failure. The second one is the one that ends up in front of your regulator. The question that separates them is three words long: authorized to whom?

Almost every number the category markets grades the same thing: what the agent said, or what it managed to contain. Headline resolution-rate figures. Deflection. CSAT. Per-resolution and outcome-based pricing that literally bills you for containment. Give the field its due here — these agents genuinely resolve large volumes of real support work, and that is not a small achievement. But read the metrics honestly. Every one of them answers "did it converse and resolve well?" None of them answers "was it allowed to do that — for this specific caller, at this specific moment?"

Those are different kinds of question. A wrong answer is a quality problem, and quality problems can be averaged away; a 3% error rate is a rounding note. An unauthorized action is a control problem, and controls are not graded on averages — one un-permissioned write to the wrong account is not diluted by the thousand correct ones around it. The category's own safety research keeps arriving at an uncomfortable pair of findings: most failed autonomous actions had a safeguard in place beforehand, and a majority of them executed a consequential action anyway. Safeguards were present. The action still fired. That gap is the whole subject of this piece.

There is an architectural tell underneath the whole standalone-agent pattern, and it shows up the instant the agent stops talking and starts doing. A standalone conversational agent sits on top of your systems and "takes action" by calling an external API. That call is authenticated as the agent — a service account, provisioned once at integration time with a broad, static grant so it can serve everyone who ever calls in.

So when the agent issues a refund or edits an account, the system of record does not see the caller. It sees the service account. The action inherits the union of everything that account is allowed to do — not the intersection of what this particular caller is entitled to. The person on the voice line may be entitled to nothing more than reading their own balance; the credential behind the agent can write to every account in the book. Nothing on that path narrows the second down to the first at the moment of action. That is the load-bearing gap in one sentence: the identity that reasoned about whether to act is never the identity the action gets checked against.

The systems-of-record camp has a real answer to this, and it deserves to be stated at full strength before it is tested. They will tell you the agent "takes action using your systems," that it "integrates with your CRM and your order-management system," and that "deterministic access ensures it adheres to your access controls." Credit where it is due: deterministic access to a system of record is real, and it matters. It is meaningfully better than an agent improvising REST calls against whatever it can reach — the connection is authenticated, the surface is scoped, and the agent can only touch systems it was explicitly granted.

Now be precise about what that claim is, because the whole argument turns on it. Deterministic access is an access-control claim: which systems, which endpoints the agent is permitted to touch. It is not a per-action authorization claim: may this caller cause this effect, within this limit, right now. Coarse access says the agent may call the refund endpoint. It says nothing about whether this refund is within this caller's authority, clears the segregation-of-duties rule, or sits below the threshold that would demand a second approver. Access is a door — open or closed, decided once. Authorization is a judgment made fresh, per action, against a specific identity's entitlements. A standing scope structurally cannot make that judgment, because the things being authorized — the amount, the counterparty, whether the caller even owns the account — are not known until the action is proposed.

The supervisory-agent approach tries to close the gap from the other side, and it too has genuine merit: a second probabilistic model watching the first really does catch many bad actions, and a compiled guardrail really is better than a raw prompt. But notice where the watcher stands. It stands around the action, not on the path to it. It can flag, it can lower the odds, it can raise an alarm — it cannot make a non-compliant action impossible. The action still fires; you are told afterward, probably.

STANDALONE AGENT — AUTHORITY WATCHED FROM OUTSIDE Caller Standalone agent External API — action fires on the agent's service credentials supervisor watches around may flag it — can't stop it ATOMIC AGENT — GATE ON THE PATH, BEFORE THE ACTION Caller real identity Agent proposes DETERMINISTIC GATE authority · SoD · threshold · HITL Governed Connector System of record IMMUTABLE PER-ACTION AUDIT · utterance → intent → gate → connector → effect

The give-your-agent-system-access playbook has a more disciplined answer, and it too is a real improvement on ungoverned prompting: you "scope" the agent, start it read-only, then graduate it to write access in phases as trust is earned. The compiled-governance camp goes further still, authoring guardrails into the agent at design or build time so the rules travel with the artifact. Both are better than an agent improvising. But look closely at where the governance actually lives.

Scoping is a planning conversation and a phased rollout — a decision the builder makes, before runtime, about what the agent is generally permitted to do. Governance compiled into the agent is authored by the builder, and what the builder authors the builder can loosen; a threshold set in one build is a threshold someone can raise in the next build. Neither is an external gate the agent must pass through at the instant of action, evaluated against the actual caller and the actual amount. This limit is not a knock on any one product's roadmap — it is structural, and it stays true no matter what ships next. Design-time and compile-time governance is a property of the artifact. Runtime authorization is a property of the path. If the check lives inside the thing being checked, the thing being checked ultimately defines the check.

Make it concrete on the regulated processes the category itself likes to name — refunds, subscription and account changes, prior authorization, mortgage origination, KYC. Two failure modes, neither exotic.

The first is identity mis-resolution. A voice agent resolves the caller to an account from imperfect signals — a name, a partial number, a knowledge-based answer that a determined caller can often supply — and then acts on that resolution. If the resolution is wrong, every downstream action is authorized against the wrong person, and the system of record has no way to notice, because the write arrives on the agent's service credentials, not the caller's identity. The second is social engineering. A caller talks a helpful, resolution-optimized agent into a perfectly well-formed request: raise the limit, move the payment date, add an authorized user, approve the exception. The agent is built to resolve. Nothing on its path asks the one question that would stop it: is this caller, resolved to this identity, actually entitled to cause this effect, within this limit, without a second approver?

Consider — illustratively, not as any delivered outcome — a voice agent asked to issue a refund above its authority limit; or to change the mailing address on an account the caller cannot prove they own; or to approve a prior authorization that policy says requires clinical sign-off. In each case the words are plausible and the form is valid. That is precisely why a quality metric waves it through. An unauthorized action does not look like an error. It looks like good service.

Here is where the architecture, not the marketing, has to answer. In the Entroid fabric, a conversational agent is not a bolt-on wired onto your systems — it is an Atomic Agent with a dialogue interface, a first-class primitive executing inside one governed runtime. That single fact relocates where authorization happens, and everything follows from it:

  • Intelligence Orchestration binds the action to the invoking identity. It routes and permissions the agent to the caller's real entitlements, not to a service account's standing grant. The agent decides and orchestrates the path; it does not carry its own authority into the system of record. The union-vs-intersection gap simply closes — the intersection is the input.
  • Deterministic Workflows enforce the gate inline, before execution. Entitlement and authority limits, segregation of duties, approval thresholds, human-in-the-loop checkpoints — these live on the path itself. A refund above the caller's limit is not flagged; it does not execute. An action that would breach SoD is not caught afterward; it cannot reach the connector.
  • Human-in-the-loop is a routed step, not an escalation. It pauses before the irreversible action, surfaces the agent's reasoning, incorporates the human's input, and resumes — inside the authority the orchestration layer set. It is a checkpoint on the way in, not a rubber stamp asked to bless something already done.
  • Connectors are the only primitive that touches external systems. Be honest about this: it is not zero integration. ES executes over your existing systems of record through governed, authenticated, rate-limited, audited Connectors. The difference is that the write passes the gate first and arrives bound to the checked identity.

And every utterance → intent → gate → connector-call → system-effect is written to one immutable per-action audit — not partial logs you reconcile later, but a single authoritative record of what was proposed, what was checked, whose authority it was checked against, and what actually happened.

So the question the whole category has been answering finally changes. It stops being "does the agent converse and resolve well?" — it does, and that still matters. It becomes "can it be trusted to act — authorized to the caller's real entitlements, within the limits, provably, every time, across any enterprise process rather than just the support queue?" A standalone agent on service credentials cannot answer that, because the authority check does not live on its path. On the fabric, the authority check is the path.

A wrong answer costs a customer their afternoon. An unauthorized action costs you the audit — and "authorized to whom?" only has an honest answer if the authority was checked on the path, not watched from beside it.

See what this looks like for your enterprise.

Not a demo. A strategic conversation about how your enterprise could operate
when every process runs on one governed fabric.

Start the Conversation