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.

FieldTypeRequiredDefaultDescription
NamestringYesHuman-readable label shown in the A2A Proxies list and the A2A Proxy dropdown on a Managed Agent node.
DescriptionstringNoNoneFree-text notes for other administrators. Not used in routing.
StatusselectNoActiveSet 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.
FieldTypeRequiredDefaultDescription
Backend typeselectYesCopilot Direct LineRead-only. Copilot Direct Line is currently the only supported backend type.
Direct Line SecretselectYesThe stored secret this proxy uses to authenticate with the Copilot bot’s Direct Line channel. Selected from Secrets.
Credential ModeselectNoDirect Line secretDirect Line secret sends the stored secret directly. Generate Direct Line token exchanges it for a short-lived token per request instead.
Direct Line Base URLURLNohttps://directline.botframework.com/v3/directlineThe Microsoft Direct Line endpoint the bot channel talks to. Change it only if Microsoft support specifies a different regional endpoint.
Timeout secondsnumberNo30 secondsHow long the gateway waits for a response from Direct Line before giving up. Accepts 1 to 120.
Poll interval msnumberNo500 msHow 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 attemptsnumberNo60How 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.
FieldTypeRequiredDefaultDescription
Card name overridestringNoNoneOverrides the name shown in this proxy’s public agent card.
Card description overridestringNoNoneOverrides the description shown in this proxy’s public agent card.
Identity sourceselectNoMicrosoft Entra agent identityOptions: Microsoft Entra agent identity or Proxy-managed subject. The Entra option is available only while Backend Type is Copilot Direct Line.
Entra Agent IDstringYes, when Identity source is Microsoft Entra agent identityThe agent ID Copilot sends in the x-ms-entra-agent-id header. Find it in Copilot Studio under Advanced → Metadata.
Client Tenant IDstringYes, when Identity source is Microsoft Entra agent identityThe tenant ID Copilot sends in the x-ms-client-tenant-id header. Found alongside the Entra Agent ID in Copilot Studio.
Identity subjectstringNo, shown only when Identity source is Proxy-managed subjectThis proxy’s own IDA 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.

See Managed Agent for full Endpoint Type documentation, including all supported endpoint schemes.