Introduction
Nowadays, we hear a lot of terms in the Artificial Intelligence world, like Gen AI, Agents, and Autonomous Agents, especially when it comes to automating tasks from simple to complex. In simple words, an agent can be defined as a specialized assistant that optimizes business processes and enhances the user productivity and experience. Think of a situation where you are required
To run a SharePoint site usage report
Get all the expired SPNs (Service Principal Names) in the Entra,
Get an inventory of all the agents in your tenant
Get the frequently used flows in a Power Platform environment
Get the documents that are externally shared in SharePoint sites
and much more
For any of these tasks, you can work on the ways to get it done, either by using a flow with a premium connector or writing a powershell script with Graph Powershell modules. Imagine you want to get this job once a quarter, then you can
Either run these reports manually
Or schedule the jobs using Azure Automation
or PowerShell with premium connector
or use Azure functions in conjunction with Logic Apps
or schedule jobs in a dedicated VM to run the batch jobs on a designated schedule
What if you have a chat application that does the job, accepting the user input in plain English (aka simple prompt in AI terminology) and gives you the desired output instantaneously? This is where Agent comes to picture. With the evolution of Copilot, MSFT introduced Copilot Agents, which allow users to design, develop, and deploy agents easily without worrying about the backend infrastructure. Please note that you need to have Copilot licenses assigned to users to develop and deploy the agent.
Anatomy of the Copilot agent:
A copilot agent is an agent that is built on top of Copilot infrastructure. It can also be defined as the agent that is extending the Copilot chat and scoping to specific needs. It comprises the following building blocks
Knowledge
This is where you tell the agent to look for information when the user asks a question. The knowledge component involves integration of MS Graph, which contains information about users, user activities, and organizational data. This allows agents to access user information, Teams chat, emails, etc.
Skills
This component can be used to add capabilities to the agent. For instance, you can add the capability of generating a code, generating an image, sending an email, creating a note in OneNote, or anything that you want the agent to perform on the user’s behalf.
Foundation Models
These are the models coming from the Azure AI Foundry, which are provided by Microsoft. In the Copilot agent, you don’t have an option to choose the AI model. In fact, the Copilot agent will use the same infrastructure as Copilot chat.
Orchestrator
The job of the orchestrator is to make sure the Foundation models are generating the correct / intended responses. As shown in the block diagram, it manages the flow between user experience, knowledge, and Skills and makes sure the response generated is related to the user’s context. You don’t have an option to choose your own orchestrator. This is from MSFT.

What is a declarative agent
Now, let’s try to understand what a declarative agent is. In software terms, declarative means the user provides input and expects the output. The user won’t need to know the details of
How the input is sent to the backend,
What processes are happening at the backend and
How is the output being generated?
All the users care whether the generated output is accurate or not.
Pre-requisites
To design, develop, and deploy the agents, you need a Microsoft 365 Copilot license in addition to E5 licenses.



Join the conversation! Your thoughts help the community grow.