We have a multi-agent solution in Azure AI Foundry where an orchestrator and multiple business specialists are independently deployed as kind: hosted agents.
Architecture:
Agent A (Hosted)
├── Agent B (Hosted)
├── Agent C (Hosted)
├── Agent D (Hosted)
└── other specialist agents (Hosted)
The specialist agents need to remain independently hosted because they contain custom Python logic, MCP tools, security/RBAC handling, and separate deployment lifecycles.
We followed Microsoft's current GA A2A v1.0 / A2AToolboxTool / RemoteA2A pattern.
We verified:
- The RemoteA2A connection is configured correctly.
- A2AToolboxTool is created successfully.
- The target Hosted Agent has an agent card and incoming A2A configuration.
- The agent card is accessible.
- The correct project identity has the required
Foundry Agent Consumer role.
- Authentication and connection resolution succeed.
- The failure occurs when the actual A2A message is sent.
The platform returns:
-32099
HOSTED_AGENT_NOT_SUPPORTED
The requested A2A operation is not supported for hosted-agent target.
Use a prompt agent as the A2A target.
We also tested direct A2A previously and received the same result. As another workaround, we tried calling the specialist's Responses endpoint directly. The request reaches the Hosted Agent, but its hosting framework requires a trusted Foundry platform user identity in the request context. Forwarding the user ID from the calling Hosted Agent does not populate the trusted context, resulting in an HTTP 500.
Question
Is Hosted → Hosted agent-to-agent delegation currently supported in Azure AI Foundry?
If not, what is the officially supported architecture for keeping multiple custom-code Hosted Agents as independently deployed agents while allowing one Hosted Agent to delegate work to another?
Is there another Foundry-managed mechanism, such as Workflows or another agent/tool composition mechanism, that supports:
Hosted Agent A -> independently deployed Hosted Agent B
without converting Agent B to a Prompt Agent or moving its code inside Agent A?
We want to confirm whether this is a platform limitation or whether there is a supported configuration/transport we are missing.