Add External Agents to your Agent
Copy page
Learn how to configure and use external agents using the A2A protocol
External agents let you integrate agents built outside of Inkeep (using other frameworks or platforms) into your Agent. They communicate over the A2A (Agent‑to‑Agent) protocol so your Inkeep sub-agents can delegate tasks to them as if they were native. Note that Inkeep Agents are available via an A2A endpoint themselves and used from other platforms.
Learn more about A2A:
- A2A overview on the Google Developers Blog: A2A — a new era of agent interoperability
- A2A protocol site: a2a.how
Examples platforms that expose Agents in A2A-format:
| Platform | Type | Description |
|---|---|---|
| LangGraph | Native | Built-in A2A endpoint & Agent Card for graph agents. |
| Google Agent Development Kit (ADK) | Native | Official guide to build agents that expose/consume A2A. |
| Microsoft Semantic Kernel | Native | “SK now speaks A2A” with sample to expose compliant agents. |
| Pydantic AI | Native | Convenience method to publish a Pydantic AI agent as an A2A server. |
| AWS Strands Agents SDK | Native | A2A support in Strands for cross‑platform agent communication. |
| CrewAI | With Adapter | Use the A2A Python SDK to serve a CrewAI agent over A2A. |
| LlamaIndex | With Adapter | Example Workflows app exposed via A2A (agent + card). |
Any agent that exposes an A2A‑compatible HTTP endpoint can be integrated by providing its baseUrl plus headers/auth (static or dynamic).
Creating an External Agent
Every external agent needs a unique identifier, name, description, base URL for A2A communication, and optional authentication configuration:
External Agent Relationships
Agents can be configured to delegate tasks to external agents.
External Agent Options
Configure authentication by providing a credential reference.
When delegating to an external agent, you can specify headers to include with every request to the external agent. These headers can be dynamic variables that are resolved at runtime.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Stable agent identifier used for consistency and persistence |
name | string | Yes | Human-readable name for the external agent |
description | string | Yes | Brief description of the agent's purpose and capabilities |
baseUrl | string | Yes | The A2A endpoint URL where the external agent can be reached |
credentialReference | CredentialReference | No | Reference to dynamic credentials for authentication. See Credentials for details |