← All questions
Agent Protocols & ToolsMedium· A2A (Agent-to-Agent Protocol)

What is a Task in A2A, and what lifecycle states does it go through?

A Task is created the moment a client agent sends a request to a remote agent, and it moves through a fixed set of states over its life: submitted when the request first lands, working while the remote agent processes it, completed or failed once it finishes one way or the other, and canceled if the client stops it early.

The state that makes A2A more than a simple request-response call is input-required. A remote agent partway through booking a flight can pause and ask “window or aisle seat” rather than guessing or failing — the task sits in that state until the client responds, then resumes. That’s what turns delegation into something closer to a conversation than a one-shot fire-and-forget call.

This lifecycle is also what makes long-running, asynchronous work practical between agents — a task that takes minutes or hours doesn’t need to hold a connection open the whole time; it just sits in working until it’s ready to move to its next state, and either side can check in on it whenever needed.

Code playground (Python)