Introducing TACO — The A2A Construction Open-standardLearn more
Back to TACO
Open Standard

The A2A Protocol

Agent-to-Agent Communication Standard

The open protocol that lets AI agents discover each other, exchange messages, and collaborate on tasks. The transport layer TACO builds on.

Originally created by Google, now maintained by the Linux Foundation.

3
Core Concepts
Cards, Tasks, Messages
5
Auth Schemes
API Key to mTLS
SSE
Streaming
Real-time events

Agent Cards — How Agents Introduce Themselves

Every A2A agent publishes a JSON file at /.well-known/agent.json. This is the handshake — it tells the world who the agent is, what it can do, and how to authenticate.

Click a section to highlight it in the Agent Card

/.well-known/agent.json
{
"name": "ACME Estimating Agent",
"description": "Generates cost estimates from BOMs",
"url": "https://acme-estimating.example.com",
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": false
},
"skills": [
{
"id": "generate-estimate",
"name": "Generate Estimate",
"description": "Takes a BOM, returns a cost estimate"
},
{
"id": "value-engineering",
"name": "Value Engineering",
"description": "Suggests cost reduction alternatives"
}
],
"securitySchemes": {
"bearer": {
"type": "http",
"scheme": "bearer"
}
},
"security": [{ "bearer": [] }]
}

Tasks — The Unit of Work

Every interaction in A2A is a Task. A client sends a message, the agent processes it, and the task moves through states until it completes (or fails).

Click a state to learn more

Typical Flow
message/sendWorkingCompleted+Artifacts
message/sendCreates Task

Send a message, execute a task, receive the result synchronously

message/streamCreates Task

Send a message, receive SSE events as the agent works

tasks/get

Poll for the current status of a task by ID

tasks/cancel

Cancel a running task

Multi-Turn Conversations with contextId

When an agent responds with input-required, the client can send another message with the same contextId to continue the conversation. This enables back-and-forth dialogues without losing context.

send (ctx: abc)input-requiredsend (ctx: abc)completed

Messages In, Artifacts Out

Clients send Messages with typed Parts. Agents return Artifacts — named, described, and carrying structured data that the next agent can consume.

MessageInput
role: "user"
parts[]: text, structuredData, or file
AgentProcess
Reads parts[].structuredData
Processes with internal logic / LLM
Returns typed Artifact
ArtifactOutput
name, description
parts[]: typed structured data
metadata: schema ID, confidence

Real-Time with Server-Sent Events

Use message/stream instead of message/send to receive incremental updates as the agent works — no polling required.

message/sendSynchronous
Request sent
...waiting for full response...
Complete response
message/streamSSE
Request sent
event: update
event: update
event: update
event: complete
SSE Event Stream

Click "Stream" to watch SSE events arrive in real time

Security Built In

A2A supports five authentication schemes — from simple API keys for development to mutual TLS for high-assurance agent networks. Choose what fits your trust model.

Low trust
High trust

Click an auth scheme to learn more

See How TACO Extends A2A

TACO adds construction-specific task types, data schemas, agent discovery, and security on top of A2A — without modifying the protocol.