ConnectivityA2A · agent cards · tasks · messages

Agent-to-agent protocols

Protocols for discovering remote agents, negotiating supported interfaces, exchanging messages, and tracking long-running tasks across organizational boundaries.

Use it when

  • Agents are owned, deployed, or secured by different systems.
  • A remote task needs discovery, lifecycle state, artifacts, and asynchronous updates.
  • Integration should not depend on exposing an agent's internal memory or implementation.

Choose another layer when

  • Calling a deterministic data or action tool; MCP or an API is usually clearer.
  • Delegating to an in-process worker controlled by the same runtime.

Production path

Build it in this order

  1. 01

    Publish an accurate capability card

    Describe the agent's identity, interfaces, authentication expectations, and supported skills without overstating what is production-ready.

    Quality check: A client can discover whether the agent is compatible before sending a task.

  2. 02

    Model task lifecycle explicitly

    Handle accepted, working, input-required, completed, failed, and canceled states with stable identifiers.

    Quality check: Retries and reconnects do not create ambiguous duplicate work.

  3. 03

    Secure every boundary

    Authenticate callers, authorize tasks, minimize shared data, validate artifacts, and preserve an audit trail.

    Quality check: A remote agent cannot exceed the capabilities granted to the requesting identity.

Artifacts you may see

  • /.well-known/agent-card.json
  • A2A task schemas
  • message and artifact types

Evidence ledger

Primary documentation behind this guide

Provider-specific behavior is sourced to that provider. Open standards are sourced to their specifications and official maintainers.