web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Copilot Studio / Agent-to-Agent Communi...
Copilot Studio
Suggested Answer

Agent-to-Agent Communication Issue

(0) ShareShare
ReportReport
Posted on by

Hello all,

I’m working on a multi-agent setup with two standalone agents (Agent A and Agent B). I’ve successfully enabled the "Inputs" section in the Agent-to-Agent connection, but I'm struggling to get the data to actually "land" in Agent B.

My Progress So Far:

  1. In Agent B (the receiver), I created a Global Variable and enabled "External sources can set value." This successfully "unlocked" the grayed-out Inputs section in Agent A’s overview.

  2. In Agent A, I mapped a specific value to that input and added the "Redirect to Agent B" node in a topic.

The Issue:
Even though the connection is mapped, when Agent A calls Agent B, the value appears to be lost or empty on the receiving side. Agent B triggers, but it doesn't seem to "inherit" the variable value passed from Agent A.

My Questions:

  1. Once a Global Variable is set via an external input, is there a specific Topic Trigger or System Variable in Agent B I should use to "grab" that incoming data?

  2. Do I need to explicitly define this variable as a Topic Input on the specific topic being called, rather than just a Global Variable?

  3. Is there a "Publishing" or "Sync" delay required between updating the input schema in Agent B and calling it from Agent A?

Has anyone successfully passed context between standalone agents and verified the value on the receiving side? Would love to know if I'm missing a "Receive" node or a specific Power Fx formula to initialize the handoff context.

I have the same question (0)
  • Suggested answer
    MParikh Profile Picture
    521 Super User 2026 Season 1 on at
    HI @BK-24122053-0,

    Let me explain the problem:

    Child agents vs. connected agents work differently

    Child agents are fully owned by the main agent. Connected agents are fully independent and run standalone. They require configuration on both sides: the main agent calling the connected agent, and the connected agent itself.

    Your "redirect to Agent B" node is a connected agent flow. The global variable approach alone does not cut it for this pattern.

    What Agent B needs (the receiving side)

    On the connected agent, you need to set up topics that handle input and output variables. Make the variable global, tick "External source can set the value" for inputs, and tick "External source can receive the value" for outputs. The connected agent typically has two relevant topics: one with an OnRecognizedIntent trigger for standalone use, and one with an OnRedirect trigger that fires when the agent is called by another agent.

    That OnRedirect trigger is what you're missing. Agent B needs a dedicated topic with that trigger to receive and act on the incoming value. Without it, the value arrives but nothing is listening.

    What Agent A needs (the calling side)

    In the main agent, the connected agent is represented as a TaskDialog. The inputType and outputType properties must be defined inside the action section, not at the root level. This is different from child agents, where they sit at the root level.

    This is a structural YAML issue that the UI does not expose clearly. If your mapping looks correct in the UI but the value is still lost, check the underlying YAML in the code editor. The inputType block needs to sit inside the action section of the TaskDialog node.

    To answer your three questions :

    1. You need an OnRedirect topic in Agent B, not just the global variable. The variable holds the value once set, but a topic with that trigger is what actually processes it at handoff time.

    2. Topic-level inputs are not required here, but the OnRedirect topic must explicitly reference the global variable in its logic, for example through a SetVariable or Condition node, otherwise Agent B triggers but does nothing with the incoming data.

    3. There is no documented publish delay specifically for input schema sync. However, you do need to republish Agent B after adding or modifying the global variable settings. If Agent A cached the schema before you enabled "External sources can set value," republish both agents and retest.

    4.  

    A working pattern to verify against

    In Agent B: create a topic, set the trigger to OnRedirect, and add a SetVariable or Message node that reads Global.YourVariableName. This confirms the value landed.

    In Agent A: open the code editor on the redirect node and confirm the YAML places inputType inside action, like this:

    action:
      kind: InvokeConnectedAgentTaskAction
      inputType:
        properties:
          YourVariableName:
            displayName: YourVariableName
            isRequired: true
            type: String

    Each output for the agent automatically has a topic variable created where the values from outputs are placed. So once the input lands correctly, Agent B topics reading that global variable should reflect it within the same session.

    The Microsoft CAT team's detailed post on this is worth reading in full: https://microsoft.github.io/mcscatblog/posts/copilot-studio-child-connected-agents-inputs-outputs/


     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Copilot Studio

#1
Valantis Profile Picture

Valantis 249

#2
Romain The Low-Code Bearded Bear Profile Picture

Romain The Low-Code... 180 Super User 2026 Season 1

#3
Vish WR Profile Picture

Vish WR 153

Last 30 days Overall leaderboard