# A2A Proxy

> Field reference for the A2A Proxy configuration, which adapts a Microsoft Copilot Studio bot reached through the Direct Line API so it can be targeted by an A2A surface.

An A2A Proxy adapts a backend that doesn’t natively speak the A2A protocol, such as a Microsoft Copilot Studio bot reached through the Direct Line API, so it can be targeted by an A2A surface. The proxy translates inbound message/send calls into Direct Line activities and synthesises an A2A agent card on the backend’s behalf. Use this page to create a proxy, connect it to a Copilot Studio bot, and configure the identity it publishes.

## Overview

An A2A proxy is a named component independent of any surface, listed under Proxies in the sidebar alongside MCP Proxies. Unlike an MCP Proxy, it has no route of its own: it is reachable to callers only once an A2A surface’s Managed Agent node targets it using the a2a-proxy:// scheme. Creating, editing, or deleting an A2A proxy requires the Power User role or above.

Copilot Direct Line is currently the only supported backend type.

## Overview tab fields

Fill in the proxy’s identity and status.

| Field | Type | Required | Default | Description |
| Name | string | Yes | — | Human-readable label shown in the A2A Proxies list and the A2A Proxy dropdown on a Managed Agent node. |
| Description | string | No | None | Free-text notes for other administrators. Not used in routing. |
| Status | select | No | Active | Set to Disabled to stop routing calls through this proxy without deleting its configuration, useful while troubleshooting or during planned maintenance. Editable only once the proxy exists. New proxies always start active. |

## Backend tab fields

The Backend tab connects the proxy to the Copilot bot. Copilot Direct Line is currently the only backend type, so this always connects to a bot published to a Microsoft Direct Line channel.

- Direct Line secret sends the stored secret on every request and is the default option shown in the field’s own help text as the simplest place to start.

- Generate Direct Line token exchanges the secret for a short-lived token before each request. Switch to it only if your bot’s Direct Line setup specifically requires that flow.

| Field | Type | Required | Default | Description |
| Backend type | select | Yes | Copilot Direct Line | Read-only. Copilot Direct Line is currently the only supported backend type. |
| Direct Line Secret | select | Yes | — | The stored secret this proxy uses to authenticate with the Copilot bot’s Direct Line channel. Selected from Secrets. |
| Credential Mode | select | No | Direct Line secret | Direct Line secret sends the stored secret directly. Generate Direct Line token exchanges it for a short-lived token per request instead. |
| Direct Line Base URL | URL | No | https://directline.botframework.com/v3/directline | The Microsoft Direct Line endpoint the bot channel talks to. Change it only if Microsoft support specifies a different regional endpoint. |
| Timeout seconds | number | No | 30 seconds | How long the gateway waits for a response from Direct Line before giving up. Accepts 1 to 120. |
| Poll interval ms | number | No | 500 ms | How often the gateway checks Direct Line for the bot’s reply. Lowering it makes replies feel faster but increases load on Direct Line. Accepts 100 to 5,000. |
| Max poll attempts | number | No | 60 | How many times the gateway checks for a reply before giving up. Combined with the poll interval above, the defaults allow up to 30 seconds of polling. Accepts 1 to 240. |

## Agent Card tab fields

Some backends don’t publish their own agent card, the small public profile describing what an agent can do, and Copilot Direct Line is one of them. The proxy generates a card automatically, and the fields below override its published name, description, and identity.

- Leave Card name override and Card description override blank to reuse the name and description of the surface exposing this proxy. Most proxies never need these set.

- Microsoft Entra agent identity reuses the identity Microsoft Copilot already assigns the bot. Pick it when Copilot sends x-ms-entra-agent-id and x-ms-client-tenant-id headers you can match against the values entered here.

- Proxy-managed subject derives a stable identifier from the proxy’s own configuration instead, so it stays the same across restarts. Use it only when the backend has no stable external identity to match against.

| Field | Type | Required | Default | Description |
| Card name override | string | No | None | Overrides the name shown in this proxy’s public agent card. |
| Card description override | string | No | None | Overrides the description shown in this proxy’s public agent card. |
| Identity source | select | No | Microsoft Entra agent identity | Options: Microsoft Entra agent identity or Proxy-managed subject. The Entra option is available only while Backend Type is Copilot Direct Line. |
| Entra Agent ID | string | Yes, when Identity source is Microsoft Entra agent identity | — | The agent ID Copilot sends in the x-ms-entra-agent-id header. Find it in Copilot Studio under Advanced → Metadata. |
| Client Tenant ID | string | Yes, when Identity source is Microsoft Entra agent identity | — | The tenant ID Copilot sends in the x-ms-client-tenant-id header. Found alongside the Entra Agent ID in Copilot Studio. |
| Identity subject | string | No, shown only when Identity source is Proxy-managed subject | This proxy’s own ID | A stable identifier for the proxy. Do not use secrets, tokens, or rotating credentials here. |

## Targeting a proxy from a surface

In the canvas editor, open the Managed Agent node on an A2A surface, set Endpoint Type to via A2A Proxy, and select the proxy from the A2A Proxy dropdown. The dashboard builds the a2a-proxy://{id} endpoint automatically.
Note

The via A2A Proxy endpoint type is available only on A2A surfaces.

See [Managed Agent](/products/affinidi-trust-fabric/agent-gateway/reference/surfaces/managed-agent.md) for full Endpoint Type documentation, including all supported endpoint schemes.

## Related

- [MCP Proxy](/products/affinidi-trust-fabric/agent-gateway/reference/proxies/mcp-proxy.md): the equivalent proxy pattern for REST APIs and MCP surfaces.

- [Managed Agent](/products/affinidi-trust-fabric/agent-gateway/reference/surfaces/managed-agent.md): Managed Agent field reference, including the a2a-proxy:// endpoint scheme.

- [Enable A2A communication with a Copilot Studio agent](/products/affinidi-trust-fabric/agent-gateway/how-to-guides/setup/enable-a2a-communication-with-a-copilot-studio-agent.md): step-by-step guide to creating a proxy and attaching it to a surface.
