DEV Community

Cover image for Copilot Studio Agents, The New Excel
david wyatt
david wyatt Subscriber

Posted on

Copilot Studio Agents, The New Excel

Ive tried to keeep off the hype train, Copilot is cool but I never thought it would live upto what everyone was saying. And now I have changed my mind, but for the strangest of reasons, and something I think is so cool.

copilot studio agents

The continued expanse of features for all the Copilots is not why I think it will be massive, in fact its the opposite, its the most simplist of the Copilots.

  1. What Is It
  2. Why Its Cool
  3. How To Make One

1. What Is It

Copilot Studio Agents are the new Copilot on the block (for now anyway), and they sit at the bottom of the Copilot Pyramid:

  • Copilot Studio Agents
  • Copilot Studio
  • Azure Bots

In a nut shell they are a powerful search, integrated with your Microsoft world, the public internet, wrapped in a LLM.

Its split into 2 types (but the line is very blurred), Agents and SharePoint Agents. They are the same with only 3 differences:

Licenses
Agents require a Copilot Chat license (setup with tenant PAYG), SharePoint just a SharePoint access (again setup with tenant PAYG)
Both are included with M365 Copilot

Where to Acces
Agents through Copilot Chat or Copilot Studio, SharePoint through SharePoint and Teams (though remember OneDrive is SharePoint under the hood so works as a link to a web page).

Features
Agents are a lot more powerful, with General web content, Graph connectors and SharePoint. SharePoint is same without General Web.

Unlike full Copilot Studio bots, Agents use the BizApp Copilot Agent. This is similar in architecture to Logica Apps/Power Automate Flows. With a parameter/config file used, so one engine, but with lots of input parameters.

2. Why Its Cool

3 main reasons,

  1. In my experience is covers 75% of most chatbot use cases, finding data has always been challenging, and with more and more data been stored across more and more systems it has become a big drag on productivity. A simple chatbot that can hit only the data sources you want (with access to your personal data) will be a game changer.

  2. As you saw it says you need PAYG tenant, this is for Graph connectors but not general web. Having targeted websites for free is great, and not paying up front for unused messages could be a win, depending on how much they are (this is the only thing that could torpedo agents, if using SharePoint is too expensive, and I have seen 30 messages mentioned, lets hope I'm wrong).

  3. They are so easy to build and share. Agents are saved as a .agent file, which is just a simple JSON file, with the following keys:

  • conversationStarterList - pre loaded prompts to click
  • welcomeMessage - bots first line
  • capabilities - SharePoint sites, websites, graph connectors etc
  • instructions - prompt
  • description
  • name

declarative-agent-manifest-1.0
declarative-agent-manifest-1.2

The Copilot Studio Agent Builder isn't generally available yet, but it can't be that complicated with such a simple schema. SharePoint Agents are even easier, with the site prepopulating most of it.

3. How To Make One

Copilot Studio Agents are not generally availble yet, but SharePoint Agents are, and it gets better 😎.

As I said they are pretty much same as each other, with the big negative for SharePoint being it cant access public web, or can it. Thats right, a simple update to the JSON and it worked. I was even able to remove the SharePoint sites and run it purely on external sites.

I just removed:

  {
                    "items_by_sharepoint_ids": [
                    ],
                    "items_by_url": [
                        {
                            "list_id": "00000000-0000-0000-0000-000000000000",
                            "name": "Your site",
                            "site_id": "c5ba343c-e32b-4639-b3a2-c2792336a44a",
                            "type": "Site",
                            "unique_id": "00000000-0000-0000-0000-000000000000",
                            "url": "https://sharepoint.com/",
                            "web_id": "26702b0c-dc2b-4ec9-a0a6-237f238ebb44"
                        }
                    ],
                    "name": "OneDriveAndSharePoint"
                }
Enter fullscreen mode Exit fullscreen mode

and added

{
                    "name": "WebSearch",
                    "sites": [
                        {
                        "url": "https://dev.to/wyattdave"
                        }
                    ]
                }
Enter fullscreen mode Exit fullscreen mode

Though you could leave SharePoint too.

Heres the full agent I created (with the icon base64 removed, else would fill up the screen.

{
    "customCopilotConfig": {
        "conversationStarters": {
            "conversationStarterList": [
                {
                    "text": "What is the most recent blog"
                },
                {
                    "text": "What are the featured blogs"
                },
                {
                    "text": "Tell me how to create Snake game in a Power App"
                }
            ],
            "welcomeMessage": {
                "text": "Welcome! Learn all about the Power Platform."
            }
        },
        "gptDefinition": {
            "capabilities": [               
                {
                    "name": "WebSearch",
                    "sites": [
                        {
                        "url": "https://dev.to/wyattdave"
                        },
                        {
                        "url": "https://dev.to/wyattdave/series"
                        },
                        {
                        "url": "https://powerdevbox.com/blog.html"
                        },
                        {
                        "url": "https://community.powerplatform.com/blogs/post/?postid=a24ab9e4-3dc3-47dc-95a6-f253696f2e51"
                        },
                        {
                        "url": "https://community.powerplatform.com/blogs/post/?postid=3ebe68b7-fd0a-4547-8624-e020fd395192"
                        },
                        {
                        "url": "https://community.powerplatform.com/blogs/post/?postid=0beea6ba-e381-4d7b-983e-0e47bc0d5a8a"
                        },
                        {
                        "url": "https://community.powerplatform.com/blogs/post/?postid=e62d2874-3d13-457a-8ef3-e3f1e0a83443"
                        },
                        {
                        "url": "https://community.powerplatform.com/blogs/post/?postid=f641c398-feae-4d84-b9d3-d9f6aab5607a"
                        }
                    ]
                }
            ],
            "description": "This is an agent curated based on the content from David Wyatts Blogs.",
            "instructions": "Provide helpful, accurate, and relevant information while speaking in a posh british accent.",
            "name": "Wyatt Dave Blogs"
        },
        "icon": "data:image/png;base64,iVBO...
  },
    "schemaVersion": "0.2.0"
}
Enter fullscreen mode Exit fullscreen mode

To use it I just uploaded it to OneDrive, shared the file, and copied the link. If you open the link it opens in its own window, if you share in Teams you can add it to a chat and use it there.

To make life easier I have even spin up my own Copilot Studio Agent Builder, simply fill in the inputs, upload icon and click download to get your own .agent file.

agent maker

https://powerdevbox.com/agent generator.html


So why do I think its such a big deal, and for me its because just like Excel, everyone can, and will be building these agents. I can see just everyone have a personal agent, that pulls just their data, they could have one for each project they are working on, a team one, a role one, the scope is endless.

If you have M365 copilot then it's all good, but if not there are a few negatives.
From a admin side, the PAYG tenant setting. This feels like if you are not careful you could get hit with some big bills, and as with all things Micrsoft, monitoring and governance controls will come later.
Second the cost, having SharePoint charged as PAYG could become crazily expensive (especially 30x normal message).

Also if you have a M365 Copilot, feel free to try out my agent here.


I've had a few requests for a mailing list to alert new blogs, if you would like to get notified every new blog (I also do a few in the Power Platform Community), subscribe below

You will be pleased to know I built the mailing system myself in Power Automate, so if it doesn't work you know why 😎

Top comments (2)

Collapse
 
alex_mcla profile image
Alex McLachlan

Hi David, I noticed in the sites definition above, specific pages are listed. Is there a way of enabling the agent over the whole of a website - the equivalent of a recursive .?

Collapse
 
wyattdave profile image
david wyatt

Not that I know of, I think they are designed to targeted, though they do cover all sub domains.