# Agents overview

Give AI agents an inbox that holds events until they're ready to act.

Gateway assumes the receiver is a server: it has a stable URL, it is always up, and a `2xx` means "done". Agents break those assumptions. They run in sandboxes, laptops or serverless functions, they sleep, and they finish work long after the request returns.

An **agent inbox** is a destination built for that. Events wait in the inbox until the agent asks for them, so a crashed or sleeping agent never loses work.

## What you get

- **Inbox and pull API.** The agent fetches events when it's ready and acknowledges them when the work is done. An event it never acknowledges comes back.
- **Subscriptions.** An agent can subscribe itself to the events it needs for a task, through the API or MCP.
- **MCP server.** Agents can use the inbox through the Model Context Protocol without custom client code.
- **Wake hooks.** Notify a sleeping agent when its inbox gets work.

Because delivery is at-least-once, handlers should be safe to run twice. Ensue guarantees an event is never handed to two agents at once.