The A2A (Agent2Agent) protocol lets A2A-compatible clients or other Agents invoke a Forward Template. Forward supports protocol versions 0.3 and 1.0, using JSON-RPC and SSE for streaming responses.
Use Update a template to set
A2A is disabled by default.
The Agent Card URL has a fixed format and can be constructed directly from the API base URL, Template ID, and authentication method.
When using a PAT, specify the runtime Identity in the URL:
When using a SAT, the Agent Card URL is:
Replace
The caller must have access to the target Workspace, Template, and runtime Identity. For token acquisition and usage requirements, see Authentication.
1. Enable A2A access for a Template
Use Update a template to set a2a.enabled to true and configure the description and capabilities shown in the Agent Card:
POST /api/v1/forward/templates/{template_id}
skills describes the task capabilities shown in the Agent Card. For field details, see Create a template — A2A.
You can also enable A2A, configure the description and capabilities, and save them in the Template's Integration → A2A section in the console.
2. Get the Agent Card URL
The Agent Card URL has a fixed format and can be constructed directly from the API base URL, Template ID, and authentication method.
When using a PAT, specify the runtime Identity in the URL:
{template_id} and {identity_id} with the actual IDs. URL-encode the identity_id query parameter. The client reads the invocation URL from the returned Agent Card.
You can also copy the Agent Card URL from the Template's Integration → A2A section in the console, or use Check Agent Card to confirm that the Card is accessible.
3. Configure the client
| Setting | Description |
|---|---|
| Agent Card URL | The URL constructed as above or copied from the console. Authentication credentials are required when retrieving the Card. |
| Authentication | Authorization: Bearer <PAT or SAT> is required for both Card retrieval and subsequent calls. |
| Protocol version | Select with A2A-Version: 0.3 or A2A-Version: 1.0. Defaults to 0.3 when omitted. The client must use the matching protocol format. |
| Runtime Identity | With a PAT, specify it through identity_id in the Card URL. The returned invocation URL preserves this parameter. |
Integration notes
- Disabling Template A2A retains the Card configuration and rejects new calls, but does not automatically cancel accepted tasks.
- A disconnected network or request timeout does not mean that the task was canceled. Save the Task ID to query the task or resubscribe. A2A subscriptions return the current task snapshot and subsequent updates; replaying historical events with
Last-Event-IDis not supported. - Message sending, streaming output, task queries, cancellation, and subscriptions are supported. Task listing is only available in 1.0. Push Notifications and Extended Agent Card are not supported.