[Copilot Studio] I Tried Creating My First Agent: Creation, Instructions, and Testing
This page has been translated by machine translation. View original
Introduction
Hello, I'm Kema.
In enterprise environments, Microsoft products such as Microsoft 365 and Teams are already widely used. As a natural extension of this, when organizations want to build internal chatbots or AI agents that automate business tasks, Microsoft Copilot Studio becomes one of the options to consider. That said, many people may be hesitant to adopt it because they don't know "what it can do and how far you can get without writing code."
In this article, as the first step in a series on building agents (AI assistants) from scratch in Microsoft Copilot Studio, I verified hands-on how to create a single agent, give it a role (instructions), and test it. The series topic is an agent that automatically generates KPI comparison reports for three fictional SaaS companies, with the ultimate goal of building an agent that handles the entire pipeline from data collection → aggregation → charting → insights → PowerPoint/Excel output. I hope this serves as a useful reference for those considering adopting Copilot Studio.
Since this time the goal is simply to verify behavior, I will not "publish" the agent. Publishing is required when you want other people to use your agent via Teams or the web, but if you're just building, running, and testing it yourself, publishing is not necessary. I'll summarize the publishing process as a supplement at the end of the article.
The verification environment is the web browser version of Copilot Studio (copilotstudio.microsoft.com).
What is Copilot Studio?
Before getting hands-on, let's review what kind of tool Copilot Studio is through the official documentation. Since this forms the foundation of the series, I'll cover it thoroughly here.
A Low-Code Tool for Building Agents
Copilot Studio is a graphical, low-code tool for building agents and agent flows (described later).
Copilot Studio is a graphical, low-code tool for building agents and agent flows.
Source: Copilot Studio overview | Microsoft Learn
Its key features are that it can connect to external data using prebuilt or custom connectors, and you can build conversations and logic without writing code. The official documentation also states that agents can be built without data scientists or developers.
You can easily create agents in Copilot Studio without the need for data scientists or developers.
Source: Copilot Studio overview | Microsoft Learn
What is an Agent?
The central artifact you build in Copilot Studio is an "agent." The official documentation describes it as follows:
An agent is a powerful AI companion that can handle a range of interactions and tasks. It can resolve problems that require complex conversations and autonomously determine the best action to take based on its instructions and context. It coordinates language models, along with instructions, context, knowledge sources, topics, tools, inputs, and triggers to accomplish your goals.
Source: Copilot Studio overview | Microsoft Learn
In other words, an agent is an integrated mechanism that bundles a language model with components such as instructions, knowledge, topics, tools, and triggers. We will examine each of these components one by one in future articles.
| Component | Role |
|---|---|
| Instructions | Defines the agent's role, tone, and rules in natural language |
| Knowledge | Information sources used as the basis for answers |
| Topics | Defines conversation flows using a node-based approach |
| Tools | Adds "capabilities" to the agent |
| Triggers | Autonomously starts the agent on a schedule or event |
| Other agents | Integrates with child, in-environment, or external agents |
When illustrated as a diagram, the relationship between components looks like this. The agent (language model and orchestrator) receives user utterances, triggers, and instructions as input, and assembles responses by selecting knowledge, topics, tools, and other agents as needed.
Agent composition (created based on the description in Copilot Studio overview | Microsoft Learn)
How Conversations Work (NLU and Generative Responses)
Agents interpret user input using Natural Language Understanding (NLU) and select the topic that best matches the intent to respond. Furthermore, if you connect knowledge sources, generative AI assembles answers without requiring you to build every topic individually.
Copilot Studio agents use customized NLU models and AI capabilities to understand what a user types or says, then respond with the best topic.
Source: Copilot Studio overview | Microsoft Learn
Answering based on connected knowledge is called "grounding." We will verify this behavior hands-on in a future article.
Generative Orchestration (Default Behavior)
As of 2026, newly created agents use generative orchestration by default. The agent itself decides at each turn which tools, knowledge, topics, and other agents to use.
Agents can use either generative or classic orchestration. By default, newly created agents use generative orchestration. An agent that uses generative orchestration can choose the best tools, knowledge, topics, and other agents to answer user queries or respond to event triggers. The alternative is classic orchestration, where an agent responds to users by triggering the topic whose trigger phrases most closely match the user's query.
Source: Orchestrate agent behavior with generative AI | Microsoft Learn
This term can be a bit confusing, so let me break it down further. "Orchestration" refers to the mechanism by which the agent decides "which components to use, and in what order, to answer a user's utterance." Copilot Studio has two approaches to this decision-making, and you can choose which one to use for each agent.
- Generative orchestration (default): The language model interprets the user's utterance and automatically selects from the available components (topics, tools, knowledge, other agents) what is needed to answer the question. Combining multiple components and asking users follow-up questions for missing information is also handled automatically. The selection of which component to use is determined based on the name and description attached to each component.
- Classic orchestration (legacy approach): "Trigger phrases (use this topic when this keyword appears)" are registered in advance for each topic, and the topic whose phrases match the user's utterance is triggered. The conversation flow is built by arranging nodes within the topic.
Here is a comparison of the two approaches:
| Perspective | Generative Orchestration (Default) | Classic Orchestration |
|---|---|---|
| How components are selected | Language model automatically selects based on names and descriptions | Selected based on matching registered trigger phrases |
| Use of multiple components | Can be used in combination | Basically one topic at a time |
| Follow-up questions and responses | Automatically generates questions for missing info and response text | Built manually using nodes within the topic |
| Best suited for | When you want flexible responses and less manual configuration | When you want strict control over a defined conversation |
To switch to classic, open the agent's "Settings", go to "Generative AI", and under "Orchestration" select "No, use classic orchestration." The default is "Yes, dynamically use available tools and knowledge to respond" (generative orchestration). This series proceeds on the premise of generative orchestration, which is the default when creating a new agent.

Agent "Settings" → "Generative AI" → "Orchestration." The default is Generative AI (top radio button). Select the bottom radio button to switch to classic.
Choosing a Model
The language model used for agent reasoning (orchestration) can be selected from a dropdown in the "Model" section of the overview screen. In my environment (as of June 2026), the following models were listed in the dropdown. Both OpenAI's GPT series and Anthropic's Claude were available. Some models have "Preview" or "Experimental" badges, indicating they are not recommended for production use.
| Provider | Model | Dropdown Description | Status |
|---|---|---|---|
| OpenAI | GPT-5 Chat | Great for most tasks | Generally Available |
| OpenAI | GPT-5 Reasoning | Greatest depth and accuracy for the most demanding tasks | Preview |
| OpenAI | GPT-5.3 Chat | Great for most tasks | Experimental |
| OpenAI | GPT-4.1 | Great for most tasks and quick analysis | Generally Available |
| Anthropic | Claude Sonnet 4.5 | Supports general tasks and content creation | Generally Available |
| Anthropic | Claude Sonnet 4.6 | Supports general tasks and content creation | Default |
| Anthropic | Claude Opus 4.5 | Performs deep reasoning and structured problem solving | Generally Available |
| Anthropic | Claude Opus 4.7 | Performs deep reasoning and structured problem solving | Generally Available |
| Anthropic | Claude Opus 4.8 | Perform deep reasoning and structured problem solving | Experimental |
In my environment, Claude Sonnet 4.6 was selected as the default model immediately after creation (it also displayed "(default)" in the dropdown). Which model becomes the default, and which models appear in the list, varies by region, admin settings, and timing. For the latest list of available models and details on each model, please refer to the official documentation: Select a primary AI model for your agent | Microsoft Learn.
Having a wide variety of models to choose from is a strong point, as it allows you to select the best one for your use case.
Where Can It Be Used (Channels)?
Once published, the agent can be deployed to multiple channels. In addition to Teams, Microsoft 365 Copilot, SharePoint, and Power Pages, there are also options for deploying to a demo site or custom website for web use.
Copilot Studio natively deploys agents to many channels, such as Teams, Microsoft 365 Copilot, SharePoint, Power Pages, and more.
Source: Publish agents to channels and clients | Microsoft Learn
Publishing is required for channel deployment, and a license is needed to publish. Since the goal this time is just to verify behavior, we will not publish. Publishing details are covered in the Supplement: About Publishing section at the end of the article.
Relationship with Microsoft 365 Copilot
There are broadly two ways to use Copilot Studio. One is to build agents that extend Microsoft 365 Copilot, and the other is to build standalone agents. This series covers the latter: building standalone agents.
Overview of Billing and Licensing
To get a sense of verification costs, let's also cover the basics of billing upfront.
- Creation and testing are possible with a trial: Even with a trial license, you can create agents and verify their behavior in the test chat. However, publishing is not available.
- Publishing has conditions: Whether publishing is available depends on license conditions such as a Microsoft 365 Copilot license, a Copilot Studio User License with message allocations assigned to the environment, or certain configurations that don't use Gen AI.
- Execution consumes Copilot Credits: Agent responses and action executions after publishing consume Copilot Credits depending on complexity. The embedded test chat is not subject to billed sessions.
If you're just building, running, and testing it yourself as we are doing this time, everything falls within the free tier. The license conditions required for publishing are summarized along with their sources in the Supplement: About Publishing section at the end of the article.
What We're Building This Time
- Agent name: KPI Report Creation Assistant
- Role: When comparing quarterly KPIs for three fictional SaaS companies, guide the user on the metrics to check first and the perspectives for comparison
- What we'll verify this time: Agent creation, setting instructions, and basic responses in the test chat
Step 1: Create the Agent
From the Copilot Studio home screen, select "Build from blank > Agent." There is also a method where you enter a description in the "What do you want to build?" field in the center and have AI create it for you, but this time we'll build it manually so we can understand each configuration one by one.
A dialog opens for entering the agent name. Type "KPI Report Creation Assistant" and click "Create."

Opening "Agent settings (optional)" lets you configure the language, solution, and schema name. The schema name is an internal identifier that cannot be changed later. I left everything at the defaults this time.
After creation, "KPI Report Creation Assistant" is added to the agent list.

Step 2: Explore the Overview Screen
Opening the agent from the list displays the "Overview" screen. This is the starting point for agent configuration.

There are three key points to note first:
- The screen I checked showed "Claude Sonnet 4.6" selected: As mentioned in the "What is Copilot Studio?" section, you can choose the model used for reasoning. While the official documentation lists GPT-4.1 as the default model, Claude Sonnet 4.6 was displayed on my screen.
- Knowledge can be added from this screen: You can link information sources such as files to give the agent a basis for its answers (we'll explore this in detail in a future knowledge article).
- Default topics (such as "Greeting," "Thank you," etc.) are automatically generated.
Scrolling down on the overview screen reveals sections for Tools, Triggers, Agents (multi-agent), and Topics. These are the feature groups we will explore in future articles.

The tabs include "Overview / Knowledge / Tools / Agents / Topics / Activity / Evaluation / Analytics," and these serve as the entry points for adding features.
Step 3: Set the Instructions (Role)
"Instructions" is the field where you write the agent's role, tone, and rules in natural language. Click "Edit" to enter them.
This time, I set the following instructions:
You are a "KPI Report Creation Assistant" that supports business planning at SaaS companies. You help create quarterly KPI comparison reports. Your main roles are to summarize KPIs (ARR, MRR, NRR, churn rate, operating profit margin, number of customers, ARPA), organize comparison perspectives when comparing multiple companies, suggest metrics suitable for visualization, and draft summary comments. Respond in Japanese, concisely and politely. When handling numbers, clearly state the source and assumptions (target period, unit, currency). Do not speculate on uncertain points—ask for the necessary information to confirm.
Once entered, click "Save."
Step 4: Test It
You can verify behavior on the spot in the "Test your agent" pane on the right side of the screen. To check whether the instructions are working, I asked the following:
When comparing quarterly KPIs for three SaaS companies, what are the top three metrics I should look at first?
Here is the response I received. A response organized from a SaaS KPI perspective was returned, starting with ARR (Annual Recurring Revenue) and NRR (Net Revenue Retention). The roles specified in the instructions—"organize multi-company comparison perspectives" and "clarify numerical assumptions"—are clearly reflected.

The test chat is not subject to billed sessions charges. You can thoroughly verify the agent's behavior here without publishing.
Supplement: About Publishing
Since the goal this time is to verify behavior, we are not publishing, but "publishing" is required when you want other people to use the agent via Teams or the web. For reference, here is a summary of the conditions around publishing.
When I tried clicking "Publish" in the upper right, a dialog appeared in my environment stating that a license was required.

This agent has unresolved issues
You currently do not have a user license to publish to Copilot Studio. Please ask your administrator to upgrade your license or enable the necessary permissions.
The conditions for publishing are explicitly stated in the official FAQ as follows (only one condition needs to be met). Trial licenses do not qualify for publishing.
The criteria to allow publishing is one the following:
- Having a M365 Copilot license assigned.
- Having a Copilot Studio User License assigned and messages allocated to the environment.
- Having a Copilot Studio User License assigned and "Draw from tenant pool" enabled for the environment.
- Having a Office license only and agent does not use Gen AI features.
Trial licenses are not qualified to allow publishing.
Source: FAQ for Copilot Studio billing and licensing | Microsoft Learn
In other words, while creation and behavioral verification via test chat are possible with a trial, publishing alone requires one of the licenses listed above. As long as you're building and testing within the scope of what you want to do yourself (data collection, aggregation, insights, and document generation), publishing is not necessary. When you're ready to share with others, you can prepare a license and publish at that stage. This series will proceed without publishing, verifying each feature through the test chat.
Summary
From creation to testing, I was able to build an agent that behaves as intended simply by writing instructions—no coding required. For something as straightforward as this, there were no real stumbling blocks, and you can put together something reasonably functional without much trouble. Having multiple model options to choose from, including GPT series and Claude, is a strong point that allows you to select the best fit for your use case.
Next time, we'll add "Knowledge" and test grounded responses based on KPI data (docx) for three fictional SaaS companies.