At 13.45 in the Take off room at HELish Summit 2026, Ferran Chopo, Power Platform Advisor at Forward Forever and Microsoft MVP, ran a session called “Multiagents in action: your assistant for HELish Summit with Copilot Studio”. Almost no slides, one live demo built for the event itself, and one point to take home: the difference between a child agent and a connected agent, and why it now depends on which harness you pick. This is my recap. The build and the numbers are his; the compression and any mistakes are mine.

One assistant, three helpers

An attendee should be able to ask one agent about the schedule, speakers and sponsors, how to get from one place to another, what to see in Helsinki, and then submit an evaluation for the session they just sat in. Ferran built that as a main agent, the HELish Summit Agent, with knowledge sources (an Excel file with the sessions, Dataverse tables and the event website) and three helpers behind it.

Architecture slide: HELish Summit Agent (main agent) delegates to a Transport Agent calling the Digitransit API, a Tourism Agent calling the Helsinki MCP Explorer MCP server, and a child agent that manages session evaluations
The architecture: main agent, two connected agents (transport and tourism), one child agent (evaluations).

The transport agent calls the Digitransit API for real-time public transport in the Helsinki area. The tourism agent calls an MCP server Ferran wrote himself, with two tools: list all attractions, or pick one at random. The evaluations agent is different in kind: it is a child agent living inside the main agent. Two connected, one child, and an orchestrator on top that decides who answers.

Transport: two flows, no topics

The Digitransit route call needs latitude and longitude for both origin and destination, so Ferran built two agent flows: one to search an address and return coordinates, one to call the route API with the two coordinate pairs. Both are tools on the agent. The instructions say which tool to use for which step, and also how to handle errors.

Copilot Studio demo: the HELish Summit Transport agent's instructions view with GPT-5 Chat selected, Ferran Chopo at the lectern
The transport agent in Copilot Studio: instructions and two flow tools, and a topics list he never touched.

“I have topics, but I haven’t designed any topic,” he said. In the test pane you could watch the activity: the search tool called twice, once per address, then the route tool, and a JSON result coming back in real time. The formatting, the icons, the readable steps: none of that is in a topic or a flow, the instructions do it. Does every one of those calls consume Copilot credits, someone asked. Yes, of course.

For the tourism agent the interesting detail was the plumbing: the MCP server ran locally on his laptop and reached Copilot Studio through a custom connector, with the usual caveat that a DLP policy blocking custom connectors blocks this too.

The orchestrator only knows what you tell it

In the main agent, the two connected agents appear in the agents list, and the only thing the orchestrator has to go on is the description you write for each. That is how it decides which one to call; a vague description means problems. Ferran passed no inputs and did no post-processing: the orchestrator sends the context and takes what comes back.

The child agent for evaluations has its own instructions, its own knowledge (Dataverse tables) and its own tool, an agent flow that saves the evaluation to Dataverse. But it is not a separate agent. Open the main agent’s overview and the child’s tools are listed there, tagged as coming from the child.

Child versus connected, and what the harness removes

This was the slide he wanted people to remember.

Slide table comparing child agents and connected agents on maintenance structure, publishing flexibility, authentication and configuration, and reusability; footer: In the new GitHub Copilot Harness experience, there are no child agents
His comparison. The last line is the one that changes your design decision.

A connected agent is a real, separate agent: it can be published on its own (to a website, to Teams), maintained by a different team, given its own authentication, and reused across solutions. A child agent cannot be published independently; it belongs to the parent. So why not make everything connected? He agreed with the question. Child agents make sense when one large agent with many topics, flows or tools needs splitting up, and they are quicker to set up; connected agents give more granular control.

And then the line at the bottom of the slide: in the new GitHub Copilot harness there are no child agents. He showed it on a second tenant with the same three agents rebuilt in the new experience: the menu on the right offers connected agents only. If your design relies on child agents, it works in the standard harness and nowhere else, at least today.

The demo, including the part that went wrong

The agent sat on a public web page with no authentication. Asking for the afternoon sessions returned the sessions after 12 from the Excel file, with time, title and speaker; search by speaker name worked too. Someone pointed out that the citations expose the Excel file to anyone on the page; Ferran agreed, and said the fix is to manipulate the response and strip the citations. Submitting an evaluation triggered the child agent, which asked for a score, took a 5 and wrote it to Dataverse (under Ferran’s name, because the flow runs with his credentials). Asking for a place to visit called the tourism agent and its MCP server, and came back with the Market Square.

HELish Summit Agent chat answering with directions from Helsinki Airport to Kauppatori: walk 500 metres, train about 29 minutes, tram, final walk 265 metres
The agent on a plain web page: airport to Kauppatori, walk, train, tram, walk, from the live API.

Then he asked how to get there, and got the answer twice. The transport agent answered, and the orchestrator answered again from what it had. He was open about it: this is an instructions problem he had been working on right before the session, and his instruction not to repeat, rephrase or summarise the connected agent’s answer had not been enough. Microsoft publishes guidance on designing multi-agent instructions to avoid exactly these duplicate messages. An attendee shared their own fix: their duplicates in Teams came from one instruction that told the orchestrator to summarise the sub-agent’s answer, and removing it solved it.

Ferran Chopo speaking with both hands raised in front of the HELish Summit skyline slide
Ferran explaining why the duplicate answer is a prompt problem, not a platform bug.

Nowadays it’s more about writing good prompts or good instructions instead of trying to debug.

What one interaction costs, in two harnesses

Ferran had counted the Copilot credits for a single interaction of each kind, and he said it took him a while because it is not easy. In the standard harness: asking about sessions 11, transport 16, tourism 6, plus 15 for orchestration, 48 in total. He then rebuilt the same agent in the new GitHub Copilot harness, connected agents only, evaluations folded into the main agent, and measured again: sessions 30.40, transport 10.55, tourism 6.72, no separate orchestration line, 47.67 in total.

Ferran Chopo pointing at the Cost, Copilot Credits slide: standard harness 48 credits in total, GitHub Copilot harness 47.67, with a different split per action
His own count, one interaction per row. Same total, different shape.

He was surprised; he had expected the new harness to be more expensive. Two caveats he gave himself: this is one interaction, not many, and Microsoft says the new harness is rated for high-traffic scenarios, which most internal company agents are not. Two more differences he pointed out: in the standard harness you do not consume credits while building and testing, not even for MCP calls, while in the new harness you do, “we start burning euros, dollars, you don’t realize that”. And he could not publish the new-harness version to a public page, because some of its actions currently require authentication.

His reading of Microsoft’s own guidance: for a simple agent where you want control over context, use the standard harness; for large instructions and complex operations, use the new one, which for a simple scenario may add unnecessary reasoning and latency.

His conclusion

Decide the harness first, GitHub Copilot or standard. Only then decide whether you need one agent, connected agents, or child agents, because the last option only exists in one of the two. And whichever you pick, the work has moved into the instructions of the orchestrator and of every agent under it.