Infographic titled “Understanding Agents in Microsoft Copilot Studio,” showing agent capabilities, data sources, plugins, workflows, and creation steps.

Understanding Agents in Microsoft Copilot Studio

Introduction

Agents are one of the fundamental building blocks of Microsoft Copilot Studio.

An Agent is more than a traditional chatbot. It can receive a user request, interpret context, follow instructions, use organizational knowledge, select available tools, and perform actions.

In the current Microsoft Copilot Studio architecture, it is also important to understand that not every Agent operates in exactly the same way. Microsoft provides different harnesses, and the selected harness influences how the Agent reasons and executes work.

This article focuses primarily on Agents powered by the GitHub Copilot harness, while also explaining where the standard harness differs.


What Is an Agent?

A useful conceptual definition is:

An Agent is an AI-powered component designed to understand requests and work toward a defined objective using the capabilities made available to it.

In Copilot Studio, an Agent can be configured with several components, including:

  • Instructions
  • Knowledge
  • Tools
  • Skills
  • Connected agents
  • Models
  • Memory

These components give the Agent context and capabilities.

A simplified architecture is:

User

Agent

Instructions + Context

Knowledge / Tools / Skills / Connected Agents

Reasoning

Response or Action

This is significantly different from thinking of the Agent as a collection of predefined questions and answers.


The Agent Has a Purpose

The first architectural decision should not be which Tool, Flow, Connector, or API to add.

The first question should be:

What is this Agent responsible for?

For example, consider an Agent named:

SharePoint Policy Assistant

Its responsibility might be:

Help employees find information from approved corporate policy documents stored in SharePoint.

That is intentionally narrow.

It does not need to create requests, send emails, update SharePoint lists, call Microsoft Graph, or perform approvals yet.

This follows an important learning and architecture principle:

Start with an atomic Agent.

Give the Agent one clear responsibility before expanding its capabilities.


Creating an Agent

In the current Copilot Studio experience for the GitHub Copilot harness, Microsoft documents a straightforward creation process.

From the Copilot Studio Home page, you can select the Agent tile.

Alternatively:

Agents → New agent

The Agent then opens in the Agent designer.

At this stage, some fundamental properties can be configured, including:

  • Name
  • Primary language
  • Solution
  • Schema name
  • Instructions

The Agent can then be saved and progressively expanded.


Name

The Agent’s name should communicate its responsibility.

For example:

SharePoint Policy Assistant

is preferable to something generic such as:

Corporate AI

The first name used before saving is also important technically. Microsoft documents that the last Agent name entered before the first save determines its schema name.

After that, the schema name becomes read-only.

This is particularly relevant when thinking about Solutions and ALM.


Instructions

Instructions describe how the Agent should behave.

They can define elements such as:

  • role;
  • behavior;
  • tone;
  • rules;
  • restrictions;
  • expected approach.

For example:

Answer questions about corporate policies using the knowledge available to you. Keep responses concise and do not invent policy information.

Instructions should describe behavior rather than contain the entire enterprise knowledge base.

A useful conceptual distinction is:

Instructions = How the Agent should behave

while:

Knowledge = Information the Agent can use

We will study Instructions separately because they are important enough to deserve their own topic.


Knowledge

Knowledge provides information the Agent can access when answering questions.

For our SharePoint-focused scenario, this becomes particularly important.

Conceptually:

SharePoint

Corporate Documents

Knowledge Source

Agent

Grounded Answer

Knowledge can eventually include corporate policies, technical documentation, training material, procedures, and other organizational information.

But Knowledge is not the Agent itself.

It is one of the resources available to the Agent.


Tools

Tools give the Agent external capabilities that it can invoke.

This introduces one of the most important distinctions in our entire Copilot Studio learning path.

Consider:

What is our vacation policy?

The Agent needs Knowledge.

Now consider:

Create my vacation request.

The Agent needs to do something.

That requires some form of Tool or Action.

Therefore:

Knowledge = know something

Tool = do something

Microsoft currently describes Tools as external capabilities an Agent can invoke during a conversation.

Later, Tools can connect our Agents with business operations and enterprise systems.


Skills

Agents powered by the GitHub Copilot harness can also use Skills.

Microsoft describes Skills as reusable capabilities that extend what an Agent can do.

This introduces another architectural building block beyond Knowledge and Tools.

We do not need Skills for our first Agent.

The important point at this stage is simply understanding that Copilot Studio Agents can progressively gain additional capabilities.


Connected Agents

Another important capability is Connected agents.

An Agent can invoke another Agent during a conversation.

Conceptually:

Primary Agent

Specialized Agent A

or

Specialized Agent B

This enables modular architectures where responsibilities can be distributed among specialized Agents.

This aligns very well with our concept of atomic Agents.

Instead of immediately building one enormous Agent responsible for everything in the organization, specialized Agents can potentially collaborate.

We will not introduce this complexity into our initial labs, but it is an important architectural capability to remember.


Model

Copilot Studio also allows the model used by an Agent to be configured.

The model is an important part of the Agent’s reasoning capability, but the model alone does not define the Agent.

A useful mental model is:

Agent ≠ LLM

Instead:

Agent = Model + Instructions + Context + Capabilities + Orchestration

The language model provides reasoning and language capabilities, while the Agent architecture determines what information and capabilities are available to that reasoning process.


Memory

Microsoft’s current GitHub Copilot harness experience also provides configuration for Memory.

Memory can allow information to persist and influence subsequent interactions where appropriate.

However, Memory introduces additional considerations around:

  • user context;
  • privacy;
  • data handling;
  • security;
  • expected behavior.

For that reason, Memory should not simply be enabled without understanding its implications.

We will study it separately later.


Agent Reasoning

The most important conceptual change from traditional chatbot development is reasoning.

Traditional conversational systems frequently follow explicitly designed paths:

Question

Intent

Predefined conversation

Response

Modern Agents can operate differently.

With a reasoning-oriented Agent, the architecture becomes closer to:

User Goal

Agent interprets the request

Agent considers Instructions and context

Agent determines which available capability is appropriate

Agent executes steps

Agent produces an outcome

This makes Agents more flexible, but also creates new architectural responsibilities.

We need to carefully control:

  • available Knowledge;
  • Instructions;
  • Tools;
  • permissions;
  • data access;
  • evaluation;
  • security.

Greater autonomy requires stronger governance.


GitHub Copilot Harness vs Standard Harness

This distinction is now essential when learning Copilot Studio.

Agents powered by the GitHub Copilot harness use natural-language Instructions, Knowledge, Tools, and other components to reason over context and take action.

The standard harness supports a more structured model and includes capabilities such as Topics and the established Copilot Studio conversational architecture.

Therefore, documentation must always be read with the harness in mind.

An article describing the GitHub Copilot harness should not automatically be assumed to describe the standard harness, and vice versa.

This is especially important because the user interfaces and available capabilities can differ.


Agent Lifecycle

Creating an Agent is only the beginning.

A simplified Agent lifecycle is:

Create

Configure Instructions

Add Knowledge

Add capabilities when required

Test

Evaluate

Share / Publish

Monitor

Improve

Microsoft’s current documentation explicitly points makers from Agent creation toward testing, evaluation, sharing, publishing, and monitoring.

This matters for enterprise architecture.

A production Agent is not finished simply because it produces a correct answer in the test pane.


Agents and SharePoint

For our learning journey, SharePoint Online will be the primary enterprise scenario.

Our first architecture can remain extremely small:

Employee

SharePoint Policy Assistant

Instructions

SharePoint Knowledge

Answer

Notice what is deliberately absent:

  • Power Automate
  • Microsoft Graph
  • Dataverse
  • Custom APIs
  • Custom Connectors
  • Complex Actions

We do not need them yet.

Our initial goal is understanding the Agent itself.


Later: Adding Actions

After we understand Knowledge-based Agents, we can extend the architecture.

For example:

Employee

Agent

Knowledge

Reasoning

Tool

Flow

SharePoint List

Now the Agent is no longer only answering questions.

It can participate in a business process.

For example:

Create an IT support request for me.

The Agent could collect the required information and invoke a Tool that creates the request.

This is where Agent architecture starts becoming particularly powerful for Microsoft 365 business solutions.


Security

Security must be considered from the beginning.

Adding a data source or Tool to an Agent does not mean that every user should automatically have access to everything behind that capability.

For every capability we add, we should ask:

Who is the user?

What can the user access?

What can the Agent access?

Which identity executes an Action?

Which permissions are used?

Could this expose information the user should not see?

These questions become increasingly important as we move from Knowledge-only Agents toward Actions and external integrations.


When Not to Use an Agent

Agents are not automatically the best solution for every business requirement.

If a requirement is deterministic, simple, and already solved effectively by technologies such as:

  • SharePoint;
  • Power Automate;
  • Power Apps;
  • SPFx;
  • traditional applications;

adding an Agent might introduce unnecessary complexity, cost, and unpredictability.

The architectural question should therefore never be:

How can I solve this with an Agent?

It should be:

Is an Agent appropriate for this problem?

That distinction will remain important throughout our learning journey.


Our Current Mental Model

At this stage, we can simplify everything to:

Agent

= an AI-powered component with a defined purpose

  • Instructions that guide its behavior
  • Knowledge that provides information
  • Tools that provide capabilities
  • other optional components such as Skills, Connected Agents, Models, and Memory

The Agent reasons over the available context and capabilities to help achieve its objective.

We do not need to master all these components simultaneously.

We will isolate them and learn them one at a time.


Recommended Next Step

Now that we understand the basic concept of an Agent, the next component to isolate is:

Instructions

Before giving our Agent SharePoint Knowledge or Actions, we should understand how Instructions influence its behavior.

Our progression therefore becomes:

Agent

Instructions

Knowledge

Grounding and Retrieval

Testing

Tools

Actions / Flows

SharePoint business processes

This gives us a controlled path from a simple Agent toward a real enterprise solution.


Official Microsoft Learn Resources

Create a new agent — GitHub Copilot harness

Microsoft Copilot Studio documentation

Quickstart: Create and deploy an agent with the standard harness

Write agent instructions

Edvaldo Guimrães Filho Avatar

Published by