Copilot Studio Multi-Agent Orchestration: Plan the Handoffs
Connecting multiple Copilot Studio agents into a single workflow means deciding who owns which step, what gets passed between them, and how the team reviews the result. Here is how to plan and test those handoffs.
Updated 6 min read
Multi-agent orchestration in Copilot Studio means connecting two or more agents so each handles a defined slice of a workflow, handing requests and outputs between them without requiring a person to step in at every stage. Done well, it keeps each agent's scope narrow, its outputs testable, and its failures traceable. Tools like fenbs keep the team's shared brief, approval rules, and handoff record outside any one Copilot Studio environment, so everyone building and reviewing the agents sees the same current plan.
Most orchestration problems are planning problems. Teams often build first and discover ambiguity at the boundary between agents later. Starting with a clear picture of who owns which step, what data moves between steps, and what a person must approve takes less time than debugging a misfired handoff in production.
How Copilot Studio multi-agent orchestration works
Copilot Studio supports connecting agents through topic actions and direct agent-to-agent calls. A coordinating agent can route a request to a specialized agent — one that handles a specific data source, a particular language, or a defined business process — and pass the result back or forward to the next step.
The coordinating agent (sometimes called the orchestrator) decides which specialized agent to call based on the input, context, or a routing rule you define. Each specialized agent focuses on its task and returns a structured output. The orchestrator assembles that output or passes it further. See the Microsoft Copilot Studio documentation for the current list of supported connection patterns before you design your topology.
Related reading: multi-agent GitHub Copilot and orchestrating coding agents cover similar patterns in other tools. Copilot Studio agent flows covers the narrower agent flows topic.
Map your topology before you build
Before opening Copilot Studio, draw the agent map on paper or in a document. Write each agent's name, its single responsibility, the inputs it expects, and the outputs it produces. Then draw the arrows: which agent calls which, what triggers the call, and what happens if the called agent returns an error or an empty result.
Keep each agent's scope narrow enough that you can test it in isolation. An agent whose responsibility is "handle everything the user might ask" is not a useful unit of orchestration. An agent whose responsibility is "look up a customer order from the orders API and return the status and delivery date" can be tested, corrected, and replaced without touching the rest of the workflow.
- Name each agent after its single responsibility, not after the workflow it participates in.
- List the exact inputs each agent needs: which fields, which format, which source.
- Write the expected output shape before you build the connection.
- Mark the steps where a person must approve the result before the workflow continues.
- Write down what the workflow should do if an agent fails, times out, or returns unexpected content.
Set ownership boundaries at the handoff points
Every handoff has two sides: the agent sending data and the agent receiving it. Decide what the sending agent guarantees — the fields it will always include, the conditions under which it will not send at all — and what the receiving agent does when those guarantees are not met. Write these contracts in your shared brief before you build.
Overlapping ownership is a common problem. Two agents that both believe they should handle a certain kind of input will produce inconsistent results. If you find yourself writing "either agent A or agent B can handle X," that is the signal to make the routing rule explicit in the orchestrator instead.
Record approval rules before connecting agents
Some steps in an orchestrated workflow need a person's approval before the next agent acts: sending an email, creating a record, or making a change that is hard to undo. Decide which steps those are during the planning phase, not when something goes wrong. Write each rule in plain language: "the orchestrator must not call the send-email agent until a person has reviewed the draft output."
These approval rules belong in a shared record the whole team can read. When a new team member joins the project or a second team picks up the workflow six months later, the rules are available without interviewing the original builder. fenbs keeps Decisions and rules in a project record that every connected assistant reads before acting.
Keep the agent brief and approval rules where the whole team can read them
fenbs holds the project brief, task list, Decisions and rules, and handoff notes for your Copilot Studio build. Connected AI apps read the current rules before acting. When the team updates an approval boundary or changes an agent's scope, the record updates in one place and every session starts from the correct version. fenbs does not connect to Copilot Studio directly; it keeps the human record behind the build.
Create a free accountFree for one person · No credit card · Works with Claude, ChatGPT, Cursor and more
Test handoff paths and failure scenarios
Test each connection between agents before you test the end-to-end workflow. Send a known input to the sending agent, confirm the output matches the contract, then send that output to the receiving agent and confirm it handles it correctly. Only then chain the two together.
Failure paths are as important as the happy path. What does the orchestrator do when a specialized agent is unavailable? What does it return to the user? Test those scenarios in a development environment before you publish. Copilot Studio's test and publish workflow is a separate topic; check that guide for the environment sequence.
How to do this with fenbs
- Create a free account and add a project for this Copilot Studio build.
- Add a task for each agent with its responsibility, expected inputs, and expected outputs in the task note.
- Write the handoff contracts and approval rules as Decisions and rules. Mark the person who decided each one.
- Add a "where we left off" note at the end of each session: which agents are tested, which are not, and what is waiting on a team decision.
- When a second team member starts work, ask their connected assistant to read the project context before touching any agent.
Common orchestration mistakes to avoid
Building the orchestrator before the specialized agents are individually tested is the most common source of hard-to-trace errors. You cannot isolate a failure in a chain if the links have never worked alone. Build bottom-up: test each specialized agent against its contract, then wire the orchestrator.
Skipping the failure path design leads to workflows that stall silently or return confusing messages. Users lose trust in an agent that fails without a clear explanation. Decide what the workflow says in each failure case and write that decision in your project record before building.