In August 2026 a veteran Australian Microsoft 365 consultant published a frank account of his own Copilot Studio mistake. He wired a new agent to a Teams channel so it would answer posts; the agent's replies were themselves posts, so it answered itself, every minute or so, for about three and a half hours. The bill data showed 16,376 credits of autonomous consumption, roughly 4,679 credits per hour, about AU$250 all up. He was lucky on two counts: he checked the channel within hours, and it was his own tenant. The uncomfortable arithmetic is that the same loop left running across a weekend clears a thousand dollars, and the billing data that would have warned him lagged by about a day.
Bill shock stories like that one now surface regularly in admin communities, usually with the same three ingredients: a feedback loop nobody designed on purpose, a pay-as-you-go meter with no ceiling, and cost visibility that arrives after the money is spent. This guide covers how the charging model works, why there is no hard cap, and the diagnose, cap and refund-request sequence to run when a number you did not expect appears on the invoice.
How Copilot Studio charges in 2026
Copilot Studio meters consumption in Copilot Credits (the unit that replaced messages on 1 September 2025, same quantities, same rates). Capacity comes two ways, both priced in US dollars (checked August 2026): a prepaid pack of 25,000 credits at US$200 per pack per month, pooled across the tenant, unused credits forfeited monthly; or pay-as-you-go at US$0.01 per credit billed to an Azure subscription through a billing policy linked to the environment. The pack works out at US$0.008 per credit, so PAYG carries a 25% premium in exchange for no commitment. Frontrow's separate guide at /insights/copilot-studio-message-pack-pricing-australia-2026 works through the AUD conversion and a monthly estimating method; the short version is that the AUD figure moves with the exchange rate and GST treatment depends on the purchase path, so confirm both at purchase.
The part that produces surprises is feature-based metering. Credits are charged per thing the agent does, and the rates differ by an order of magnitude:
- Classic (scripted) answer: 1 credit. Generative answer: 2 credits. Each agent action, including autonomous trigger steps and deep reasoning: 5 credits. Tenant graph grounding: 10 credits on top of the answer that uses it.
- Agent flow actions: 13 credits per 100 actions. AI tools run from 1 credit per 10 responses (basic) to 100 credits per 10 responses (premium), and reasoning models add the premium token meter on top of the feature rate.
- Voice is its own tier: 10 to 75 credits per minute depending on the voice class.
- Usage by staff who hold a Microsoft 365 Copilot licence is included in their seat at no extra consumption charge for classic answers, generative answers, grounding and actions, within fair use. The main exception: agent flows are only included when triggered by an agent the licensed user is interacting with; other flow triggers bill at standard rates.
Stacking is what turns a cheap demo into an expensive product. A generative answer grounded in the tenant graph with two connector actions is 2 + 10 + 5 + 5 = 22 credits for one turn. The cheapest and most overlooked cost lever is answering the most common questions with classic answers at 1 credit instead.
Billing can start before you publish
Two facts about pre-production usage catch teams out. First, agents built on the newer GitHub Copilot harness bill from the moment building starts: Microsoft's documentation states plainly that unlike the standard harness, which starts billing after publish, this harness charges credits for creating with natural language, previewing, testing and running evaluations. In the case above, simply creating and preview-testing the agent consumed about 447 credits before the loop ever started. Second, on the standard harness the picture is mixed rather than free: publish is the billing trigger for the agent itself, and agent-flow test runs in the designer are explicitly exempt, but once anything is published and wired to a live channel, every interaction meters, including the ones you think of as testing.
Why there is no hard cap on pay-as-you-go
The instinct is to set a spending limit on the Azure subscription. You cannot. Microsoft's Cost Management documentation is unambiguous: the spending limit feature is not available for subscriptions with pay-as-you-go pricing, and custom spending limit amounts are not available on any subscription type. Azure budgets are alerting, not enforcement; they email you, they do not stop the meter. Combine that with consumption data that typically takes up to a day to land, and a runaway agent has a roughly 24-hour head start on your dashboards.
Prepaid packs behave differently: overage enforcement disables custom agents once a tenant hits 125% of prepaid capacity, and exhausted capacity blocks new agent-flow runs. That makes packs a de facto circuit breaker as well as a discount, which is worth weighing when choosing a billing model for anything autonomous.
Diagnose: find the agent burning the credits
- 1Power Platform admin centre > Licensing > Copilot Studio. The Top 5 agents and users view, then View all agents, ranks consumers. Drill into the environment to see the consumption details grid, which itemises by feature, including the autonomous consumption and agent-flow-actions lines that betray loops.
- 2Open the suspect agent's Monitor page in Copilot Studio for per-agent credit consumption and activity.
- 3For pay-as-you-go, open Azure Cost Management > Cost analysis on the linked subscription. Copilot Studio consumption appears under its own meter; smart views by resource narrow it to the billing policy.
- 4Look for the loop signature: consumption at a steady rate through hours when no humans were working, a trigger tied to a surface the agent also writes to (a Teams channel, a mailbox, a Dataverse table it queries and updates), or an agent flow with a retry storm.
- 5Stop the bleeding before tuning anything: disable or delete the trigger or workflow, disconnect the channel, or unlink the environment from the billing policy. Microsoft documents that once an environment is unlinked from the Azure subscription, usage is not billed; unlinking is the closest thing PAYG has to an emergency stop, at the price of stopping paid consumption in that environment.
Cap: the controls that exist
- Per-agent limits: in the Power Platform admin centre under Licensing > Copilot Studio > Manage Agents, set a monthly consumption limit per agent. This is the nearest thing to a real cap and it is off by default.
- Environment allocations: allocate a fixed credit quantity to an environment so one team's experiment cannot drain the tenant pool.
- Capacity notifications: turn on the 90% capacity alerts in the licensing console; they are not enabled by default.
- Azure budgets with action groups on the PAYG subscription: alerts only, but wire them to email and SMS so the 24-hour data lag is the only delay you carry.
- Data policies: blocking the Microsoft Copilot Studio connector in an environment prevents event triggers, which removes the autonomous loop class entirely where agents should only ever answer humans.
- Model choice: prefer prepaid packs for autonomous agents so the 125% enforcement backstop exists, and review consumption daily, not monthly, for the first weeks of any new agent.
Refund request: what to ask for and how
Copilot Studio PAYG charges are Azure charges, so disputes go through an Azure support request on the billing subscription (Cost Management + Billing > New support request, issue type Billing). Microsoft assesses these case by case and nothing obliges a credit for consumption your own agent generated, so the request should read like an incident report, not a complaint: what the defect was, when the loop started and when you stopped it, the consumption evidence from the licensing console and Cost Analysis, and the controls you have since put in place (per-agent caps, alerts, trigger DLP). First incidents that were stopped quickly and documented honestly have the best record of goodwill credits. What weakens a request is letting it run for days, or having no alerting configured at all. If the spend came through a partner or CSP, raise it with the partner first, since the billing relationship sits there.