Agentic Bill Payments MCP Server
generic skill
In this lab, you are going to understand how to create agents in Microsoft Copilot Studio that can communicate with other agents. You'll build a specialized Interview Scheduler agent that consumes data from the HR Candidate Management agent created in previous labs. The Interview Scheduler agent wil
Sign in to like and favorite skills
generic skill
References to demo script and key prompts for validation
I want you to act as an English translator, spelling corrector and improver. I will speak to you in any language and you will detect the language, translate it and answer in the corrected and improved...
In this lab, you are going to understand how to create agents in Microsoft Copilot Studio that can communicate with other agents. You'll build a specialized Interview Scheduler agent that consumes data from the HR Candidate Management agent created in previous labs. The Interview Scheduler agent will automatically process candidate data and send interview meeting requests based on selected candidates, demonstrating how modular agents can work together to create comprehensive business solutions.
!!! note This lab builds on the previous labs, specifically Lab MCS6 - Consuming an MCP server{target=_blank}. You should have a working HR MCP server and the "HR Agent with MCP" agent configured from previous labs.
In this lab you will learn:
In this exercise you will understand the concepts behind agent-to-agent communication and design the architecture for your interview scheduling solution.
Microsoft Copilot Studio supports two primary patterns for agent collaboration:
!!! info You can find additional information about connected agents in Microsoft Copilot Studio reading the article Add other agents overview{target=_blank}.
For this lab, you'll create a child agent architecture where:
This design allows for:
The connected agents workflow you'll implement follows this sequence:
This workflow demonstrates key connected agents patterns:
Before proceeding, ensure you have completed the following prerequisites:
Verify that your HR MCP server is still running, and if not run the following command from the root folder of the MCP server project:
dotnet run
And ensure your dev tunnel is active:
!!! important Replace the
hr-mcp name suggested below with the unique name you used when working on lab Lab MCS6 - Consuming an MCP server{target=_blank}.
devtunnel host hr-mcp
Also verify that you have some candidate data by testing the HR MCP server directly. The Interview Scheduler will need existing candidates to work with.
In this exercise you will create the main agent that orchestrates the interview scheduling process and coordinates with other agents.
Open a browser and navigate to https://copilotstudio.microsoft.com{target=_blank} using your work account.
Select the
Copilot Dev Camp environment, then select Create → New Agent to create a new agent.
Choose to Configure and define your main coordinator agent with these settings:
Interview Coordinator
Main agent that coordinates interview scheduling by working with HR candidate management and interview scheduling child agents to create comprehensive interview workflows
Select your agent's model: GPT-5 Chat
Instructions:
You are the Interview Coordinator, responsible for managing end-to-end interview scheduling processes. Your role includes: 1. Understanding user requests for interview scheduling 2. Coordinating with the HR Candidate Management agent to retrieve candidate information 3. Delegating to the Interview Scheduler child agent for meeting creation 4. Providing comprehensive feedback to users about scheduled interviews When a user requests to schedule an interview: - First, identify and validate the candidate using the HR system - Extract necessary candidate details (name, email, current role, skills) - Coordinate with the Interview Scheduler to create the meeting - Confirm successful scheduling with relevant details Always ensure proper validation of candidate data and provide clear communication throughout the process. Handle errors gracefully and provide informative feedback when coordination between agents fails.
In the Knowledge section, you can optionally add documents with interview scheduling guidelines or company-specific HR policies. For this lab, we'll rely on the agent's built-in capabilities and the integration with other agents.

Select Save in the sections you edited to upate your coordinator agent configuration.
After creating the agent, configure its orchestration capabilities and knowledge settings. Select the Settings command in the upper right corner and configure the agent.
In the Orchestration section, ensure that Use generative AI orchestration for your agent's responses? is configured with value
Yes - Responses will be dynamic, using available tools and knowledge as appropriate. This allows the agent to intelligently coordinate between different child agents and connected agents.
In the Knowledge section accordingly to the following settings:

Select Save to confirm the configuration.
Your Interview Coordinator needs to communicate with the existing HR agent to retrieve candidate information. Navigate to the 1️⃣ Agents section and select 2️⃣ Add.

A new dialog appears, allowing you to choose between any of the following options:

From the list of available Copilot Studio agents, select the HR Candidate Management agent (or similar name) that you created in previous labs. If you don't see it, ensure it's published and configured to allow connections from other agents. To check if the HR Candidate Management agent is configured to allow connections from other agents, edit the agent, go to Settings, and check that the option Let other agents connect to and use this one is enabled in the Connected agents section, like illustrated in the following screenshot.

Once you selected the HR Canidated Management agent, configure the connection:
HR system integration for retrieving and managing candidate information during interview scheduling processes. Provides candidate lookup, data validation, and comprehensive candidate details.
The description is used by the main agent to understand when the connected agent should be invoked. Try to be specific and clear in the description.

Select Add and configure to establish the connection between agents. Once the connected agent is defined and configured, you can see it in the list of Agents for the current agent and you are presented with a page to manage the configuration of the connected agent.

In this exercise you will create a specialized child agent that handles the meeting creation and calendar management aspects of interview scheduling.
In your Interview Coordinator agent, navigate to the 1️⃣ Agents section and select 2️⃣ Add an agent.

Select New child agent to create a new child agent.

Configure the child agent with these settings:
Interview Scheduler
When will this be used?: Select The agent chooses to allow the agent to respond to coordination requests from the main agent
Description:
Helps scheduling an interview with a candidate. Requires information like the email of the candidate and the date and time of the meeting.
You are the Interview Scheduler, a specialized agent focused on creating and managing interview meetings. When invoked by the Interview Coordinator, you: 1. Process candidate information received from the main agent 2. Create appropriate calendar meeting invitations 3. Include relevant candidate details in meeting descriptions 4. Send meeting invitations to appropriate stakeholders 5. Provide confirmation details back to the coordinator For each interview scheduling request: - Create a 1-hour meeting slot (suggest next business day if no specific time provided) - Include candidate name, role, and key skills in the meeting title and description - Invite the requesting user and any additional specified interviewers - Set appropriate meeting location (in-person, Teams, etc.) - Include candidate resume/profile information in meeting notes Always confirm successful meeting creation with meeting details including date, time, attendees, and meeting link if applicable.

Select the Save command in the upper right corner of the screen to save the new child agent. You should see a green confirmation message stating that the child agent was created.
To enable the Interview Scheduler to create calendar meetings, you need to add a specific MCP server integration for meetings management.

In the Tools section of the Interview Scheduler child agent, select Add.

Once the connection is established and the MCP server is added to the child agent, you will see the panel with the configuration of the new tool. Update the Name accordingly to the following value:
Manage meetings
This integration allows the child agent to:
Go back to the Overview tab of the child Interview Scheduler agent, selecting the left arrow beside the name of the tool, and complete the configuration of your Interview Scheduler child agent:

Open the Details section, expand the Advanced panel and set the Priority to 1 to ensure this agent has high priority for interview scheduling tasks
Condition: Optionally, add conditions to limit when this agent activates. For example, you might want it to only activate for messages containing interview-related keywords
Ensure the Enabled toggle is turned on
Select Save to create the child agent
Your Interview Scheduler child agent is now configured and ready to handle meeting creation tasks when invoked by the main Interview Coordinator agent.
In this exercise you will implement and test the complete connected agents workflow for interview scheduling.
To enable proper agent coordination, you need to reference the child agent and connected agent in your main agent's instructions.
Navigate to the Overview section of your Interview Coordinator agent and update the Instructions field selecting the Edit command:
/ to open the reference menu
Your updated instructions should look like this:
You are the Interview Coordinator, responsible for managing end-to-end interview scheduling processes. Your role includes: 1. Understanding user requests for interview scheduling 2. Coordinating with /HR Candidate Management agent to retrieve candidate information 3. Delegating to /Interview Scheduler child agent for meeting creation 4. Providing comprehensive feedback to users about scheduled interviews When a user requests to schedule an interview: - First, use /HR Candidate Management to identify and validate the candidate - Extract necessary candidate details (name, email, current role, skills) - Coordinate with /Interview Scheduler to create the meeting with candidate details using the ID of the calendar with name "main" of the current user - Confirm successful scheduling with relevant details Always ensure proper validation of candidate data and provide clear communication throughout the process. Handle errors gracefully and provide informative feedback when coordination between agents fails.

Select Save to update the instructions with agent references.
In this exercise you will test the agent scheduling a real interview in your agenda.
Now test the complete agent-to-agent workflow to ensure proper coordination between all components.
In the test panel, try a request like:
Retrieve information about candidate [email protected] and schedule an interview with her for next Monday 10am.
Watch in the test panel as the agent:

And in the following screenshot you can see a sample of the interview meeting scheduled by the agent relying on both the child and the connected agent.

---8<--- "mcs-congratulations.md"
You have completed Lab MCS9 - Agent to Agent Communication!
In this lab, you learned how to:
Your Interview Coordinator agent now demonstrates advanced agent orchestration patterns, coordinating between the HR Candidate Management system and specialized Interview Scheduler functionality to deliver comprehensive interview scheduling automation.
The connected agents patterns you've learned can be applied to many other business scenarios where complex workflows benefit from modular, specialized agents working together to deliver end-to-end solutions.
Start here with Lab MCS10, to learn how to consume an MCP server secured with OAuth in Copilot Studio.