A2A (Agent-to-Agent) Surfaces let external AI Agents discover and interact with your Runtype Product without custom integration work. Once set up, other Agents can find and invoke your Capabilities as part of their own workflows using the open A2A protocol.
A2A Surfaces are useful when you want your Product to participate in multi-Agent ecosystems. Instead of building one-off integrations, you publish a standard Agent Card that any A2A-compatible Agent can discover and use. If you are new to Surfaces, start with What are Surfaces?.
You need a Product with at least one Capability that you want to make available to external Agents. To get started, first create a Product. If you plan to expose an Agent, see What are Agents? and Creating and configuring Agents.
Start with a single, well-defined Capability to keep setup simple. You can add more later.
Your A2A Surface is now ready to configure. The Capabilities added to this Surface automatically appear as skills in your Agent Card.
Your A2A Surface automatically generates an Agent Card. This JSON document describes your Product’s identity, skills, and how to invoke them. External Agents fetch this card to understand what your Product can do.
The Agent Card is published at:
Use the Agent Card tab to preview what external Agents will discover, including:
Write clear descriptions for your Capabilities. External Agents use these skill descriptions to decide when to call your Product.
The Orchestration tab controls how incoming A2A requests are routed to your Capabilities.
In Managed mode, you can choose which Capabilities appear as individual skills and which are available only through the orchestrator. This gives you more control over how your Product appears to external Agents.
Use Delegate mode when your Capabilities are clearly distinct. Use Managed mode when you want a single entry point that routes requests for you.
A2A Surfaces support API key authentication so you can control which Agents can discover and invoke your Capabilities.
Calling Agents can authenticate with either header:
Authorization: Bearer a2a_xxxX-API-Key: a2a_xxxA2A Surface keys use the a2a_ prefix.
If no keys are configured, your A2A Surface is open to any Agent that discovers it. For production use, create separate keys for each authorized Agent so you can track usage and revoke access when needed.
Create a separate key for each external Agent or partner. This makes rotation and revocation easier.