M365Con 2027 – free online conference · 11–22 Jan 2027 · 120 sessions→ m365con.net

2026-07-19 · Season 3

Agent-to-Agent (A2A) Communication - Simply Explained

Agent-to-Agent (A2A) Communication - Simply Explained
Agent-to-Agent (A2A) Communication is an open protocol that enables AI agents to discover, communicate, and collaborate with one another—regardless of the framework, programming language, or platform they were built on. Instead of creating custom integrations between every agent, A2A defines a…

Show notes

Welcome to another episode of Knowledge Nuggets with Mirko Peters. In this episode, we're exploring Agent-to-Agent (A2A) Communication, the open protocol that allows AI agents to discover one another, delegate work, and collaborate as intelligent teams. Today's AI agents are often highly specialized but isolated. One agent may excel at booking flights, another at checking weather, and another at managing IT tickets—but without a common communication standard, connecting them quickly becomes a maintenance nightmare. A2A solves this problem by providing a standardized way for AI agents to communicate regardless of which vendor or platform they were built on. THE PROBLEM WITH ISOLATED AI AGENTS Most AI agents today operate independently. As organizations build more specialized AI solutions, every new capability often requires custom integrations between agents. A travel assistant may need to communicate with weather, hotel, calendar, and airline services. Without a standard communication protocol, developers must create individual integrations between every pair of agents. Over time these point-to-point integrations become difficult to maintain, expensive to scale, and highly fragile. Every new agent increases complexity, creating what many developers describe as "integration spaghetti." A2A addresses this challenge by introducing a common communication protocol that allows independent AI agents to cooperate without requiring custom bridges between every service. WHAT IS AGENT-TO-AGENT (A2A)? Agent-to-Agent (A2A) is an open communication protocol that enables AI agents to exchange requests, delegate tasks, and return results. A useful analogy is HTTP for websites. Just as web browsers and servers communicate using HTTP, AI agents can communicate using A2A regardless of which platform they run on. The protocol is supported by major technology companies including Microsoft, Google, Cisco, Salesforce, SAP, and others through the Linux Foundation, making it an industry standard rather than a proprietary technology. A2A is built on familiar web technologies including HTTP and JSON-RPC, allowing developers to adopt it using existing networking and API knowledge. A2A VS MCP A2A is frequently compared with the Model Context Protocol (MCP), but the two solve different problems. MCP connects AI agents to tools, APIs, databases, and external systems. A2A connects AI agents directly to other AI agents. Rather than competing technologies, they complement one another. An AI agent may use MCP to retrieve information from a CRM system and then use A2A to delegate another portion of the overall task to a specialist AI agent. This creates both vertical integration with business systems and horizontal collaboration between intelligent agents. AGENT CARDS Every A2A-compatible agent publishes an Agent Card. Think of it as a machine-readable business card or résumé describing what an agent can do. The Agent Card contains information such as:

  • Agent name
  • Description
  • Skills
  • Endpoint URL
  • Authentication requirements
  • Supported input formats
  • Supported output formats

Agent Cards are published using a standard location (/.well-known/agent-card.json), allowing orchestrators to automatically discover specialist agents and understand their capabilities without manual configuration. This decentralized approach removes the need for a central registry while making it easy to introduce new agents into an existing ecosystem. HOW A2A COMMUNICATION WORKS Communication between agents takes place using standard HTTP requests carrying JSON-RPC messages. A2A supports three communication models depending on the workload. Instant responses are used for quick synchronous requests such as retrieving today's weather. Streaming responses allow agents to continuously report progress during longer-running operations using Server-Sent Events. Asynchronous tasks support workflows that may take minutes, hours, or even days. Each request receives a task identifier that allows progress tracking while the work continues in the background. Every interaction is represented as a task containing messages, structured content, attachments, or references to external files. Authentication relies on familiar technologies such as OAuth, bearer tokens, or API keys, making integration straightforward for enterprise environments. THE ORCHESTRATOR-SPECIALIST PATTERN Most production multi-agent systems follow the Orchestrator-Specialist architecture. The orchestrator receives the user's request, understands the overall objective, and decides which specialist agents should perform each part of the work. Specialist agents focus on a single business capability such as:

  • Flight booking
  • Hotel reservations
  • Weather forecasting
  • Ticket resolution
  • HR onboarding
  • Financial processing

The orchestrator never performs the specialist work itself. Instead, it delegates tasks, waits for responses, and combines the individual results into a single answer for the user. Microsoft Copilot Studio uses this architecture natively, allowing a primary Copilot to coordinate child agents and connected agents through A2A. REAL-WORLD USE CASES A2A enables AI systems to collaborate across many business scenarios. A travel planning assistant can delegate weather forecasts, flight searches, and hotel recommendations to independent specialist agents before combining the responses into a complete itinerary. IT support workflows can automatically distribute work between diagnosis agents, remediation agents, and ticket management agents. Employee onboarding can coordinate IT provisioning, HR processes, facilities management, and security access across multiple days using asynchronous task tracking. Organizations are already adopting this model. Microsoft highlights customers using Copilot Studio and Dynamics 365 where orchestrated agents automate complex planning activities that previously required significant manual effort, reducing repetitive work while improving operational efficiency. MICROSOFT'S A2A ECOSYSTEM Microsoft has fully embraced A2A across its AI platform. Copilot Studio supports connected A2A agents, allowing developers to integrate agents hosted on Microsoft Azure, Google Cloud, AWS, or other A2A-compatible platforms. Adding a connected agent is straightforward. Developers provide the agent endpoint, Copilot Studio retrieves the Agent Card, understands the agent's capabilities, and automatically creates the necessary integration. Azure AI Foundry Agent Service also exposes A2A endpoints, enabling frameworks such as Semantic Kernel, LangChain, and AutoGen to interact with Azure-hosted agents. This open architecture allows organizations to build multi-agent ecosystems without being locked into a single cloud provider or AI framework. BENEFITS AND BEST PRACTICES The greatest strength of A2A is modularity. Organizations can introduce new specialist agents without redesigning existing workflows. Agents become reusable building blocks that can be replaced, upgraded, or expanded independently. When designing multi-agent systems, it is important to:

  • Keep specialist domains clearly separated
  • Avoid overlapping responsibilities
  • Let orchestrators coordinate rather than execute work
  • Minimize unnecessary delegation layers to reduce latency

Following these principles creates scalable, maintainable AI architectures capable of growing alongside business requirements. Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-microsoft-365-azure-cloud-power-platform-ai--6704921/support.

Apple Podcasts · Spotify · YouTube · YouTube Music · Deezer

Host: Mirko Peters

Guests

Related articles

Transcript

Read the full transcript

Welcome to another knowledge nugget. Imagine you run a company and hire a team of brilliant specialists, a world-class travel planner, an employee on boarding expert, and an IT support person. But none of them talk to each other. Every time a task needs two of them, you have to walk between desks and carry the information yourself. That's exactly how most AI agents work right now. They operate in isolation, even when the problem clearly needs teamwork. So today we're talking about how agents can communicate, hand off work, and act like real teams. I'm Mirko Peters. This isn't some future concept. Multi-agent orchestration is already happening, and it's powered by a protocol called A2A. We'll start with the problem, break down that protocol piece by piece, and see how Microsoft uses it inside co-pilot studio and Azure AI, grab your coffee, and let's dive in. So what's the actual problem? AI agents today are exactly like those isolated specialists. Each one has its own knowledge, tools, and goals. A weather agent knows the forecast. A hotel agent knows room availability, but they don't share anything. Now, picture a user asking for a trip to Seattle next week with a hotel near the office. A single agent would need to be a weather expert, travel expert, and local business expert, all at once. That means giant bloated prompts that cram every possible capability into one system, and those prompts break constantly. The old solution was custom code. You'd write a bridge between the weather agent and the hotel agent, then another between the hotel agent and the flight agent, and another for the calendar agent. It works at first, but every time you add a new agent, you build another integration. Pretty soon you've got a spaghetti nightmare of point-to-point connections, where one change breaks everything. The productivity gains your AI was supposed to deliver get eaten alive by maintenance work. Let's look at the real business pain. Your organization already has processes with handoffs. A ticket gets created, someone triages it, someone resolves it, someone logs it, and each step is a handoff. In the old world, you automate each step with a separate agent and then spend weeks wiring them together. But what if there was a protocol that let agents discover each other and cooperate without any custom bridges? That's exactly what A2A does. In plain English, A2A is a standard way for agents to talk to each other, pass work around, and get things done as a team. What is A2A? The simple definition. A2A stands for agent to agent. It's an open protocol that lets AI agents talk directly to each other, no matter who built them. You can think of it like HTTP for agents. HTTP is the language web browsers and servers used to communicate. And A2A does the same thing for agents. An agent built by your IT team on Microsoft Copilot Studio can talk to an agent built by a different company on Google Cloud as long as both speak A2A. This isn't a small project either. A2A is sponsored by eight major companies, including Google, Microsoft, Cisco, Salesforce, SAP, and others, and it's hosted by the Linux Foundation. Version 1.0 is stable and ready for real use, which means no single vendor controls the protocol. It's not a Google thing or a Microsoft thing. It's an industry thing. The design is intentionally simple. A2A builds on existing web standards like HTTP and JSON RPC. Things every developer already knows. Nothing exotic or proprietary there. That makes it easy for enterprises to adopt without ripping out their existing infrastructure. Now, you might have heard of another protocol called MCP, or ModelContext Protocol. Here's the difference. MCP is agent to tool, meaning it connects an agent to external data sources and APIs. A2A is agent to agent connecting agents directly to each other. They're not competitors. They're complementary. Think of MCP as the vertical connection from an agent down to its tools. And A2A as the horizontal connection between agents side by side. One more design choice. A2A treats agents as opaque. So when one agent talks to another, it doesn't see the other agents internal reasoning tools or private data. It only sees the task it sent and the result it gets back. That preserves privacy and intellectual property. A weather agent doesn't need to know how the hotel agent books rooms. It just needs to hand off the forecast. Now let's look at the first piece of the puzzle, the agent card. The agent card, the resume. Every A2A compatible agent publishes something called an agent card. That card is a machine readable document that lives at a standard URL on the agent's domain, specifically at PAS well known, agent card, Jason. If you know where an agent lives, you can fetch its card and learn everything you need to work with it. Think of the agent card as a resume or a business card. It tells other agents who you are and what you can do. The card contains the agent's name, a plain text description of its capabilities, and skill tags that help with discovery. It also lists the endpoint URL where it accepts requests, its authentication requirements, and the input and output formats it expects. Here's a concrete example. Say you have a weather specialist agent. Its agent card says, "I can provide current weather and a five-day forecast for any city. It lists its API endpoint, says it accepts a city name, and returns temperature and conditions in Jason format." That's the whole thing. It's just a clear declaration of what it can do with no secrets or internal logic exposed. Discovery works like this. An orchestrator agent has a list of known agent URLs or you can configure it with them when a task comes in, the orchestrator fetches the agent card, reads the descriptions, and decides which agent is the best match. The weather card says weather, so weather tasks go there. The hotel card says hotels, so hotel tasks go there. Notice there's no central registry required. Agents don't need to register with a global directory. They just publish their card at a known location, and any other agent that knows the URL can find them. That's a deliberate design choice that keeps the system decentralized and flexible. You can add a new specialist to your network by giving the orchestrator its URL and discovery happens automatically. So the orchestrator knows who's available, but how do they actually hand off work? How A to A communication works? So the orchestrator knows which agents are available through the agent card, but how do these agents actually hand off work to each other? The answer is simple. All communication happens over HTTP using Jason RPC messages. The same protocol that powers most web services today, nothing custom or complicated, just standard web traffic flowing between two agents. Here's the thing, not all tasks are the same. A to A supports three different interaction patterns depending on what you need. Instant response handles quick lookups where the remote agent can answer immediately. You send a request, it replies right away, and you are done. Asking a weather agent for today's forecast works exactly like this, a synchronous reply in and out. Streaming handles the longer tasks, maybe the specialist agent needs to search multiple databases or run a complex analysis. Instead of making you wait for a single response, the agent sends status updates as it works using server send events, you get progress reports along the way, and then the final result lands at the end. Tracking a package delivery works the same way. You see each step as it happens. Async notification handles the long running tasks where the remote agent might take minutes, hours, or even days. Employee onboarding is a good example. One specialist provisions IT accounts while another handles benefits enrollment over multiple days. The client agent submits a request, gets back at task ID and moves on with its work. Later, the remote agent sends the result through a web hook. The client can also check progress anytime by pulling that task ID. Every interaction follows the same structure all organized as a task. When the client sends a request, the remote agent creates a task and returns a task ID. That ID becomes the tracking handle for everything that follows. Messages inside that task have a role, telling you who sent it, and parts, which can be plain text, binary data like images or documents, JSON payloads, or URLs pointing to files stored elsewhere. Authentication follows standard web conventions, OAuth API keys, baritokens. The usual suspects, nothing new to learn here. The agent card tells the client which authentication method to use, and the client handles it the same way it would for any other API call. Here is how this looks in practice. Say the orchestrator needs weather data for a trip. It sends a task to the weather specialist. The weather specialist acknowledges the request, starts processing, and streams back progress updates. Fetching data, passing results. Done. Then it sends the final forecast. The orchestrator never sees the weather agent's internal tools, its API keys, or its reasoning process. It only sees the output. That is the key design principle. Clean boundaries between agents and no internal state leaking out. But A2A alone is not enough. You need a smart boss to coordinate all these specialists. That brings us to the orchestrator specialist pattern. The orchestrator specialist pattern, here is where everything connects. The orchestrator specialist pattern is the most common architecture in production multi-agent systems today. Think of it like a company with departments, IT, HR, finance, each handling its own area. You have a central decision maker that roots work to specialized teams, and each team focuses on what it does best. The orchestrator holds the big picture. It receives the user's request, figures out what needs to happen, and decides which specialist can handle each piece. If a user asks, plan a trip to Seattle next week, the orchestrator does not book flights or check hotels itself. It knows there is a flight specialist, a hotel specialist, and a weather specialist. It breaks the request into those pieces and delegates each one. Each specialist has a narrow focus. One agent handles flight booking, another handles hotel search, and a third handles incident triage. They do not need to know about each other's domains. The flight specialist knows airlines roots and pricing. It does not need to know anything about hotel room types or cancellation policies. That narrow focus keeps each agent simple, easy to maintain, and easy to test. Here is the important part. The orchestrator does not execute the tasks. It routes work and merges results. That is its only job. The orchestrator's role is to be a smartest patcher, not a super agent that tries to do everything. When you let the orchestrator start doing specialist work, you lose the whole benefit of the pattern. It becomes a monolithic mess again. Watch out for a common mistake. Some teams create overlapping specialist domains. Two agents both claim they can handle customer support or data lookup, which creates rooting confusion. The orchestrator does not know which one to pick and users get inconsistent results. The fix is straightforward. Each specialist owns a clearly bounded domain with no overlap. If two agents can do the same thing, merge them or split the domain more cleanly. Microsoft's co-pilot studio uses this pattern natively. Your main co-pilot acts as the orchestrator while child agents and connected agents act as specialists. When a user asks something that spans multiple domains, the main co-pilot delegates to the right specialists through A2A. It is built into the platform, so you do not have to code the orchestration logic from scratch. The big benefit here is modularity. Need to swap out your hotel booking provider, replace the hotel specialist without touching the orchestrator or any other agent. Adding a new capability, build a new specialist, register it with the orchestrator and you are done. Each agent stays small, manageable and independently deployable. That is the whole point of moving from monolithic agents to a multi-agent system. So we have the protocol, the agent cards and the pattern. Let us see it in action with real scenarios. Real examples of A2A in action. So what does A2A actually look like in the real world? Let's start with a simple example. You tell your AI assistant, plan a trip to Seattle next week. In the old way of doing things, that single assistant would have to know everything. Weather, flights, hotels, restaurants, all at once. That is a lot to ask from one prompt. With A2A, the orchestrator breaks it down. It sends a task to a weather specialist asking for the forecast for those specific days. At the same time, it asks a flight specialist to find flights arriving Tuesday morning, returning Thursday evening and a hotel specialist to search for places near downtown Seattle for three nights. Each specialist works independently and they don't need to talk to the other agents because they each have their own data sources, tools and expertise. The orchestrator collects all the results and merges them into one response. The user sees a single answer. Here is the forecast. These are your flight options and here are three hotels near the office. Behind the scenes, three separate agents work together without any custom integration code. Now a business scenario, say a ticket comes in, my laptop won't connect to the VPN. The orchestrator figures, this is a network issue. It hands the ticket to a runbook specialist that knows the standard steps. Check VPN client status, verify network credentials, restart the service. That specialist returns the steps. Then the orchestrator passes the result to a ticket writer specialist that logs the resolution in the system. All this happens in seconds without a human touching it and the IT team only gets involved if the automated steps don't fix the problem. Employee onboarding is another example but this one takes days, not seconds, a new hire joins the company. The orchestrator triggers an IT specialist to create accounts and a sign hardware which might take a few hours. At the same time, it triggers an HR benefit specialist for enrollment forms and later a facility specialist for desk and badge access. Each specialist runs its own long running task independently and the orchestrator tracks progress using those task IDs we talked about earlier. So if the IT specialist finishes the orchestrator knows and if the facility specialist is delayed, it can follow up. The user sees one smooth onboarding flow but behind the scenes, it is a coordinated team working over multiple days and this isn't just theory, Coca-Cola beverages. Africa is already using co-pilot studio agents with Dynamics 365 to automate planning cycles. Their planners use to spend up to an hour and a half every day on repetitive tasks. With multi-agent orchestration, those cycles run on their own. The orchestrator delegates to specialists that handle different parts of the supply chain planning process. The result is over an hour saved per person per day just by letting agents talk to each other instead of making humans carry information between systems. So the pattern is the same in all these examples. Each agent is a self-contained expert that knows its own domain and has its own tools and it doesn't need to know anything about the other agents. A2A provides a simple communication layer so they can cooperate without custom code. You get a standard protocol and a smart orchestrator with no bridges, no point-to-point integrations and no maintenance headaches. Microsoft has been all in on this. Let's see where co-pilot studio and Azure AI fit in. Microsoft's ecosystem, co-pilot studio and Azure AI. So where does Microsoft sit in all this? Right at the center. Co-pilot studio now supports A2A natively and it has been generally available since April, 2026. That is not a preview or a beta. It is production ready and any eligible customer can use it today. Here is the thing, you can connect external agents to your co-pilot studio orchestrator. When I say external, I mean truly external. Agents built on Google Cloud, AWS or any other platform that supports the A2A protocol. The orchestrator doesn't care where the agent lives or what framework it was built with. As long as it speaks A2A, it can join the team. The setup is simple. In co-pilot studio, you create something called a connected agent. You paste in the agent's endpoint URL, co-pilot studio automatically fetches the agent card from that URL, which is the perhaps well-known agent card Jason file we talked about. It reads the agent's capabilities, authentication requirements and input and output formats. Then it builds a custom connector behind the scenes and your orchestrator can start delegating tasks immediately. You don't need manual integration work or custom code, just paste the URL and you are done. On the Azure side, Azure AI Foundry agent service also supports A2A. It has a dedicated A2A API endpoint that lets open source orchestrators like AutoGen, Langchain and Semantic kernel invoke Foundry agents. So if you have built agents using those frameworks, you can plug them into the Microsoft ecosystem without rewriting anything. It is a two way street. Microsoft follows the same orchestrator specialist pattern we have been describing. The main agent in co-pilot studio acts as the orchestrator while child agents and connected agents are the specialists. Each one handles its own domain and the orchestrator roots and merges. It is the same architecture just running on Microsoft's platform. But here's the thing, there are some limitations you need to know about. First, every extra orchestration hop adds latency. If your main agent calls a connected agent and that connected agent calls another specialist, each hop adds network time. For real time conversations, too many hops can make the experience feel sluggish. Second, over-delegation creates routing chaos. If you have too many specialists with overlapping domains, the orchestrator starts making bad rooting decisions. So keep your specialist count manageable and your domains clearly separated. Third, there is a specific limitation with fabric data agents. They don't work when the main agent is deployed to Microsoft 365 co-pilot. If your deployment targets M365 plan accordingly, these constraints are real, but they are manageable. The platform is mature enough for production use and Microsoft is actively working on closing these gaps. Now let's connect the dots and see the big picture. Connection section, how it all fits together. Let's step back and see how these pieces connect. A2A is the phone system agents use to call each other. The agent cards, that's your phone book. They show you who to call and what each agent handles. The orchestrator is the receptionist that routes each call to the right department. None of these pieces work alone. You need all three. Without a phone book, you don't know who to call. Without a receptionist, nobody directs traffic. And without a phone system, a receptionist can't connect anyone. They only work as a team, but that's where modularity comes in. When your specialists are modular, you can add new capabilities without breaking what's already working. Say you want to add a car rental specialist to your travel assistant, you build it, you publish its agent card, you give the orchestrator its URL. Done. The flight specialist and hotel specialists stay exactly the same. The orchestrator doesn't change either. You just plug in a new piece and the system adapts. Because the protocol is open, you never get stuck with one vendor. Your orchestrator can run on co-pilot studio. Your weather agent can live on Google Cloud. Your hotel agent can be on AWS. Your internal systems can stay on Azure. They all speak the same language. That's the beauty of an open standard. It prevents vendor lock-in and lets you pick the best tool for each job. A2A isn't about building one super smart agent that knows everything. It's about building a flexible workforce of specialists you can rearrange as your needs change. You don't replace your agents, you rearrange them, you add new ones, you swap old ones out. The system grows with you instead of becoming a bottleneck. So what can you do with this knowledge today? Actionable takeaways. Starts more. Pick one repetitive process in your organization that involves multiple systems. Ticket resolution, employee onboarding or expense reporting, for example, something with clear handoffs between steps. Then build a prototype with one orchestrator and two specialists. You don't need a grand architecture. You just need a working example you can learn from. Use the tools that already support this. Copilot Studio has built an A2A support. Azure AI Foundry has it too. You don't need to build the protocol from scratch or write custom integration code. Paste a URL, configure your agents and start delegating. Watch for common pitfalls. Keep your specialist domains from overlapping. If two agents can do the same thing, merge them or split the domain more cleanly. Let the orchestrator handle routing, not execution. And watch for latency from orchestration hops. If your response time start creeping up, you might have too many layers of delegation. The best first step is simple. Map out the handoffs in your existing workflow. Where does information get passed between people or between systems? Those are the spots where agents can take over. Every handoff is an opportunity. So that's the A2A system in a nutshell. Three simple pieces working together. Agent stop being isolated and start acting like a real team. Pick one workflow with clear handoffs and build from there. Subscribe for more plain English breakdowns and drop a comment if anything clicked.

← Microsoft Graph Connectors - Simply ExplainedFrom AI Hype to AI Harness Engineering – Building AI That Pe →