Requests and decisions
How requests get a decision, and what happens next for the agent.
Requests are the input to withHuman. Decisions are the output. Agent instances send requests to withHuman and expect a decision back.
withHuman's job is to convert every request into a decision.
Loading diagram…
Diagram source
sequenceDiagram
participant agent as Agent instance
participant withhuman as withHuman
participant reviewer as Reviewer
agent->>withhuman: Request
withhuman->>withhuman: Approval pipelines check the request
opt Human review needed
withhuman->>reviewer: Request appears in review queue
reviewer-->>withhuman: Approve or deny
end
withhuman-->>agent: DecisionRequests
Each request follows the AAP request format and describes a tool call the agent wants to make.
| What it contains | What it tells you |
|---|---|
| Agent and instance | Which agent is asking, and which copy of it is doing the work. |
| Tool | The tool the agent wants to call, named as the server that defines it names it. |
| MCP server (optional) | The MCP server the tool comes from, as the agent's runtime configured it. Built-in tools have none. |
| Arguments | The exact inputs the agent wants to pass to that tool. |
| Time limit | How long the request can wait for a decision before it expires. |
| Context (optional) | Extra details from the adapter about where the call comes from. |
| Agent reasoning (optional) | The agent's own explanation of why it wants to take the action. |
When a request enters withHuman, approval pipelines run on it to decide what happens next. Pipelines can use any field on the request to make that decision.
If a request needs human review, that same request is what the reviewer sees in their review queue. They use the details it contains to decide whether to approve or deny it.
Decisions
A decision is the response withHuman sends back to the agent instance. Whether a pipeline decides automatically or a human reviews the request, the response follows the same AAP decision format.
| What it contains | What it tells you |
|---|---|
| Outcome | Whether the request was approved, denied, expired or cancelled. |
| Decision time | When the decision was made. |
| Approval expiry (approvals only) | When the permission to start the tool call runs out. |
| Note (optional) | An explanation or feedback about the decision. |
Approval lets the agent proceed with the tool call. If the request is denied, expires or is cancelled, the agent must not carry out that action.