Module 10 · Optional Stretch

Foundry Connected-Agent Orchestrator ⭐ OPTIONAL

Compose the Fabric Data Agents you built in Modules 7–8 behind an Azure AI Foundry connected-agent orchestrator for cross-domain reasoning. No orchestration code is required - Foundry's connected-agents pattern handles specialist routing automatically.

30 minutes (optional)
🎯 Goal: cross-domain orchestrator
🛠 Azure AI Foundry
This module is optional. The lab is complete after Module 8. This module adds a cross-domain reasoning layer on top of the domain agents. It is most effective with the full two-agent catalog from Module 9, but functions with only the Hospital agent from Module 8 (you connect fewer specialists). The module is entirely portal-driven - no notebook code or Python required.

Learning Objectives

How It Works

Single-domain agents answer questions inside their own scope; multi-agent orchestration adds cross-domain reasoning. This is achieved without orchestration code - Azure AI Foundry provides a built-in connected-agents pattern in which a primary agent automatically delegates to specialist agents registered as tools.

The flow:

  1. Open your pre-provisioned Foundry project at ai.azure.com.
  2. Create a City Ops Orchestrator agent (gpt-4o-mini).
  3. Attach your Fabric Data Agents from Modules 7–8 as connected agents.
  4. Test in the Foundry Playground.
① QUESTION City Ops User "Region A has train delays AND rising hospital load. What should we do?" ② ORCHESTRATE Azure AI Foundry City Ops Orchestrator Model: gpt-4o-mini Connected agents: 2 Routes & synthesizes Auto-routes to specialists Combines partial answers No orchestration code ③ SPECIALIST CALLS (parallel) 🏥 Hospital Ops Agent Fabric Data Agent (M7) vitals + movement 🚆 Transit Ops Agent Fabric Data Agent (M8) train telemetry ④ RESPONSE SITUATION • Hospital: 4 critical, SpO2↓ • Transit: Green delayed 8/10 ACTIONS 1. Hospital staffing tier-2 2. Reroute to Blue line 3. Open incident bridge CONFIDENCE HIGH 2/2 specialists responded How to read this: A user asks one cross-domain question. The Foundry orchestrator decides which specialist Fabric Data Agents to call, runs them in parallel (purple arrows), waits for their partial answers (dashed returns), and synthesizes a single grounded response (green arrow).
Figure 9.1 - Cross-domain reasoning with the Foundry connected-agent orchestrator: one question in, two specialist calls in parallel, one synthesized SITUATION / ACTIONS / CONFIDENCE response out.

Build the Orchestrator

  1. Open your Azure AI Foundry project

    Open a new browser tab → ai.azure.com. Sign in with your lab account.

    On the home screen pick your pre-provisioned Foundry project (each lab user has their own). See Module 0 · Setup & Environment Check for context.

    Why Foundry? Azure AI Foundry is Microsoft's managed agent runtime. It provides a connected-agents pattern (one agent delegating to specialists as tools), built-in tracing, and a one-click publish path to Microsoft 365 Copilot, Teams, and the web - without orchestration code.
  2. Create the City Ops Orchestrator agent

    In the left rail, click Agents+ New agent. Fill in:

    • Name: City Ops Orchestrator
    • Deployment: gpt-4o-mini (already in the project)
    • Instructions (paste exactly):
    Agent Instructions
    You are the City Ops Orchestrator - chief of staff for a Smart City operations team.
    
    For any user question, decide which of your connected specialist agents to call:
    - Hospital Ops Agent - patient vitals, room occupancy, movement
    - Transit Ops Agent  - train status, speed, delays
    
    You may call multiple specialists in the same turn when a question spans domains.
    After gathering specialist signals, synthesize ONE concise answer with:
    
      SITUATION   - what each specialist reported (one bullet per domain)
      ACTIONS     - recommended operational steps based on the specialist signals
      CONFIDENCE  - HIGH if all relevant specialists responded; MEDIUM otherwise
    
    Be terse and operational. Do not invent data the specialists did not return.

    Click Create.

  3. Attach your Fabric Data Agents as connected agents

    On the agent canvas, scroll to Tools & Knowledge+ Add toolConnected agent.

    For each Fabric Data Agent you built in Modules 7–8, add one connected-agent entry:

    Tool nameDescription (what it does)Endpoint
    hospital_opsAnswers questions about patient vitals, room occupancy, and movement on the hospital floor. Use for any clinical or capacity question.Hospital agent endpoint (from your Fabric agent → Settings → Endpoint)
    transit_opsAnswers questions about train fleet status, speeds, and delays across Red/Blue/Green lines.Transit agent endpoint (from your Fabric agent → Settings → Endpoint)
    The description field is critical - the orchestrator's LLM uses it to decide when to call this tool. State precisely which questions each agent is qualified to answer.

    If you only built the Hospital agent in Module 8, attach that one alone - the orchestrator supports any number of connected agents.

  4. Test in the Foundry Playground

    Click Try in Playground. Paste the canonical cross-domain question:

    "Region A has train delays AND rising hospital load. What should the city do?"

    Inspect the trace pane on the right - the orchestrator calls hospital_ops and transit_ops in parallel, then synthesizes the response.

    Expected output shape:

    Playground Output
    SITUATION
    - Hospital: 4 critical patients, SpO2 trending down on PAT-10003.
    - Transit: Train-Green-1 delayed 8/10 readings; Green line 11 mph below baseline.
    
    ACTIONS
    1. Activate hospital staffing tier-2.
    2. Reroute Green-line passengers to the Blue line shuttle.
    3. Open incident bridge with transit + ED leadership.
    
    CONFIDENCE: HIGH (2/2 relevant specialists responded).

    Try a few additional prompts - the orchestrator selects which specialists to call automatically:

    • "How's hospital load looking right now?" → Hospital only
    • "What's the operational picture across the city?" → both agents
    • "Are there any concurrent emergencies?" → both agents
💡
The full architecture. Streaming telemetry → Lakehouse + KQL → Fabric Data Agents → Foundry connected-agent orchestrator. From the orchestrator's Publish menu the entire orchestrator can be exposed in Microsoft 365 Copilot using the same flow described in Module 8. End users interact only with the Copilot chat surface; the underlying Fabric, Foundry, and code remain hidden.

Validation

  • City Ops Orchestrator agent exists in your Foundry project.
  • At least one Fabric Data Agent is wired in as a connected agent.
  • Playground answers the canonical question in under ~30 seconds.

References