Creating Copilot Agents in SharePoint Deep Dive w/ Microsoft
Copilot Agents in SharePoint is a GAME CHANGER! Join Microsoft MVP Vlad Catrinescu and Microsoft’s own Alex Terentiev and Sébastien Levert! In this video you will learn everything you need to know on Copilot Agents in SharePoint!
Watch my 80+ courses on Pluralsight
Video Summary
- Creating Custom Copilots: Demonstrates how to create custom Copilot agents directly from SharePoint, grounding them to specific data sources like sites, document libraries, folders, and files.
- User-Friendly Interface: The process is designed to be user-friendly with no coding required, allowing users to create and customize Copilots through a point-and-click interface.
- Permissions and Sharing: Copilot files can be moved, shared, and have permissions set, ensuring only authorized users can edit the Copilot while others can still use it.
- Integration with Copilot Studio: For advanced customizations, users can transition their Copilot to Copilot Studio for more complex configurations and integrations.
- Feedback and Future Development: The team encourages users to share feedback to help shape the future development of custom Copilots in SharePoint.
For more information, read the transcript blog below, or watch the video above!
Video Transcript
Hello everyone and welcome to this episode on creating custom Copilot from SharePoint. In this episode, I am again joined by my co-presenter, Seb. How are you doing, Seb?
Seb: Doing amazing! We’re talking SharePoint today. I love that. We both came from the SharePoint world, and we’re both doing Copilot right now, so it’s like our two loves coming together. But we actually have a special guest for this episode, Alex Terentiev. How are you doing, Alex?
Alex: Good, good. Thank you for having me. How are you guys?
Seb: We’re doing great. Like you said, I think all three of us come from a SharePoint background. You two more from the dev side, and I come more from the IT pro side, so I was the one blocking your stuff from going into production for various reasons. But it’s fun that all three of us are back here together. Now, Alex, can you please introduce yourself for those who do not know you?
Alex: Yeah, sure. My name is Alex Terentiev. Currently, I am working as a senior software engineer at Microsoft, mostly tech leading the SharePoint framework as a platform—web parts, adaptive cards, extensions, etc. But in addition to that, and that’s probably why I’m here, I’m working on creating custom Copilot from SharePoint. So yeah, I’m working on this feature from the platform side as well, and we’ll be showing some cool demos today.
Seb: Awesome. Even if you are a super advanced dev or a pro developer, as we use the word now, I think today we’re not going to touch a single line of code. Everything is going to be out of the box, just point and click, right?
Alex: Yes, that’s right. Today we are talking about end-user experience.
Seb: Awesome. Alex told us no slides at all, so Alex, I will give you the stage here. Your screen is now live. Go ahead, show us what you’ve been working on. I’m really excited to learn more.
Alex: Yeah, sure. First of all, for those of you who joined or watched Build, the part that I’ll be demoing today was part of Build as well, and Jeff Teper was demoing this live too. So even during Build, it was not a recording, which is great. It’s live code, and now it’s live code as well. Today we are talking about the ability to create custom Copilot from SharePoint. When I say custom Copilot, you can create a custom definition with an icon and title that represents your Copilot. You can ground it to specific data, and SharePoint is basically where your data lives. You can use either sites, specific document libraries, folders, files, whatever you want, whatever information is specific to your scenario. Create Copilot based on that, share it with other people, and use it for your use cases.
Here, I’m on a standard SharePoint site on the homepage. In the new menu, you have “New Copilot” right in front of you. If I click on that, it will show you the beautiful UI, but I want to focus on scenarios that this is not only available on a page. You can go to a document library as well. Any document library on the site, you see “Create a Copilot” in here as well.
For example, I have predefined a folder in here with some diabetes data. I selected a folder, clicked on “Create a Copilot,” and it will show, “Hey, your new Copilot is basically ready to use,” and it’s already grounded to this specific folder, to the specific files inside this folder. I can click on “Try it” right away. It will open the sidecar with your Copilot ready in there, and hopefully, everything is working fine. Again, it’s a live demo, I’m not cheating.
In addition to that, you’ll be able to select other different Copilots that you potentially have. I don’t have any Copilot right now on this site, but if you have a bunch of Copilots, admins can approve specific Copilots for this site. You can create multiple Copilots on this site, so all of them will be listed in this beautiful UI. You will see what Copilot is created by default and approved for this site, so everything is pretty good from a UX perspective. But let’s focus on these—oh, by the way, it’s working, actually working.
From here, you can go and edit this Copilot, and this is the actual UX experience we are using. You can specify the name for the Copilot, the icon for the Copilot, and the description. This is your identity; this is how you define your Copilot. This is what will be visible in the UI, and this is how other users will understand what this Copilot is about.
In the sources tab, you can select multiple sources. As I mentioned, right now we just created the Copilot based on the diabetes folder, but you can select additional items from the site. For example, live demo again. Okay, so we are in the documents library. You can go inside this folder, select specific files if you want. You can go to the site.
If you have multiple document libraries, you will see all of them in here, so select whatever is specific for this Copilot or this use case. In addition to that, you are not limited to this specific site where we are creating the Copilot. I can go to CPS Avalon, I believe this is the name of the site. That’s all. No, Avalon. Okay, Copilot Studio Avalon. You can select another site. Again, you can source to the whole site or in the same way, you can select specific document libraries, files, etc., from all other places that are available to you.
One thing to mention here, everything that you’re seeing here, like searching for sites, selecting files, all is based on permissions as always. We are using the same engine as SharePoint uses, so basically, you will not see any files or folders or sites that are not shared with you. The same is with the usage of the Copilot. Other users, when they are using the Copilot that you are creating, they will not have access to the information in the files that are not shared with them. Everything is secured. The last tab we have here is behavior.
This is basically, if you’re familiar with GPTs, this is more specific. For example, the instructions for Copilot are specific, like how the Copilot will behave. You can add funny stuff like “talk like a pirate” and add “Aye, captain” at the end of the sentence, this kind of stuff. Starter prompts you will see here. Let me change something just to show you that it’s all live. Summarize all the files from this Copilot. I’m sure admins will love everybody that will say “Aye, captain” at the end of every Copilot message.
As you can see, we have a live preview in here, so everything you are doing, you can test before actually saving or publishing it. That’s how you work with the Copilot. We will, as usual, show you that something is not saved. Yes, I want to go away from here. The good thing about this Copilot and any other custom Copilot that you are creating is that it’s a file. As you can see, it’s created in the same context where you are.
Basically, you were in this document library, your Copilot will be exactly in the same place. For example, if you have some folder that is specific to your small team inside your department or something like that, you’re using the same team site, but your documents are specific in this document library, in this folder, and this folder is shared with your team, for example, your Copilot will be created in the same folder and will be accessible by the same people and grounded on the same data. Everything is pretty cool about the permissions and the context of the Copilot that you’re creating.
Seb: Hey Alex, let me ask you a quick question. Sorry to interrupt. Can I move it? Can I, for example, as an admin, create a document library called “Custom Copilot,” go here, and then after you create it, just move it into another library? Would that be supported?
Alex: Well, right now you can use the standard functionality that we already have. You can use “Move to” that is available for any file, and again, because Copilot is just a file, you can do whatever you want in the same way as you’re doing with any other file in the document library.
Seb: Okay, yeah. As you would expect, if you click on the file, like if you click on a Word document, you will see Microsoft Word opening. If I click on the Copilot file, you will see the sidecar is opening, and you can interact with your Copilot. Another thing I want to show you, and by the way, because it’s a file as well, you can, of course, share it. If you share it, you can copy the link, you can paste this Copilot to the Teams chat, for example.
I don’t have a live demo right now, but we will support Teams and sharing links in Teams. Basically, as soon as you share this link for the Copilot to Teams, it will be added as a Copilot in the conversation, and all members in the conversation will be able to use this Copilot in Teams. But today, I want to show you how to go to the next level, and this probably will be the topic for the next conversation between you, Vesa, and Sebastian. Here in this UI, you have this “Add Advanced Customization in Copilot Studio” button. When you click on it, you are redirected to Capela Studio.
You have all the data predefined already. We have a little back with the icon right now, but you have the same name, description, instructions, everything that we had in the kilot inside SharePoint. You have that in the Copilot Studio. You can create it, and after that, basically, Copilot Studio will be in control of your capil. So, in the file, if you click on the file, we will actually see that, hey, this Copilot was edited in the kilot studio, and please go there and do your advanced optimization in Copilot Studio. This is how we are envisioning the whole ecosystem together.
It’s not only about SharePoint and custom compilers inside SharePoint, but we are thinking about how to expose this scenario of advanced customizations available in Copilot Studio as well. When I change something in Copilot Studio, does it write it back to that same Copilot file in SharePoint, or does it create a separate Copilot for lack of a better word? That’s a great question. If you start changing something in Copilot Studio, after that, Copilot Studio is in control of the kilot or GPT, and our kilot file will basically just have a reference to the kilot studio kilot with all the additional customizations that will now live not in the file itself, not in our schema of the file, but in the Copilot Studio.
Right now, how do you open it, by the way, if you don’t see the Copilot file? If I go to the homepage, how can I open the Copilot? Is there a… Oh, sorry, the button was not big enough. It was not, you know, right there. I guess it takes some getting used to because, again, I don’t have access to that functionality yet. But now that you clicked on it, I was like, okay, well, that was obvious. Yes, yes, it’s all there. So it will be in the suite, wherever, like, page you’re on, document library, list, site contents, it doesn’t matter. Everywhere you will have this Copilot button. And in the Copilot, you will have a picker where you actually can select different Copilots, and not only from this site but from other sites as well, if you are the author of these Copilots or you are frequently using the Copilots.
That is awesome. Seb, by the way, I’ve been the one asking all of the questions. Do you have any questions, any opinions on where this fits inside all the different theories that we have together? It fits absolutely flawlessly within the rest, right? It’s really kind of the easiest way to get started with getting documents, getting grounding, start asking questions from a Copilot standpoint. So definitely, I think that is a strong thing. So maybe one question for you, Alex, is as you’re deploying these, are these currently showing up in the Copilot app in Teams or Copilot app in Office.com or whatsoever?
Are they also participating in the rest of the custom Copilot ecosystem, like declarative Copilots, custom engine Copilot, and so on? Yeah, great question. Right now, the answer is no, but it’s in the roadmap as well. So basically, when we go live with the first step, which is basically to create custom Copilot for SharePoint inside SharePoint, in the roadmap, we definitely have integrations with the M365 Copilot chat, Teams, etc. So these Copilots, at some point—and I don’t have an ETA, nothing like that—but yeah, in the roadmap and in our ideas, we have that, hey, this is published and available everywhere, not only inside SharePoint.
Yes, and one last question here. At the beginning, you said that you are both an engineer on the SPFx platform side but also on this specific thing. So for SharePoint-provided Copilots or for SharePoint custom Copilots like you’ve shown us today, what is the pro-dev story? Is there something that SPFx will take on? How do you deploy that as part of a solution, as part of a package, so on and so forth? Is that something you guys are thinking about? Yes, we are thinking about different potential approaches that we can proceed with. I would say I can’t share anything specific except for one thing that was also shared during the build. During the build, we shared that, hey, for example, you have an ACE (Adaptive Card Extension) that is added to your dashboard in Viva Connections. And if this is done, you will be able to communicate to this Adaptive Card Extension from the Copilot inside Viva Connections or inside SharePoint.
So basically, let’s assume you have some, like, I don’t know, price card or something like that. And in the Copilot, as I showed you today, you’ll be able to do, like, hey, show me the price card or something like that and interact with this card in the same way as you would do in Viva Connections. So this is the first part that was showcased during the build. We are working on that. Regarding all other integrations, we are definitely interested in third-party scenarios. We still need to figure out what exactly will be done by us and with this part of the story because there is also Copilot Studio, which is more advanced customizations.
There are ways to create your custom GPTs using different schemas as well and integrate them in Microsoft 365 Copilot and chat. So we should be part of the ecosystem, and that’s why we don’t have specific plans for what will be part of the SPFx at that moment. Awesome. I guess we’ll talk more then. Yep, yeah, I’m sure this is something that will evolve a lot over the next 12 months, especially in this fiscal year, so I’m really looking forward to it. But Alex, while Seb was asking questions about the Dev side, an IT question came to mind. So, you said that the Copilot file you store IDs in, could I open that file with Notepad++ or can I open it in Notepad and create my own Copilot from Notepad instead of going through the interface? The reason that I’m asking is I was wondering if, as part of my own custom provisioning engine, I could automatically deploy a Copilot with each site that I create based on all the data on the site. So, that’s kind of the reason why I’m asking it.
Yeah, so the file is not binary, it’s just a JSON configuration inside. So technically, you can open it with Notepad and do some configurations in there. However, right now it’s unsupported and even the schema of the file is not public, and it may change in the future because right now we are still shaping what will be available, how it will work, etc. So, as with many features inside SharePoint, you can do something, but I would not recommend you doing that right now.
Okay, there are so many of those features that you can do it, but you shouldn’t. Yes, okay. And then one final question: can I change the permission on the file? Let’s say, again, I’m thinking as an admin, right, where I don’t want people breaking anything. I create a Copilot, by default I guess everybody that is a member would have access to modify it, but I want to break permission so that they only have access to view it. Can people that have view permissions on the file still use that Copilot?
Yes, they can use it, but they will not be able to edit it.
Yes, okay, that is really awesome. So maybe in the future, depending on the company of course, they might create those Copilots and then put them in a library with broken permissions that only admins can modify those Copilot files.
Yes, yes, that’s completely correct.
Okay, awesome. That’s really awesome. I’m learning a lot here today. I know it’s super early in the technology, I can’t wait to use it myself. Any final thoughts, Alex? Anything else you want to share for today about this whole feature you’re working on?
Yeah, sure. So, although I’m on the Dev side of things and not on the PM side, we really will need feedback on this feature. During the build, we announced that customers can submit forms for the private preview, then we will go to public preview as usual. Please, please, please share feedback with us. Share how you want to use it, how admins want to control it, disable, enable, what we discussed today, and other scenarios as well. Because, as you mentioned, we are still shaping the product and there is a long road ahead. This product will be better for all of us if we have this feedback.
Awesome, thank you so much, Alex. I really appreciate your time today. I think this is one of the first videos out there since Build where we get to see it in action, so I really appreciate you taking the time today. Thank you so much for watching this video. Don’t forget to like, subscribe, and see you in the next one. And Alex, thank you so much again for taking the time to be with us today.
Yeah, sure, thank you for having me. Bye-bye everyone.
