00:00[Music] Yes, today we're going to see how we can create custom agents with Copilot Studio, so that we can base those agents on files and content that we have in SharePoint Online
00:15So, uh, first of all, and very quickly, uh, what is an agent? Because we keep on talking about agents, but maybe people don't know what an agent is, which is totally legit
00:23So, an agent is, uh, or can be defined as an intelligent assistant which helps you to enhance the Copilot experience for your end users, providing a specific context or scenario, so that rather than having a generative AI system like Microsoft Copilot, which will give you a Answer based on the whole knowledge base available in the whole tenant of your Microsoft 365 ecosystem can give you an answer, can give you content based on specific context and scenarios, so that you can have a specialized version of Copilot, which is called nowadays agent, and the beauty of this kind of extensibility model is also that it is uh simply integrated with the tools and workflows that you uh use to uh creating your own solutions nowadays
01:12So uh, that said, when we uh think about how we can create agents uh on top of SharePoint Online files, libraries, or sites, there are multiple options available
01:25One uh set of options is the one of options for end users experience, so you are an end user, you're not a maker, you're not a developer, you're just a regular end users, and you can rely on the agent Builder or in on the custom agent for SharePoint, and we will have a quick uh look at those options in this demo
01:45Then, if you are a maker, you can use Copilot Studio to uh have a no code, low code approach to the creation of an agent, and last but not least, if you wear the hat of a developer, uh so you want to use a proc code tool, you can use the Teams toolkit uh to create declarative agents, or eventually you can use um steel Visual Studio
02:08Code and the team toolkit to create custom engine agents, which will give you the maximum capabilities in terms of extensibility and customizability of your solution
02:22Now, in this demo, we will mainly focus on Copilot Studio, but I will give you a quick overview also of what you can do with the agent builder and with the agent in SharePoint
02:31So let me move to the actual demo, and let's see what we can do in practice
02:37So here I have my Copilot, my FY Copilot, in my demo tenant, and whenever we use Copilot, on the right side, we have the capability to leverage a set of agents, as you can see right here, we have some
02:54Out of the box agents, right now, we have the visual creator one, and then we can have a bunch of custom agents that we can create, and from an end user point of view, you can also search and browse a marketplace of agents that you can simply install and make available in your user experience, or you can create an agent from scratch using this so-called agent builder experience, and here you can either use the descriptive approach, so you just describe what you want to have using natural language, and the generative AI will understand your intent and create an for you, or you can use the configuration option
03:31Which will allow you to uh configure step-by-step information, like of course a name and an icon and description, but the set of instructions, which will be a set of system prompts that you will provide to your um foundational model and to Copilot to get a specific behavior out of your custom agent
03:52You can specify a set of knowledge bases, like for example, a SharePoint site
03:58So say that, for example, I have a Contoso HR website where I have content about the HR policies and rules in my company, I can simply add this site as the knowledge base together with eventually additional uh sites, and I can provide um starter
04:15Prompt to help the user interact with my uh custom agent, like for example, hiring uh uh people, and the uh prompt could be, "How can I hire new people?" or stuff like that
04:32Okay, once you are done with the configuration of your uh agent in the UI of the Agent Builder, you will simply find your agent available in the UI of the um custom uh of the custom builder here on the right side, or directly in the UI of uh mify copilot, like I have right here
04:55Another option that you have is to go to a SharePoint online, like this one for example, and nowadays every SharePoint online site does have a readymade uh co-pilot agent, in fact
05:07Right here, in the upper right side of the screen, we have the Copilot icon when we are in a SharePoint Online site, and we always have an already made agent built for the site in which we are, and here we can provide prompts based on the content that we have on the site, but of course, we can also go to specific context, and that's why I'm talking about agents, own files in SharePoint Online, and you can eventually choose one or more documents or folders that you have in a target repository, and you can click on the create an agent command, and by selecting this command, you can have a new agent created on the fly for you
05:44On the documents that you uh selected, and again, you can just open the agent and interact with the agent that you just created, or you can eventually edit the agent using the uh configuration UI, and you can provide additional settings almost like like before, like for example, providing additional sites, additional documents, and stuff like that
06:04But today, we want to see uh what we can do with an additional tool and with a no code or low code approach using M pilot studio
06:11So let's say for example, that we have couple of site collections like this one, the Contoso HR, and another one which is the Contoso Learning
06:22And we want to create a custom agent to work with the content that we have in these two site collections using a low-code, no-code approach
06:32So with Copilot Studio, if you go to copilotstudio.microsoft.com, which is the entry point URL for Copilot Studio, you can see that we have a web-based, nice-looking UI that we can use to create custom agents
06:45In fact, we have a list of agents that we have already, and I have already created in my environment right here, and we can always create a new agent by clicking on the create button and selecting to create a new agent
07:01By doing that, you can see that the experience looks Almost like what we had before, but we will see that little by little there will be additional capabilities when we use Copilot Studio
07:13For example, let's say that I want to create the, uh, M365 call HR agent, just to give it a name, and we can provide a description: "You are an agent, or an agent helping, uh, employees with HR policies and rules." And then we provide a set of instructions, which will be the, uh, system set of prompts for the, uh, custom agent
07:40So, for example, you can say, "You are an agent helping employees to work with HR rules and policies and to learn, uh, stuff about, about, um, improving career," why? Because I want to add
07:51A couple of knowledge bases
08:02I can click on the ad knowledge, and it can be a knowledge base based on a public website, or on SharePoint, or on tables in Dataverse
08:13And if we switch to the advanced option, we can eventually rely on additional data sources if we want
08:20And let's say that, for example, here I want to rely on a SharePoint set collection, which is the Contoso HR I just showed you before
08:26And in this head collection, I have plenty of documents, not really plenty, but some documents about HR
08:34So I have documents with the hiring procedures, layoff procedures, and stuff like that
08:40And I also want to get the Contoso
08:43Learning, which is yet another set collection that I have, where I have documents about learning, business English, training material for HSSE, and stuff like that
08:52So I want to add this set collection, as well as the other one, the Contoso learning, as the knowledge base for my custom agent
08:58Then I can simply click on the create button, and by doing that, I can, in a matter of two seconds, see that I have an agent which has been built on the fly by Copilot Studio, and which I can customize using all of the capabilities of Copilot Studio
09:16While the agent is still under provisioning, the publish button is not
09:21Available, but as soon as it will be available, we can then publish the agent and start using it
09:28Now, just to give you an idea, the agent is made not only of the instructions that we provide in the description and the knowledge base, and eventually we can add additional knowledge base, like, I don't know, a website
09:38Let's say that we want to use an HR authoritative site, which I actually don't have, and I don't want to promote any site, so I will simply use the Microsoft website for the sake of it, but could be any website of your interest that you want to target as a knowledge base, so I can even mix content from SharePoint and from a website, public website, and once you are done with your agent, of course, you need to publish it to make it available in the infrastructure, and by playing with the settings of the agent and with the capability of the agent, you can, as soon as it will be published, takes usually few seconds, you can have a look at the knowledge base of the agent, and you can eventually improve and update additional data and content, but specifically, you can work with topics, and the topics allow you to create conversation paths in your agent, so that, for example, you can have specific trigger
10:39Conditions, and by triggering those conditions, you will be able to interact with a user with a single-turn or multi-turn conversation to provide content or acquire content from the user
10:52So here you can see we have some out-of-the-box topics available, the system topics to start the interaction, to escalate the conversation if the engine is not able to understand what the user is looking for, or we can create custom topics, for example, from blank or using again a description
11:09So we can say that, uh, acquire employee name, just for the sake of making an example, you can retrieve the name of the employee and show an Adaptive
11:24card with the collected input again
11:29I'm providing a text description of what I want to get, and it will create on the fly topic, which can become an advanced functionality of my of my uh custom agent created with Copilot Studio
11:43You can see here I have the uh question to collect the person's name, and I have an output message which will be an Adaptive card Json to give back to the user the uh collected username, so this is to give you an idea of what you can do inside Copilot Studio
11:59Now let's say that you want to use the agent that you just created, so you can go back right here and you can say that you want to make it
12:08Available through one or more channels, when you do that, one channel for sure is the Microsoft Teams one
12:13So, if you choose Microsoft Teams, you can enable support for this channel, and your custom agent will become available in Microsoft Teams
12:25Again, turn on Teams, works on it for a bit, and once it will be ready, we can get the availability options for this channel, which means that we can get access to it through a direct link, which I'm going to copy right now, or you can make it available through the team store, whether by targeting the whole organization or specific set of users and security groups, or You can even download a zip package that you can, uh, upload in the, um, Teams app catalog eventually, uh, to make it available with specific rules through the manually, through the Teams sub catalog
13:04I copied the link, and I just want to use it from the Teams UI, so I can come here, I can paste the URL, usually takes a while to make it available, so it might be that we, it will not be already available, but I'm lucky enough, so it is already ready, so let me add it, and now I can use this, uh, custom agent as a chat bot in my Teams UI in order, order to get information about the HR policy, so for example, I can say, how can I hire new people in our Company, and by providing this prompt to my uh custom bot, my custom agent, I will be able to get back an answer which would be based on the context and on the content that I have in SharePoint Online, so the files about the hiring procedures that I have in my SharePoint Online site, and here you can see a reference to the hiring procedures file that I have right here in this side
13:59One last thing that I want to show you, just because Visa told me that I can get five minutes more, and so I will, or maybe two or three, is that when you use Copilot Studio, you can also go to the list of agents, and you can uh select the copilot for Max
14:14365 section, and by doing that, you can then from here create agents which will target the user experience of Microsoft Copilot
14:23So this one, what do I mean? Well, you can create a new agent from here, almost like I did before, and I can use again a description-based approach, or I can, or I can just use the configuration
14:29Let's go for that one
14:34So entry 65, uh, call HR agent will be the name
14:40Uh, let's give it a different name just to, uh, understand which one is the right one, and then we can provide a description
14:52Again, helps users and employees with HR related topics, provide information to employees about HR policies
15:07Now again, One more time, we are going to copy the URL of this site that I want to use, oops sorry, as the knowledge base for my custom agent
15:19Let's do that, and just this one for the sake of saving a few seconds
15:27I can add some startup prompts, like, "How can I," or, "Hiring people is the title, how can I hire people?" or, "Improving career, how can I improve my career?" This will be the starter prompt that I want to use in the UI of my custom agent, and I can click on the create button
15:52Once it will be created, I will be able to get a link which I can use to configure as a custom agent in Microsoft Copilot, the agent that I just defined, so let's see, publish
16:07I'm going to publish with the default settings right here, but of course, here you can configure your company name and all the stuff related to your uh development company
16:14And once this step will be done, we will get a link that we can copy and use to activate this custom agent straight into the uh out-of-the-box UI of Mic 365 Copilot
16:31So, a few more seconds and we should be ready, let's see
16:39It takes a bit of time because it needs to do quite some stuff under the cover, but as soon as it will be ready, we can play with our uh custom agent directly in the Mic Copilot UI
16:50And here we are, let me copy the link, let me go back here, paste
16:56The link, and again here, every now and then takes a while to become available
17:00Let's see if we already have it available or not, but hopefully yes, and yes, we do
17:05So let me add it, and I will be back into the native UI of Microsoft 365 Copilot with a custom agent that I created with Copilot Studio, and which becomes available inside the UI of Microsoft 365 Copilot
17:22So let's see if we can see it already, so let me open it from here
17:29So, uh, Microsoft 365 Copilot, and let's see if it is already available or not yet, and yes, we have it
17:35So here we have our custom agent with the starter prompt, "How can I help people?" and I will get back an answer which Is still based on the knowledge base on the content that I have in my SharePoint Online site, and here you can see I have my hiring procedures document inside my SharePoint Online site
17:52I think that's all for me
17:55Thank you, Visa, especially for the additional two, three minutes
17:57I hope, hope you don't mind
17:58So thank you, and back to you.