Microsoft 365 & Copilot in the Enterprise · Chapter 9 of 12
Copilot Studio — building your first agent
What you actually construct, what it costs per interaction, and the billing rule that decides where you publish it.
Copilot Studio is the tool for building your own assistants — called agents — without writing much code. An agent is scoped to a job: answering HR policy questions, checking an order's status, triaging an IT request.
Topics, and how matching works
A topic is one conversation flow, built on a canvas of nodes — send a message, ask a question, branch on a condition, call a tool. It starts with trigger phrases: example things a user might say. Microsoft suggests five to ten.
Matching is fuzzy, not literal. Trigger on ‘check store hours’ and ‘see store opening times’ will also fire. You are giving examples for a model to generalise from, not writing a pattern to match — which is why five varied phrases beat twenty similar ones. Each topic also has a raw YAML view, which is how you copy one between agents.
Knowledge sources, and their limits
| Source | How it works | Generative mode | Classic mode |
|---|---|---|---|
| Public website | Bing search, restricted to domains you name | 25 sites | 4 URLs |
| Uploaded documents | Stored in Dataverse | All | Storage limit |
| SharePoint | Graph search against a site URL | 25 URLs | 4 per node |
| Dataverse | Retrieval over your tables | Unlimited | 2 × 15 tables |
| Copilot connectors | Via the Microsoft Search index | Unlimited | 2 per agent |
Dataverse, which appears twice there, is the Power Platform's own database — a managed relational store that agents, apps and flows all share. If you have not met Power Platform, it is Microsoft's low-code suite; Copilot Studio is one application inside it, sharing its environments, security policies and admin tools with Power Apps and Power Automate.
Actions — where an agent stops answering and starts doing
Actions come from connectors (about 1,500 pre-built ones), Power Automate flows, or your own REST APIs — ordinary web endpoints you host. This is the half where an agent can cause harm, which is why Microsoft's three-layer rule in the diagram is worth following literally: irreversible actions hard-coded, consequential ones behind a human checkpoint, autonomy reserved for questions.
What it costs, per interaction
Copilot Studio bills consumption in Copilot Credits — called ‘messages’ until they were renamed on 1 September 2025, with no change to rates. $200 a month buys 25,000 credits, or you can pay as you go at $0.01 each.
| What happens | Credits | Free for a Copilot-licensed user internally? |
|---|---|---|
| Classic answer | 1 | Yes |
| Generative answer | 2 | Yes, with a condition |
| Agent action — a trigger, a tool call, a topic handover | 5 | Yes, except computer-using agents |
| Tenant graph grounding | 10 | Yes |
| Agent flow actions | 13 per 100 actions | Only via one specific trigger |
| Content processing | 8 per page | Yes |
| Voice — classic / generative / premium | 10 / 35 / 75 per minute | Included |
The billing rule that should decide your architecture.
Interactions are free for Microsoft 365 Copilot-licensed users on internal channels — Teams, SharePoint, Microsoft 365 Copilot.
External channels always bill. A public website, WhatsApp, Slack — every interaction costs credits regardless of who is asking.
Microsoft's own worked example: an agent used by 50 licensed and 100 unlicensed people costs only for the 100. The 50 are free.
So the same agent can be nearly free or entirely metered depending only on where you publish it. Decide that before you build, not after.
One caution: overage enforcement bites at 125% of prepaid capacity, at which point custom agents are disabled until you top up. Not throttled — disabled.
The Copilot Studio maker licence itself is free; only runtime consumption costs. A trial licence can build and test but cannot publish. There is also an unquantified ‘fair usage limit’ on the included internal usage — Microsoft confirms it exists and publishes no number.
Building one, concretely
- 1. Create the agent and write its instructions in plain English — what it is for and, more usefully, what it must refuse.
- 2. Add knowledge. Start with one SharePoint site. A narrow agent that is right beats a broad one that is plausible.
- 3. Test in the built-in pane. Watch which topic fires, not just whether the answer reads well.
- 4. Add actions only once the answers are right.
- 5. Choose orchestration — classic while you are learning what it does, generative once you trust the scope.
- 6. Publish to a channel. Re-read the billing rule above first.
Check yourself