LogoA2A Docs

A2A Overview

Overview of the A2A protocol and its main actors

A2A Protocol Overview

The A2A protocol enables communication between different agentic applications, allowing them to collaborate on tasks without sharing internal memories, tools, or resources.

Main Actors

The A2A protocol defines several key actors:

A2A Main Actors

Client

The Client initiates the interaction with an Agent. A Client can be:

  • A user interface (web, mobile, CLI)
  • Another Agent using the A2A protocol
  • An application utilizing Agent services

Clients communicate with Agents by creating Tasks and updating them with new Messages.

Agent

The Agent is an agentic application that processes Tasks. An Agent can:

  • Expose an Agent Card describing its capabilities
  • Process Tasks asynchronously
  • Produce Artifacts (results of processing)
  • Request additional input when needed
  • Support both one-off and multi-turn interactions

Task

A Task represents a unit of work for an Agent. A Task contains:

  • Messages exchanged between Client and Agent
  • The current state of the Task (Created, Processing, InputRequired, Completed, Failed)
  • Artifacts produced by the Agent
  • Metadata about the Task

Message

Messages are exchanged between Clients and Agents within a Task. Messages can contain:

  • Text (plain or formatted)
  • Images
  • Audio
  • Video
  • Structured data (JSON)
  • Other binary data

Artifact

Artifacts are the outputs produced by an Agent after processing a Task. Artifacts can be:

  • Text responses
  • Generated images
  • Audio clips
  • Structured data
  • Any other content the Agent can produce

Protocol Flow

  1. Capability Discovery: Clients can discover an Agent's capabilities via its Agent Card
  2. Task Creation: Client creates a Task with an initial Message
  3. Processing: Agent processes the Task asynchronously
  4. Communication: If needed, Agent can request additional input from the Client
  5. Completion: Agent completes the Task and produces Artifacts

Key Benefits

  • Standardized Communication: Common interface for agent interactions
  • Asynchronous Processing: Long-running tasks don't block the client
  • Multimodal Support: Exchange of various content types
  • Stateful Interactions: Support for multi-turn conversations
  • Interoperability: Agents built on different frameworks can communicate

Overview

The A2A protocol has three main actors:

  • User
    The end-user (human or service) that is using an agentic system to accomplish tasks.
  • Client
    The entity (service, agent, application) that is requesting an action from an opaque agent on behalf of the user.
  • Remote Agent (Server)
    The opaque ("blackbox") agent which is the A2A server.

Transport

The protocol leverages HTTP for transport between the client and the remote agent. Depending on the capabilities of the client and the remote agent, they may leverage SSE for supporting streaming for receiving updates from the server.

A2A leverages JSON-RPC 2.0 as the data exchange format for communication between a Client and a Remote Agent.

Async Communication

A2A clients and servers can use standard request/response patterns and poll for updates. However, A2A also supports streaming updates through SSE (while connected) and receiving push notifications while disconnected.

Authentication and Authorization

A2A models agents as enterprise applications (and can do so because A2A agents are opaque and do not share tools and resources). This quickly brings enterprise-readiness to agentic interop.

A2A follows OpenAPI's Authentication specification for authentication. Importantly, A2A agents do not exchange identity information within the A2A protocol. Instead, they obtain materials (such as tokens) out of band and transmit materials in HTTP headers and not in A2A payloads.

While A2A does not transmit identity in-band, servers do send authentication requirements in A2A payloads. At minimum, servers are expected to publish their requirements in their Agent Card.

Core Components

Agent Card

Remote Agents that support A2A are required to publish an Agent Card in JSON format describing the agent's capabilities/skills and authentication mechanism. Clients use the Agent Card information to identify the best agent that can perform a task and leverage A2A to communicate with that remote agent.

Task Management

The communication between a Client and a Remote Agent is oriented towards task completion where agents collaboratively fulfill an end-user's request. A Task object allows a Client and a Remote Agent to collaborate for completing the submitted task.

Tasks can be:

  • Completed immediately
  • Long-running with status updates
  • Requiring additional input
  • Supporting multi-turn conversations
  • Streaming results in real-time

Artifacts and Messages

  • Artifacts: Results generated by agents in response to tasks
  • Messages: Content exchanged between clients and agents that is not a result
  • Parts: Individual pieces of content within messages or artifacts

Technical Specification

The A2A protocol includes detailed specifications for:

  • Agent discovery and capability advertisement
  • Task creation, monitoring, and cancellation
  • Handling multi-turn conversations
  • Supporting non-textual media
  • Generating structured output
  • Error handling

For complete technical details, please see the JSON Specification.

Table of Contents