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.

How fenbs helps

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 account

Free 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

  1. Create a free account and add a project for this Copilot Studio build.
  2. Add a task for each agent with its responsibility, expected inputs, and expected outputs in the task note.
  3. Write the handoff contracts and approval rules as Decisions and rules. Mark the person who decided each one.
  4. 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.
  5. 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.

Questions people ask.

What is multi-agent orchestration in Copilot Studio?

It is a pattern where a coordinating agent routes requests to one or more specialized agents and assembles or passes their outputs. Each agent handles a defined task. The orchestrator decides which agent to call based on the input or a routing rule.

How many agents can Copilot Studio orchestrate?

Check the Microsoft Copilot Studio documentation for current limits on agent connections. Limits change as the product develops and vary by license.

How do I handle an agent failure in an orchestrated workflow?

Design and test failure paths before you publish. Decide what the orchestrator returns to the user when a specialized agent is unavailable, times out, or returns unexpected content. Write those decisions in your project brief before building.

Can fenbs connect directly to Copilot Studio agents?

fenbs does not connect to Copilot Studio. It keeps the shared project record, approval rules, and handoff notes for the people building and reviewing the agents. Connected AI apps such as Claude or ChatGPT can read that record over MCP.

What should I write in the handoff contract between agents?

Write the exact fields the sending agent will include, the conditions under which it will not send at all, and what the receiving agent does when those conditions are not met. Keep the contract in your shared project brief so every builder works from the same specification.

More in AI agents at work

All AI agents at work articles

Start with one thing.

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

There is nothing to set up first. Write one line and you’ve started.