Welcome to 2025. The year of agents and where "agentic" will be the word of the year for those in the tech world. All the reason to dive into what is coming to start 2025 prepared.
Challenge Objectives
🎯 Understand the Spectrum of Agents
🎯 Know how to build each type of agent and know their capabilities
🎯 Be prepared for 2025
Introduction
During Microsoft Ignite there was a session called The spectrum of agents with Copilot Studio. I love how they explained the different functionalities in Copilot Studio and made them clear with this spectrum. So, what is that spectrum exactly? If you Google on the topic (or use ChatGPT Search), you may find multiple levels of agents. I have added a slide of the Ignite session's presentation below, as I like how it keeps things simple to understand.
I will explain the each tier briefly, to get a basic understanding. I will refer to ChatGPT quite often, as it is they share the same technology, and is used by many of us.
Retrieval
The first level obviously is the most simple one. But to be clear, it is not that this is of less value. We probably all know by now that ChatGPT uses a Large Language Model (LLM) and that the LLM has been trained on public information until a certain period. That is why with the older versions fo ChatGPT you could get no result when you were asking for something that occurred recently. They have now fixed this issue by adding the Microsoft Bing Search index as a knowledge source to the LLM in ChatGPT. It actually has been made into a product named ChatGPT Search.
A retrieval agent is the exact same concept, but on data you add as a knowledge source. Knowledge can come from public websites, documents, SharePoint, Dataverse, or from Enterprise data using Copilot connectors.
Ultimately, this type of agent will use the knowledge you added to formulate an answer.
Task
The second tier adds the capability to act on your behalf towards connected systems. Technically, you add specific APIs to your agent. It uses the description of the actions to determine which action to execute. On the ChatGPT side, you will need to create a custom GPT and create a new action by adding the API yourself. On the Copilot Studio side, we have Connectors, which is a low-code wrapper around an API. Much easier.
There are currently 1500+ actions available in Copilot Studio to add to your agent. You can also add actions from Custom Connectors to your agent, but be aware that your action descriptions are provided.
Ultimately, this type of agent will act on your behalf when you ask it to.
Autonomous
The most advanced version is the autonomous agent, which at the time of writing is is public preview. it can act on your behalf, without the need to ask the agent to do it. It is based on automated triggers, hence the autonomous name.
You will need to provide clear instructions what the agent should do. You obviously need to provide the required knowledge and add the actions it should be able to take as capabilities.
You might think about Power Automate when you hear Automated triggers. Technically, it uses Power Automate to trigger the Agent. But where the path of a Power Automate flow is fully predefined, the path an agent will take is fully dynamic, based on the provided instructions.
Ultimately, this type of agent will act on your behalf as you instructed it.
Creating agents
We will create each type of agent in the remainder of this blog. For learning purposes, we will use the HR onboarding process to see how each type of agent can come into play. For this reason we will create a new SharePoint Communication Site based on the template New employee onboarding. I named my site Employee onboarding.
Retrieval Agent
The site we created has some basic content on it. For the retrieval agent we want the information on this SharePoint site to be used for answering employee queries. A typical retrieval agent.
Create a new agent
Name it Retrieval Agent
Add the just created SharePoint site as knowledge
Enter the following description
This agent is designed to assist new employees during their onboarding process. It provides answers to frequently asked questions, delivers guidance on company policies, and helps navigate essential tools and resources. The audience for this agent includes new hires and team members involved in onboarding, with the end goal of making the onboarding process seamless and efficient.
Enter the following instructions
- Respond clearly and accurately to onboarding-related questions. - Offer step-by-step guidance when explaining processes or policies. - Maintain a professional, friendly, and supportive tone in all interactions.
Create your agent. This can take a few seconds.
I asked ChatGPT to create a description and an instruction for me😊. Before we can use the agent, we have to enable orchestration. If you don't enable this, the agent will determine what to do on trigger phrases known from Power Virtual Agents. based on trigger phrases you have to create manually, the agent will determine what topic to enter. With orchestration enabled, it will also include knowledge and actions and will use the description of knowledge and actions to determine what to do. The actions part is required at step 2 and three, but we are already using knowledge, so this feature should be turned on.
Note that a brief description is provided when we added the knowledge. We kept it as it was for now. When you are adding multiple knowledge sources and actions, providing more detailed description will result in a more predictable orchestration.
This is as simple as it can be to create a retrieval agent. We can start testing it on the right side. As we are using a SharePoint site, we need to ask something that is explained on the SharePoint site to see how it operates. My question is "What are the goals we are working towards".
As you can see, it came up with an answer based on the provided SharePoint knowledge (right section). On the left side, the activity map, you can view the generative orchestration in play. Where you used to see the execution of a topic, you now see what the generative orchestrator came up with. You can see it went over the knowledge sources to come up with the response. Exactly what we wanted.
You could now publish and deploy your agent wherever you want. We will leave this part out, as we are focusing on the different types of agents.
Task Agent
The next tier agent is the Task Agent. We want to ask for information, but also directly take action when needed. In this scenario, you are a team manager and you want to add items to the onboarding checklist for your employee who will start next month.
Create a new agent
Name it Retrieval Agent
Add the SharePoint site as knowledge
Click Create Agent
Once create, enable Ochestration
Up until this point nothing new. Now, let's add the action Create item to this agent.
Go to the Actions tab
Click Add an action
Search for SharePoint and select Create item
Update the description slightly
Create the agent
Once created, go to the actions tab again and open the create item action
Go to the inputs tab
You can predefine the site and the list, as it will always be the exact same list. Use the Set as value option for both input parameters.
Save you edits
Give it the same description as the previous agent
Enter the following instructions. Note that we only added one line of instructions.
- Respond clearly and accurately to onboarding-related questions. - Offer step-by-step guidance when explaining processes or policies. - Maintain a professional, friendly, and supportive tone in all interactions. - When a user asks to create an onboarding task, use the Create item action. Make sure to ask for the optional input parameters as well before executing this action.
Now try to use the agent
Do you see how the orchestrator identified we want to take action, implemented our instruction to ask for optional parameters before executing? This is exactly the idea of this tier of agents. I checked the SharePoint list to see if it actually came through, and it did. The only thing is that the mentor didn't came through as expected.
Making this work perfectly would require some shaving on the instructions, and descriptions, but you get the idea. You can ask for information, AND directly take action. Again, publishing is out of scope, but you just made a task agent. Doesn't this already feel a bit magical?
Let's go to the next tier.
Autonomous Agent
Having the agent ready to answer questions and take actions on our behalf when we ask it to does feel magical if I am allowed to answer my own question. It definately makes the whole process easier for an end user, but it still requires initiation from an end user perspective.
Imagine we did create the previous agent and deployed it to wherever we want it to live. The HR department probably would still receive teams messages, emails, and what not with similar queries. What if our agent will act as a team member and act as a first line team member?
That is exactly the promise of autonomous agents. Let's create one.
Create a new agent
Take the exact same steps at our previous agent
add the action Office 365 Outlook - send an email (V2)
Make sure you use the Copilot author authentication option
Add a line to the instructions: If a question comes in from our mailbox, use the Send an email action to respond and act on behalf of our team.
Now we get to the autonomous part...
Add a trigger and select When a new email arrives (V3)
Make sure you have the connections in place
You can adjust the trigger conditions. In a real world scenario you might want to limit it to a shared mailbox or something like that, but for now we leave it as it is.
Once the trigger is created, you need to test it. Send an email to your user mailbox, ideally from a different account.
Hi,
I am wondering what the goals of our company are so that I can align my work with these goals.
Kind Regards,
You can navigate away and click on Test trigger.
Note that in fact a Power Automate has been created for you.
Make sure you publish the agent before you will send a new email. When you then send an email, you will see that the automation in the activity tab.
You should now be able to send an email, and receive an email with an answer, all handled by your autonomous agent.
I must say that I did struggle for quite a bit to actually make it respond via email. I hadn't had the right authentication first, and then I spent quite some time on refining the instructions and descriptions. I guess improving my prompting skills should be a goal for this year.
Conclusion
You have learned about the spectrum of agents. Quite some valuable know for the agentic year we have ahead of us. The more capable you will make your agent, the more complex it will become. Creating dedicated, specific task oriented agents are the way forward. It's better to have 10 agents do their own thing, rather than 1 Swiss agent.
Additional Information
A lot of the Autonomous agent work is still in the making. Be aware that these are still preview features. I normally try to avoid these, but for the sake of starting the year prepared I opted to still dive into it.
I highly recommend following Dewain Robinson, a.k.a. The Copilot Studio Dude to stay informed on all the capabilities that will come to Copilot Studio.
Key Takeaways
👉🏻 Agents can serve a whole spectrum
👉🏻 We will move away from the chat interface
👉🏻 Instructions and descriptions will become more and more important