Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 12 additions & 19 deletions labs/agent-builder-m365/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ Create, configure, and test a web-based Copilot agent that serves as a knowledge
>
> ![alt text](images/correct-copilot-page.png)
>
> - Make sure the **logged in user** is the fictitious one used in the lab. If you need your normal work user account, **select** the name and toggle to the fictitious user account.
> - Make sure the **logged in user** is the fictitious one used in the lab. If you see your normal work user account, **select** the name and toggle to the fictitious user account.
>
> ![alt text](images/logged-in-user.png)

Expand Down Expand Up @@ -231,10 +231,10 @@ What are new features in the Microsoft Copilot Studio roadmap?

#### Create your learning assistant agent

6. On the left side navigation pane, select **Agents** to open the **Agent Store**, then select **Create agent** (or the **New agent** card)
6. On the left side navigation pane, select **New agent**.


7. Notice that you can explore existing available templates. But for this lab, you want to select the **Describe** tab at the top of the form and paste the following into the input area for the intial agent prompt input area, and then select Send.
7. Notice that you can explore existing available templates. But for this lab, you want to use **Describe the agent you want to create** tab at the top of the form and paste the following into the input area for the initial agent prompt input area, and then select Send.

```
I want to build a teacher-style agent that helps users learn about Copilot, including the differences between Microsoft 365 Copilot and Copilot Chat, Declarative Agents vs. Custom Engine Agents, and how to use Agent Builder in Microsoft 365. The agent should ask questions to validate and reinforce user understanding, encourage exploration, and act as a knowledgeable guide grounded in Microsoft documentation.
Expand Down Expand Up @@ -272,9 +272,9 @@ Use https://learn.microsoft.com/en-us/microsoft-365-copilot/ and https://learn.m

13. Fix any issue like max character limit for starter prompt titles.

14. You can test your agent in the test pane. When ready, select **Create** in the upper right corner to finish creating your agent.
14. You can test your agent in the **Preview** pane. When ready, select **Create** in the upper right corner to finish creating your agent.

![Agent Builder test pane](images/agent-builder.png)
![Agent Builder Preview pane](images/agent-builder.png)

#### Share and test your agent

Expand All @@ -292,8 +292,7 @@ What are the differences between Microsoft 365 Copilot and Copilot Chat?

> [!TIP]
> If your training tenant is getting throttled because of lack of AI capacity (to prioritize production workloads), you may see a message like this: `Sorry, I wasn't able to respond to that. Is there something else I can help with?`. It's OK, **just test your agent while configuring it**, and not after you created it. You may try again later.
>
> ![alt text](images/copilot-error.png)


-->

Expand Down Expand Up @@ -387,9 +386,9 @@ Build a sophisticated Sales Admin Assistant that integrates organizational data

5. Return to [Microsoft 365 Copilot Chat](https://m365.cloud.microsoft/chat/?auth=2&home=1).

6. On the left side pane, select **Agents** to open the **Agent Store**, then select **Create agent** (or the **New agent** card).
6. On the left side pane, select **New agent**.

7. Select the **Describe** tab at the top, and copy/paste the following prompt and select Send:
7. In the **Describe** tab at the top, and copy/paste the following prompt and select Send:

```
You are a Sales Admin Assistant. Your job is to help sales managers track revenue and identify trends across product lines. You understand product hierarchies, time periods (e.g. quarters, fiscal years), and sales metrics. Users can ask questions like 'Graph the sales for the last 2 years with a breakdown per product line and quarter'. You always respond in a friendly and professional tone, aiming to be helpful and insightful.
Expand Down Expand Up @@ -479,8 +478,6 @@ How are sales trending for home appliances?
Design a professional badge for the first place winner of our sales contest. It should look modern and premium, with gold colors, the text '1st Place – Sales Contest', and a ribbon or trophy element.
```

![Badge created by agent](images/image-generator.png)


---

Expand Down Expand Up @@ -548,14 +545,12 @@ Use the Researcher agent to perform two deep-analysis tasks on a complex PDF doc

2. Navigate to [Microsoft 365 Copilot](https://m365.cloud.microsoft/chat/?auth=2&home=1).

3. In the right-side panel or the main chat area, look for the **Researcher** agent. You can find it by:
- Selecting the agent picker (if available) and choosing **Researcher**
- Or typing `@Researcher` in the chat input area
3. In the left-side panel or the main chat area, select the **Researcher** agent.

> [!TIP]
> The Researcher agent is one of Microsoft's **frontier agents** — purpose-built AI agents that use advanced reasoning models. Researcher excels at deep document analysis, cross-referencing multiple sections, and synthesizing complex information. It's available to users with a Microsoft 365 Copilot license.

4. Upload the **Contoso_Grand_Hotel_Performance_Report.pdf** by selecting the attachment icon (paperclip) in the chat input area and choosing the file from your local machine.
4. Upload the **Contoso_Grand_Hotel_Performance_Report.pdf** by selecting the plus then the attachment icon (paperclip) in the chat input area and choosing the file from your local machine.

#### Prompt 1: Executive briefing with root-cause analysis

Expand Down Expand Up @@ -642,14 +637,12 @@ Use the Analyst agent to perform a detailed ROI analysis with NPV, IRR, and disc

1. Navigate to [Microsoft 365 Copilot](https://m365.cloud.microsoft/chat/?auth=2&home=1).

2. Select the **Analyst** agent. You can find it by:
- Selecting the agent picker and choosing **Analyst**
- Or typing `@Analyst` in the chat input area
2. Select the **Analyst** agent.

> [!TIP]
> The Analyst agent is another **frontier agent** in Microsoft 365 Copilot. While Researcher excels at reasoning and synthesis, Analyst is purpose-built for **data-heavy work** — extracting tables from documents, performing calculations, building models, generating visualizations, and producing structured outputs like Excel files. Think of Researcher as your strategic advisor and Analyst as your financial modeler.

3. Upload the **Contoso_Grand_Hotel_Performance_Report.pdf** by selecting the attachment icon and choosing the same file you downloaded earlier.
3. Upload the **Contoso_Grand_Hotel_Performance_Report.pdf** by selecting the plus then the attachment icon and choosing the same file you downloaded earlier.

> [!NOTE]
> You're using the same PDF from Use Case #3, but with a completely different agent. This demonstrates how different frontier agents can extract different types of value from the same source document.
Expand Down
Binary file modified labs/agent-builder-m365/images/add-files.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/agent-builder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/correct-copilot-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/declarative-agent-test.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/logged-in-user.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/m365-copilot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/sales-data-analysis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/sales-policy-question.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified labs/agent-builder-m365/images/simple-copilot-search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 8 additions & 21 deletions labs/agent-builder-sharepoint/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,45 +109,34 @@ Build a specialized agent with SharePoint integration and advanced AI capabiliti

1. Navigate to [Microsoft 365 Copilot Chat](https://m365.cloud.microsoft/chat/?auth=2&home=1) and go to the **Chat** tab.

2. On the side pane, expand **Agents** and select **Create agent**.
2. On the side pane select **New agent**.

3. When prompted to **describe the agent**, use this specific prompt:
3. In the **describe the agent** chat, use this specific prompt:

```
You are a Sales Admin Assistant. Your job is to help sales managers track revenue and identify trends across product lines. You understand product hierarchies, time periods (e.g. quarters, fiscal years), and sales metrics. Users can ask questions like 'Graph the sales for the last 2 years with a breakdown per product line and quarter'. You always respond in a friendly and professional tone, aiming to be helpful and insightful.
```

4. **Confirm** the suggested agent name when prompted.
4. Go to the **Configure** tab.
5. Locate the **Knowledge** tile and add the files you just reviewed as sources.

5. Go to the **Configure** tab

<!--
![alt text](images/knowledge-files.png)
Commented out; screenshots need update due to CPS updates. Last minute change to labs required so will do at a later date
> [!TIP]
> If you can't see the files you just opened, an alternative approach is just to **paste** and **add** the SharePoint URL of the Sales folder.
>
> ![alt text](images/sharepoint-url-fallback.png)
-->

6. Under **capabilities**, enable:
- **Code interpreter** (for data analysis and chart generation)
- **Image generator** (for creating visual content)
- **Create documents, charts, and code** (for data analysis and chart generation)
- **Create images** (for creating visual content)

#### Finalize configuration

6. Navigate to the **Configure** tab to review and refine:
6. Review and refine the following:
- Agent name and description
- Instructions
- Starter prompts

#### Configure knowledge sources

7. Now head over to the **Knowledge** section
- Under **Knowledge**, select the **Search bar**
- Go to the **Files** tab.
- Select both the **Sales Policy Document** and **Sales** documents
- You will see them being added as SharePoint documents

> [!TIP]
> - If you can't see the files you just opened, an alternative approach is to **paste** and **add** the SharePoint URL of the Sales folder.
Expand Down Expand Up @@ -213,9 +202,7 @@ Design a professional badge for the first place winner of our 2026 sales contest

8. Select **...** next to your agent name in the side bar navigation, and choose **Edit**

9. Select the Sales agent you created

10. In the **Configure** tab, explore additional **knowledge** capabilities:
9. In the **Configure** tab, explore additional **knowledge** capabilities:
- All **Websites** (or specific websites)
- All **SharePoint** data (or specific files or sites)
- All **Teams** data (or data from specific group chats, meetings, or channels)
Expand Down
53 changes: 26 additions & 27 deletions labs/ask-me-anything/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Create an 'Ask me anything' agent for your employees

Empower employees with answers that matter – Build an intelligent agent that connects to your knowledge and data.

Build an agent that answers employee questions using your organization's knowledge and data.
---

## 🧭 Lab Details
Expand Down Expand Up @@ -144,7 +143,7 @@ Create a new agent with SharePoint knowledge integration that provides grounded,

### Step-by-step instructions

1. Navigate to the Copilot Studio home page at [copilotstudio.microsoft.com](https://copilotstudio.microsoft.com/)
1. Go to the Copilot Studio home page at [copilotstudio.microsoft.com](https://copilotstudio.microsoft.com/)

2. Go to the Solutions menu (located in the left-hand menu under the ellipsis …)

Expand All @@ -160,14 +159,14 @@ Create a new agent with SharePoint knowledge integration that provides grounded,

8. Go to **Knowledge**

![alt text](images/knowledge-sharepoint.png)
![Copilot Studio "Add knowledge" dialog with SharePoint option highlighted](images/knowledge-sharepoint.png)

9. Select **SharePoint**, and paste the SharePoint Knowledge URL and select **Add**.

> [!IMPORTANT]
> * For configuration, use the provided values in the **Lab Resources** (specific per training).

10. Choose **Add**
10. Select **Add**

> [!TIP]
> - If an error appears after adding the SharePoint URL, click "Browse items" and then "Confirm selection".
Expand Down Expand Up @@ -276,7 +275,7 @@ Make the agent available in Microsoft 365 Copilot for your users.

8. Select **See agent in Microsoft 365**

![alt text](images/m365-copilot-channel.png)
![Copilot Studio agent published to Teams and Microsoft 365 Copilot channel successfully](images/m365-copilot-channel.png)

9. In the **Microsoft 365 Copilot** experience, the agent description will pop up. Select **Add**

Expand Down Expand Up @@ -340,13 +339,13 @@ Let's start by asking for the user country at the beginning of the conversation.

<!-- replacing with instrucftions on how to do this on message received, so it works in M365 channel too

2. Now, in your 'Ask Me Anything' agent, go to the **Topics** tab, and then to the **System topics** tab.
2. In your 'Ask Me Anything' agent, go to the **Topics** tab, and then to the **System topics** tab.

3. Open the **Conversation Start** topic

4. At the beginning of the topic, right after the **Trigger**, add a new node **(+)** and choose **Add a tool**.

5. Go the **Connector** tab, and search for `Microsoft Entra ID Get user`
5. Go to the **Connector** tab, and search for `Microsoft Entra ID Get user`

6. Select the **Get user** connector action and **Submit**.

Expand All @@ -363,7 +362,7 @@ Let's start by asking for the user country at the beginning of the conversation.

8. Toggle the **End user authentication** to **Agent author authentication**.

9. In the **Inputs** tab, for **User Id or Principal Name**, select `...`, go the the **System** tab, and select **User.Id**.
9. In the **Inputs** tab, for **User Id or Principal Name**, select `...`, go to the **System** tab, and select **User.Id**.

![alt text](images/select-user-id.png)

Expand All @@ -377,19 +376,19 @@ Let's start by asking for the user country at the beginning of the conversation.

4. At the beginning of the topic, right after the **Trigger**, add a new node **(+)** and choose **Add a tool**.

5. Go the **Connector** tab, and search for `Microsoft Entra ID Get user`
5. Go to the **Connector** tab, and search for `Microsoft Entra ID Get user`

6. Select the **Get user** connector action and **Submit**.

![alt text](images/add-tool-connector.png)
![Get user Microsoft Entra ID connector tool in Copilot Studio flow editor](images/add-tool-connector.png)

7. In the **Get user** node, select `...` and **Properties**

8. Toggle the **End user authentication** to **Maker-provided credentials**.

9. In the **Inputs** tab, for **User Id or Principal Name**, select `...`, go the the **System** tab, and select **User.Id**.
9. In the **Inputs** tab, for **User Id or Principal Name**, select `...`, go to the **System** tab, and select **User.Id**.

![alt text](images/select-user-id.png)
![Microsoft Copilot Studio Get user action with User.Id system variable selected as input](images/select-user-id.png)

10. Test if everything is working as expected by **refreshing** the conversation test pane.

Expand All @@ -399,9 +398,9 @@ Let's start by asking for the user country at the beginning of the conversation.
Hello!
```

15. Navigate to the **Topics** tab, open the **Conversation Starts** topic, and to see what values are returned from the connector, enter the **Variables** pane in the topic command bar. Go the **Test** to see the variable values at runtime (i.e., as you are testing in the conversation test pane).
15. Go to the **Topics** tab, open the **Conversation Starts** topic, and to see what values are returned from the connector, enter the **Variables** pane in the topic command bar. Go the **Test** to see the variable values at runtime (i.e., as you are testing in the conversation test pane).

![alt text](images/variables-pane.png)
![Variables panel open with Test tab selected, showing Topic variable GetUser of type record](images/variables-pane.png)

16. Select **Value** under the **GetUser** record, and **expand** it to see if the expected value was returned.

Expand Down Expand Up @@ -453,7 +452,7 @@ Use this tool for questions about leave policy, time off, etc.
> - Use the formula provided in the **Lab Resources** (specific per training).
> - Notice how the formula concatenates the SharePoint URL with the office location, effectively using context to target the correct source and location for the content.

![alt text](images/sharepoint-formulas.png)
![Copilot Studio topic editor configuring SharePoint data source with a dynamic formula using office location variable](images/sharepoint-formulas.png)

27. Select **Insert** once done, then **Save** your topic

Expand Down Expand Up @@ -481,7 +480,7 @@ Always append the user country () in knowledge search queries (e.g., "<question>

32. We need to set the variable value in-between the parenthesis. **Type** `/` and select **Power Fx**.

![alt text](images/instructions-formula.png)
![Power Fx option highlighted in Instructions panel dropdown menu](images/instructions-formula.png)

33. **Type** `Global.GetUser.officeLocation` and select **Insert**

Expand Down Expand Up @@ -539,7 +538,7 @@ This use case demonstrates **agent scoping** principles:

2. Go to the **Agents** tab, and **+ Add an agent**

![alt text](images/add-agent.png)
![Choose how to extend your agent dialog with 'Create an agent' option selected](images/add-agent.png)

3. Update
- Its **Name** to: `IT Support Agent`
Expand All @@ -560,7 +559,7 @@ This use case demonstrates **agent scoping** principles:

5. Select **ServiceNow**

6. Choose the **ServiceNow** connection under **Your connections**, and **Next**
6. Select the **ServiceNow** connection under **Your connections**, and **Next**

8. Select **Knowledge** as the knowledge source.

Expand Down Expand Up @@ -588,9 +587,9 @@ This use case demonstrates **agent scoping** principles:
> [!IMPORTANT]
> In production scenarios, you may want to use the user context when making the connection to ServiceNow. Here, your context (as the author) is used by end-users of your agent when searching for incidents.

8. For **Record Type**, under **Fill using**, choose **Custom value** and choose `Incident`
8. For **Record Type**, under **Fill using**, select **Custom value** and select `Incident`

9. Select **+ Add input** and choose **Query**
9. Select **+ Add input** and select **Query**

10. Next to **Dynamically fill with AI**, select **Customize** and use this for **Description**:

Expand All @@ -604,7 +603,7 @@ This use case demonstrates **agent scoping** principles:

11. Select **+ Add input** and choose **Limit**

12. Under **Fill using**, choose **Custom value** and set **1**
12. Under **Fill using**, select **Custom value** and set **1**

13. Select **Save**

Expand All @@ -624,7 +623,7 @@ This use case demonstrates **agent scoping** principles:
> - Creates user-friendly responses with proper formatting
> - Combines ServiceNow data with other knowledge sources when needed

![alt text](images/multi-agent-servicenow.png)
![Copilot Studio activity map showing IT Support Agent handling USB troubleshooting and ServiceNow ticket query](images/multi-agent-servicenow.png)

29. **Observe** how your agent now demonstrates scoped capabilities:
- **Tool Selection**: Automatically chooses the right ServiceNow tool based on user intent
Expand Down Expand Up @@ -688,7 +687,7 @@ In this section, you'll configure any third-party knowledge to enrich knowledge

5. Add a new node > **Advanced**, **Send HTTP request**

6. For **URL**, select `...`, go the **Environment** tab, and choose the **Custom Knowledge Endpoint** variable you had created.
6. For **URL**, select `...`, go the **Environment** tab, and select the **Custom Knowledge Endpoint** variable you had created.

7. **Method**: `Post`

Expand Down Expand Up @@ -719,7 +718,7 @@ In this section, you'll configure any third-party knowledge to enrich knowledge

13. Under **Save response as**, select **Create a new variable**, select the variable name that was created (e.g., **Var1**) and rename it `KnowledgeResults`.

![alt text](images/http-request.png)
![HTTP Request action configured with POST method, JSON body using System.Activity.Text, saving results as KnowledgeResults table](images/http-request.png)

14. Add a new node, **Variable management** > **Set a variable value**

Expand Down Expand Up @@ -753,7 +752,7 @@ In this section, you'll configure any third-party knowledge to enrich knowledge
> Notice how the knowledge step returned results that contain citations to a fictitious knowledge base.


![alt text](images/custom-knowledge-source.png)
![Knowledge node response showing vendor update steps with 3 referenced sources highlighted](images/custom-knowledge-source.png)

---

Expand Down Expand Up @@ -840,7 +839,7 @@ Use this tool to help users with meeting notes

14. **Save** your prompt

![alt text](images/prompt.png)
!Copilot Studio AI prompt node "Meeting AI Notes" with GPT-4o model returning JSON meeting data](images/prompt.png)

14. **Save** the topic.

Expand Down
Loading
Loading