Adding Human Approval Before AI Agent Actions Through Kong
Put the approval decision in the execution path, before a consequential tool call runs. Kong remains the traffic and API management layer. A policy decision classifies each tool call as allow or escalate, holds escalated calls until a named approver decides, denies on timeout, and records the approver, decision and time as evidence. Gateway routing, authentication and rate limiting do not make this decision for you.
Reference flow for an escalated tool call
- 1
1. Agent issues the tool call
The request arrives through Kong with the agent identity and the context that triggered the call.
- 2
2. Policy decision
The decision point classifies the call by action class, data affected and the provenance of the triggering content.
- 3
3. Allow or escalate
Allowlisted actions proceed. Anything else is held and an approval request is created.
- 4
4. Approval routing
The request goes to a person holding an approver role, with the action and its triggering context visible.
- 5
5. Resume or deny
An approval releases exactly the request that was reviewed. A denial or timeout returns a refusal to the agent.
- 6
6. Evidence written
The action, triggering policy, approver identity, decision and time are stored as one record.
- Scope: allowlist autonomous actions, require approval for the rest
- Routing: defined approver roles separate from agent operators
- Hold and resume: approval bound to the exact request
- Timeout: deny when no decision arrives
- Evidence: action, policy, approver, decision, time
- Policy expressiveness: can rules use action class, data affected and trigger provenance, not only route or method?
- Placement: does the action stay blocked until a decision exists, including during outages?
- Timeout behavior: is fail-closed the tested default, and is the timeout configurable per action class?
- Approver workflow: are roles, routing and identity binding supported without custom code per team?
- Evidence durability: where are approval records stored, for how long, and can retention and residency be set?
- Deployment and latency: can it run self-managed alongside Kong, and what overhead do you measure in your own tests?
Where approval belongs in a Kong-fronted architecture
Kong typically fronts agent traffic for routing, authentication and rate limiting. Those functions answer who is calling and how often. They do not answer whether this particular tool call, with this payload, should proceed without a person looking at it. That is a per-action decision, and it needs to be made before the action executes.
Two placement mistakes are common. The first is review after the fact, where a log is inspected once the write or transaction has already happened. That is detection, not approval. The second is approval buried in application code inside each agent, which gives every team its own logic, its own timeouts and its own evidence format.
A more dependable pattern separates the roles. Kong handles traffic and API management. A policy decision point evaluates each interaction or tool call and returns allow or escalate. A policy enforcement point in the request path acts on that result, so an escalated call cannot reach the downstream system without a decision. Whether the enforcement point is a custom plugin, an external callout or a separate component in the path alongside Kong is an implementation choice. The requirements below apply to all three.
This approval step corresponds to the configuration in which the AI system defers to a human. NIST AI RMF describes the range as the system deciding autonomously, deferring to a human expert, or acting as an additional opinion for a human decision maker. Approval gating is the deferring case, applied only to the actions that warrant it.
Failure modes and governance considerations
Most failures sit at the edges of the flow. An approval service that is down should deny escalated calls, not pass them. A request that is approved after the agent has abandoned it should not execute stale. Approvers who see only a tool name, without the payload and the content that triggered the call, cannot make a meaningful decision. OWASP specifically flags actions triggered by externally retrieved content as a case for human confirmation, so the approver view should include that context.
Approver identity is a second weak point. Attribution to a named person requires binding the human identity to the agent identity and the specific action. NIST NCCoE is exploring exactly this question for human-in-the-loop authorization, so treat it as emerging guidance rather than a settled standard and keep your implementation easy to revise.
Regulatory context matters, but scope it carefully. As of November 2026, Regulation (EU) 2024/1689 requires that high-risk AI systems be designed so natural persons can effectively oversee them, with appropriate human-machine interface tools. The recitals add that overseers need competence, training and authority, and that oversight measures should include operational constraints the system cannot override. Whether a given agent is high-risk depends on its classification, so do not assume every agent deployment falls under that text. NIST also calls for documenting instances where human operators override AI decisions, so record approvals and overrides as separate events.
Where Trussed fits
Trussed is runtime control for consequential AI. It enforces policy in the execution path across models, agents, tools and MCP servers, at the level of individual interactions and tool calls. The available outcomes are allow, redact, block, rate limit and escalate for human approval. Escalation is enforced at runtime, not reviewed after the fact, so it sits alongside Kong, which continues to manage traffic and APIs.
Enforcement also generates audit-ready evidence continuously, mapped to frameworks including the EU AI Act and NIST. For a regulated enterprise, this means the record of what the AI was allowed to do and what it did comes from the same mechanism that applied the policy. Trussed deploys self-managed in the customer cloud, with configurable retention and data residency. It has run in continuous production in a regulated enterprise for more than 18 months.
The design requirements above hold whichever route you take. Trussed addresses per-interaction and per-tool-call enforcement. It does not provide transaction-level governance or end-to-end tracing of agentic workflows.
Approval in the agent request path
Classify
Each tool call is matched to an action class and a policy outcome.
Hold
Escalated calls wait for a decision and do not execute.
Decide
A named approver with the right role approves or denies.
Record
Action, policy, approver, decision and time are kept as evidence.
Review your agent approval path
Walk through where escalation, hold behavior and evidence capture would sit in your Kong-fronted agent architecture.
Request a DemoHow does your AI governance program compare?
See where your program has gaps in less than 2 minutes.