Copilot Studio

Child agents in Copilot Studio are your best friends

Child agents let you break a large Copilot Studio agent into focused, modular sub-agents — each with its own tools, knowledge, and instructions — keeping orchestration clean and scalable.

Click image to enlarge

Did you know that child agents in Copilot Studio let you break a monolithic agent into focused, modular sub-agents — each with its own tools, knowledge, and instructions?

Abstract network of modular AI components connected as a child-agent architecture Visual concept: modular AI architecture and orchestration

When you start building agents, putting everything in one agent feels natural. A few tools, a couple of knowledge sources, some instructions — it works fine. But as the agent grows to handle more scenarios, things start to degrade: the orchestrator struggles to pick the right tool, responses become less precise, and the instructions turn into a wall of text that’s hard to maintain.

Child agents fix this by letting you decompose your agent into smaller, purpose-built units.

What child agents actually give you

A child agent is a lightweight agent that lives inside your main agent. It has its own:

  • Instructions — focused on a single task or domain
  • Tools — only the tools relevant to that task
  • Knowledge sources — scoped to what the child agent needs to answer
  • Inputs and outputs — structured data exchange with the parent agent

When the parent agent receives a user query, the orchestrator decides which child agent (or tool, or topic) should handle it — based on the child agent’s name and description. The child agent runs with its own orchestration, uses its own tools and knowledge, and returns results back to the parent.

Why this matters more than you think

Tool limits stop being a problem

Copilot Studio agents have limits on how many tools they can effectively use. When your agent has 30+ tools all competing for the orchestrator’s attention, accuracy drops. Child agents have their own separate tool limits, so you can logically group tools across multiple child agents without hitting the ceiling on the parent.

The orchestrator gets smarter, not dumber

With fewer choices at each level, the orchestrator makes better decisions. Instead of choosing between 40 tools, the parent agent chooses between 5 child agents — and each child agent chooses between its own small set of tools. Two precise decisions beat one confused one.

Instructions stay manageable

Instead of one massive instruction block that tries to cover every scenario, each child agent gets focused instructions for its specific domain. An “IT Support” child agent has instructions about ticket creation and status checks. An “HR FAQ” child agent has instructions about leave policies and benefits. Neither clutters the other.

Testing becomes targeted

When something breaks, you know exactly where to look. Test each child agent in isolation with queries specific to its domain. If the “Order Lookup” child agent returns wrong results, you fix it there — without touching the rest of the agent.

A practical pattern

For a customer service agent, instead of building one agent with every tool and knowledge source:

  1. Parent agent — minimal instructions, handles greetings and routing
  2. Order Management child agent — tools for order lookup, tracking, returns
  3. Billing child agent — tools for invoice retrieval, payment status, refund requests
  4. Product Support child agent — knowledge sources from product documentation, FAQ articles

Each child agent is focused, testable, and maintainable independently. The parent agent’s job is simply to understand intent and delegate.

Child agents vs. connected agents

Child agents live inside your main agent — same solution, same deployment, same environment. They’re ideal when one team manages the whole agent and you don’t need independent ALM.

Connected agents are separate, independent agents that your main agent calls externally. Use those when different teams own different agents, or when you need independent publishing, authentication, or model configuration.

You can mix both in the same solution — use child agents for tightly coupled functionality and connected agents for independently managed capabilities.

What to watch for

  • Name and description matter — the orchestrator routes based on these. A child agent called “Helper” with the description “Helps with things” will get misrouted constantly. Be specific.
  • Latency adds up — each child agent adds an orchestration hop. Don’t create child agents for trivial single-tool operations where the parent could handle it directly.
  • Performance degrades around 30-40 choices — if your parent agent plus all its child agents, topics, and tools exceeds this threshold, you may need to split into connected agents instead.

Child agents are the difference between an agent that works at demo scale and one that works at production scale. Start using them early — restructuring a monolithic agent later is always harder than designing modular from the start.

Share this tip

Did this tip help you?

Vote once and classify what made this tip valuable.

Try this now

Quick checklist to apply this tip immediately.

💬 Comments & Suggestions

Share your thoughts, tips, or drop a useful link below.