AgentRoot
Navigate

// publish_a2a

Publishing an A2A Endpoint

Register an Agent-to-Agent (A2A) protocol endpoint on AgentRoot. A2A endpoints allow agents to discover each other, negotiate capabilities, and exchange tasks using a standardized protocol.

// prerequisites

  • A domain you control (e.g. orchestr.ai)
  • An A2A-compliant agent serving an agent.json descriptor
  • DNS access to add TXT records
  • A web server to host the manifest

1Create your manifest

An A2A record points to your agent's agent.json endpoint, which describes its capabilities using the A2A protocol specification.

// agentroot.json { "domain": "orchestr.ai", "records": [ { "id": "task-planner", "type": "a2a", "name": "Task Planner Agent", "description": "Breaks down complex tasks into subtasks and delegates to specialized agents", "endpoint": "https://orchestr.ai/.well-known/agent.json", "capabilities": ["task-decomposition", "delegation", "progress-tracking"], "supports": { "streaming": true, "pushNotifications": true, "stateTransitionHistory": true } } ] }

Key fields for A2A records:

  • type must be "a2a"
  • endpoint points to the agent.json descriptor URL
  • capabilities lists what the agent can do (used for agent discovery)
  • supports declares A2A protocol features the agent implements

Your agent.json at the endpoint should follow the A2A spec:

// https://orchestr.ai/.well-known/agent.json { "name": "Task Planner Agent", "description": "Breaks down complex tasks into subtasks and delegates to specialized agents", "url": "https://orchestr.ai/a2a", "version": "1.0.0", "capabilities": { "streaming": true, "pushNotifications": true, "stateTransitionHistory": true }, "skills": [ { "id": "task-decomposition", "name": "Task Decomposition", "description": "Analyzes a complex goal and produces an ordered list of subtasks" }, { "id": "delegation", "name": "Agent Delegation", "description": "Routes subtasks to the best available agent based on capabilities" } ] }
A2A skills are different from AgentRoot skill records. A2A skills describe what an agent can do within the A2A protocol. AgentRoot skill records are Markdown documents that teach coding agents how to perform tasks.

2Host the manifest

# Upload to your domain https://orchestr.ai/.well-known/agentroot.json

Make sure both the manifest and the agent.json endpoint are publicly accessible.

3Add the DNS record

# Add this TXT record to your DNS _agentroot.orchestr.ai TXT "v=ar1 manifest=https://orchestr.ai/.well-known/agentroot.json"

4Submit to AgentRoot

The CLI does a local DNS probe first, then posts to /api/submit:

$ npx -p @agent-root/cli agent-root submit orchestr.ai

Or via the API directly:

$ curl -X POST https://agentroot.io/api/submit \ -H "Content-Type: application/json" \ -d '{"domain": "orchestr.ai"}'

5Verify it worked

$ npx -p @agent-root/cli agent-root search "task planning" --type a2a # Expected output: orchestr.ai/task-planner a2a Task Planner Agent capabilities: task-decomposition, delegation, progress-tracking supports: streaming, pushNotifications, stateTransitionHistory

Other A2A-compatible agents can now discover your endpoint through DNS and initiate task exchanges. View your manifest at https://agentroot.io/manifest/orchestr.ai to confirm everything is listed.

// next_steps