The collection of what works, built from governance engagements with Danish customers across pension, utilities, telco, pharmaceuticals and manufacturing. Backed by more than six years with Microsoft Power Platform, including leading global development for Apps & Agents.
This is not a sequence to run from beginning to end. It is a reference work you pick from.
Every chapter stands on its own, so any order works. The number on the right is how many slides that chapter holds. Nothing here needs to be read in sequence.
Twelve situations. None of them are criticism. They are the most common places where missing structure first becomes visible. Click the ones you have seen in your organisation.
No customer should see every slide. Each slide is written so it can stand alone and be used out of context, without missing the necessary context.
Press S or / anywhere. Type for example routing, DLP, credits or pipeline. Arrow keys select, Enter jumps there
Twenty seven chapters. Click the name to jump to the first slide in that chapter, or use the clickable index on the previous slides
The most important concepts follow the same structure: what it is, why it matters, what Microsoft's default is, and what we recommend
The hardest conversation in any governance engagement is not technical. It is about what governance is for. Two organisations can have identical policies and disagree completely about what they are meant to achieve.
No matter how large or small the organisation is, the same ten questions apply. A governance model is complete when there is a name or a number next to each of them. If you cannot do that, you have an opinion about governance, not a model.
The most common mistake is to start at the top, because the top is the visible part. A dashboard over solutions is useless if there is no environment structure to read it into.
What the platform consists of, where the data sits, and why Copilot Studio has made governance a conversation that cannot be postponed.
Governance often falls apart because the organisation governs each product separately. They share environments, connectors, identity and data layers, so they must be governed as one platform.
User interfaces. Canvas apps for fast solutions, model-driven apps for processes on Dataverse
Automation. Cloud flows for integration, desktop flows for RPA against systems without an API
Agents. Instructions, knowledge and tools, orchestrated generatively. This is where the governance conversation typically starts today
External websites on Dataverse. Together with customer facing agents, the part that most often faces the outside world
Analytics and reporting. It has its own licence and capacity model, but shares tenant and data sources
The shared data layer. Tables, relationships, security roles and audit trail. The foundation, not a sixth product
Power Platform is rarely a system in itself. It is the layer between the people who need something done and the systems that own the data.
Apps and flows have existed for years without forcing the conversation. Agents do, because they break four assumptions that all previous governance relied on.
An app waits for a click. An agent can be triggered by an event and act without a human in the loop. Approval must be designed in, it does not appear by itself
An app costs a licence. An agent also costs consumption. That makes cost a governance discipline rather than a procurement decision
An agent appears as something that can be granted access. That raises the question of who owns that identity, and who can turn it off
An agent is only as secure as the knowledge it is grounded in. If it points at a SharePoint library with overly broad access, it inherits that mistake and makes it searchable
This is the most overlooked architecture decision in the platform, and it determines how much governance you can actually perform. The decision is typically made by a maker in ten seconds.
This is the single failure that explains most operations outages in mature Power Platform installations. It is trivial to explain and almost never handled.
Five learnings from building decentralised development capacity in a global, regulated company. They are all about the same thing: the technology changed, but the capabilities beneath it did not.
This is not a product demonstration. It is what it took to move a global, regulated company from an approval decision to a capability that could deliver in operations.
Supplier and platform through the formal process. No solutions yet, but a foundation that could be built on
Licences for research and development. A bounded area with real problems instead of a broad rollout
Investment and agreement in place. This is where the work shifts from convincing to delivering
People, platform and operations. Not a project, but a function that runs
This is the single most important sentence from five years of work, and it is uncomfortable because it removes the hope of jumping the queue.
Enthusiasm creates demos. It does not create operations ready solutions, and it certainly does not create a direction. Adoption requires architecture that is just as deliberate as the platform itself, and that was the learning that took the longest to accept.
Makers, champions, patterns, peer review and a place to get help. Without a platform, it creates spread without control
Processes, compliance, data, domain knowledge and prioritised problems. Without context, impressive solutions are built for the wrong problems
Environments, ALM, identity, integration, policy and telemetry. Without community, it becomes an empty control surface that nobody uses
Product understanding, test, responsibility, operations and safe use. Not only how to build, but also what you owe afterwards
The distinction between citizen development and professional development is an organisational construct, not a technical one. It creates two processes, two quality levels and two kinds of ownership, and it is worth giving up.
Everyone may raise a problem
Value, risk and reuse
Maker, fusion team or developer
Test, security and ownership
Controlled deployment
Measure, support and learn
There should not be an AI department and a Power Apps department. The mandate is neither AI, platform operations, software development nor automation. The mandate is the finished solution, both strategically and operationally.
The agent, the data, the integration, the user experience and a clear boundary for what the solution is and is not
The process, the communication, the training and the new work habits. The part that is most often omitted, and that decides whether something gets used
Ownership, support, measurement, improvement and eventually retirement. A solution without a retirement plan is never closed
The biggest risk in decentralising development is not a missing fence. It is a fence that makes people believe the responsibility belongs to someone else. Decentralised development requires decentralised responsibility.
This was the least expected learning. We built an adoption engine to bring apps and agents to life. What we actually got was something else.
A capability to deliver apps, flows and later agents. Measured in number of solutions, number of makers and time saved
A training programme in business understanding. People learned to define a problem, assess risk, take ownership and drive change, because they did it on their own work
That is the real reason Copilot Studio is a different starting point from an empty chat window. Agents land in an ecosystem that has already solved a set of boring and decisive problems.
Solutions, environment variables, connection references and pipelines. Versioning and movement are solved, not invented from scratch
DLP, connector policy, environment groups and Managed Environments. Rules can be set in one place and apply to many
Dataverse, Power Automate, connectors, identity and business data. The agent can do something, not only say something
Makers, developers, administrators and support around the same platform. One happy path, also for agents
A quick, honest measurement of where the organisation stands. Not to give a grade, but to decide which chapters are relevant.
Set one mark per row by clicking directly in the table. If the room disagrees about where a row sits, that disagreement is the most important finding of the day. Ownership appears in two places on purpose: the top row is ownership of the platform, the overview row is ownership of the individual solution.
| Discipline | 1 · Ad hoc | 2 · Reactive | 3 · Defined | 4 · Governed | 5 · Optimised |
|---|---|---|---|---|---|
| Platform ownership | Nobody owns the platform as a whole | IT keeps it running informally | A platform owner is named | The owner has mandate and budget | Ownership is measured on delivery |
| Environments | Everything is built in the default environment | A few project environments have been created | A zone model is described | Zones are enforced technically | Environments are created and retired automatically |
| Data and DLP | DLP has not been set up yet | One shared policy for the whole tenant | Policy per zone | Connectors classified and reviewed | Exceptions are time limited and logged |
| ALM | Solutions are built where they are used | Moves happen manually between environments | Solutions and environments are defined | Pipelines with approvals | Source control, tests and gates |
| Agents | Agents are built where the need appears | We know most of the people who build | Guidelines exist | Identity, approval and inventory | Agents are products with an owner |
| Overview and solution ownership | There is not a shared overview yet | Follow up happens when something fails | Inventory exists, and every solution has an owner | Admin analytics in regular use, ownership is reviewed | Telemetry, alerts and measured response time |
| Cost | The cost has not been calculated yet | Consumption is seen at the annual statement | Licence and capacity mapped | Budget alerts and consumption per area | Costs allocated to consumers |
| Adoption | Makers learn it from each other | A few courses have been held | Onboarding and guidelines exist | Maker levels, community and champions | Adoption is measured and governed towards value |
The jump from level 3 to 4 is the one that costs. Every other jump can be made with a decision. This jump requires someone to make it their job.
This is how what was just pointed at is translated into what is worth spending time on.
The most common mistake after a maturity measurement is to make a plan that lifts all eight disciplines at the same time. That plan will not be completed, and afterwards the conclusion is that governance does not work.
Take the three disciplines with the lowest level and the highest pain. The other five should not be touched before those three are at level 3
Write down how you can see that a discipline has reached the next level. Without that, an improvement becomes an opinion
Repeat the measurement in six months with the same people in the room. The curve is worth more than the number
This page calculates from the maturity table and the symptom wall. It is empty until marks have been set. Click a chapter to jump directly there.
Who owns the platform, who owns the solutions, and who pays. Without that answer every other rule becomes an exception.
Most organisations have had a governance proposal on the table at least once. Most of those proposals are still there. There are three recurring reasons, and none of them mean the proposal was technically wrong.
A framework that is larger than the organisation that must carry it will never be adopted. Scope is not the same as quality
Policies, zones and DLP can be configured in a week. They only last if someone owns them afterwards
Without a named owner who may say no and may spend money, governance becomes a recommendation
The choice follows the organisation's own structure. What matters is that the model has been chosen deliberately and has not simply happened. Most organisations run centrally without deciding to.
Governance typically falls apart because the three layers are mixed together. The platform's responsibility is not the same as the responsibility for each solution, and neither of them is the same as oversight.
This is a proposal, not a model to approve. The value lies in editing it. R means performs the work, A means accountable and decides, C means consulted, I means informed.
| Decision or task | Platform owner | Platform operations | Security | Business unit | Maker |
|---|---|---|---|---|---|
| Environment strategy and zone model | A | R | C | I | C |
| DLP and connector classification | R | C | A | I | C |
| Approval of new connector | R | C | A | I | I |
| Creation of new environment | A | R | I | C | I |
| Ownership of each solution | C | I | I | A | R |
| Deployment to production | R | A | I | C | C |
| Approval of agent for production | C | R | C | A | I |
| Licence and capacity management | A | R | I | C | I |
| Consumption and credits per area | A | R | I | R | I |
| Monitoring and inventory | A | R | C | I | I |
| Cleanup and archiving | A | R | I | R | C |
| Maker enablement and community | A | R | I | C | C |
CoE is one of those concepts that means something different to everyone in the room. The definition must be settled before you can discuss whether there should be one.
The highest performing way to build on Power Platform is not citizen development alone and not professional code alone. It is four roles around the same table with different mandates.
Owns the problem and defines when it is solved. Has no tools, but has the only mandate that counts: to say that the solution is good enough
Builds most of the solution. Knows the business better than IT and the tool better than the business
Takes the 20 percent that cannot be built low-code: integrations, custom connectors, components and performance
Sets the framework once instead of approving every solution. Joins early rather than being a gate at the end
It is easy to appoint a platform owner. It is hard to give that person something to own with. Four things separate a real owner from a named contact person.
An employee leaving is an HR event with technical consequences. Deletion is not a handover plan.
It breaks weeks later, when a connection expires and no one remembers what the flow did. It is the most expensive governance failure because it is invisible until it is not.
OneDrive, mailbox, notebooks, Forms and Teams conversations. Deletion starts a retention clock that rarely aligns with the handover plan
Flows, apps, solutions and agents may be owned by the person or run under the person's connection. The failure is silent and appears weeks later
Group memberships, direct permissions, licences, admin roles and delegated access must be recreated. Give her the same as Priya is not a procedure
Mailbox, calendar, customer threads, supplier contacts and meeting series. Some of it cannot be recreated afterwards
The cheapest control and the one most often skipped. It must happen while the account is still active, not afterwards
Admin accounts, test accounts and service accounts that are effectively tied to a named human. HR driven offboarding does not find them
Each of the four has its own mechanism and its own failure mode. They are not solved by the same action.
An abandoned flow fails. An abandoned agent keeps answering, and it answers with the permissions it received from a person who no longer works here.
Published agents continue to run. If the agent uses the user's connection to a data source, it fails when the connection expires. If it uses a service identity, it continues, even without supervision
Ownership, approval and blocking of agents are managed centrally in the Microsoft 365 admin center, partly with an Agent 365 licence. Offboarding becomes an admin action, not archaeology
An agent's Entra Agent ID must have a sponsor who can explain why the agent exists. When the sponsor leaves, that is an offboarding task on the same level as an access badge
Someone must be able to stop an agent without knowing how it is built. That is an operations function, not a maker function
None of them requires a tool. They require agreement before the first solution is built.
Apps, solutions, agents, Teams, SharePoint sites and Microsoft 365 groups have at least two owners. Not because the second one does anything, but because the second one can
Everything that runs without a user in front of the screen runs on an identity that cannot resign
The connection is separated from the solution. Then it can be changed centrally without opening every single flow
The existing offboarding process gets one new step: which apps, flows and agents does the person own, and who takes them over. That step must happen while the account is alive
Ownerless resources are reviewed on a fixed cadence, not when someone discovers a problem
The environment is the boundary where technical governance takes effect. Environment groups set it consistently across many environments at once.
Most governance discussions stall because the room does not share the same picture of what an environment is. It is not a folder and not a tenant. It is a boundary.
The most frequent source of confusion in environment design is that two completely different divisions are blended into one. You need both, but they answer different questions.
Not by department and not by technology. A zone is a combination of who the solution reaches and what happens if it fails.
| Property | Green zone · Safe innovation | Yellow zone · Collaboration | Red zone · Enterprise |
|---|---|---|---|
| Purpose | Learning and experiments | Departmental solutions and team solutions | Business critical operations |
| Data | Test data, no personal data | Real data in known scope | Full production data |
| Who may build | Everyone with a licence | Approved makers | Only appointed development team |
| DLP policy | Strict, only non sensitive connectors | Business connectors | Narrow, approved list |
| Sharing | Only the owner | Sharing limit, not the whole organisation | Through security group |
| Premium connectors | No | As needed and licensed | Yes, approved per solution |
| Dataverse | Rarely | Often | Yes |
| Deployment | Not relevant | Solution export or pipeline | Only through pipeline with approval |
| Managed Environment | Yes | Yes | Yes, with solution checker |
| Creation | Automatic through routing | On request | Requires change |
| Lifetime | Deleted after inactivity | Follows the solution | Permanent, with owner |
Default environment exists in every tenant from day one. Everyone with a licence can build in it, it cannot be deleted, and it is hard to clean up afterwards. It is almost always where the largest undiscovered risk sits.
admin.powerplatform.microsoft.com under Manage, Environments and Security, Data policyWhen the number of makers increases, the shared development environment stops working. Not for technical reasons, but because people begin to step on each other.
Once zones and stages are in place, there is still a question of how environments are distributed across the business. There are three patterns, and the third almost always wins in large organisations.
Routing is the single feature with the highest impact relative to the effort required to turn it on. It solves the problem at the source instead of cleaning up afterwards.
Power Platform Admin Center under Manage, Tenant settings, Environment routingAs soon as there are more than a handful of environments, keeping them consistent by hand becomes impossible. Environment Groups move the rule up one level.
All the parts gathered on one page. The tenant sets what applies to everyone. The groups set the rule set per zone. The environments are where the work happens, and their type determines what they may be used for.
In a standard tenant, far more people can create environments than anyone expects. It is the single setting that most often surprises a security department.
Power Platform Admin Center under Manage, Tenant settings, environment assignmentsNaming feels like a detail until there are 40 environments and no one can explain what half of them are used for. The convention must be trivial to follow, otherwise it will not be followed.
The conversation that most often ends badly. Not because the feature is difficult, but because it is presented as a cost rather than as the thing that makes governance possible.
It is not another kind of environment. It is a set of administrative controls that you switch on for an environment you already have. Setup takes minutes.
Power Platform Admin Center, select environment, Edit Managed EnvironmentsThe objection sounds like this: Managed Environments require a premium licence for all active users, and we cannot afford that for thousands of employees. The premise is right. The conclusion is wrong, because it overlooks who is active where.
This is not a choice between nothing and everything. There are three real levels, and most organisations gain the most by moving from the first to the second.
| Capability | Unmanaged environment | Managed Environment | Managed with groups |
|---|---|---|---|
| Environment isolation | Yes | Yes | Yes |
| DLP policy | Yes | Yes | Yes |
| Sharing limits | No | Yes | Yes |
| Solution checker enforced | No | Yes | Yes |
| Weekly admin digest | No | Yes | Yes |
| Maker welcome content | No | Yes | Yes |
| Usage insights per environment | Limited | Yes | Yes |
| Environment Groups | No | Yes | Yes |
| Rule sets inherited by new environments | No | No | Yes |
| Pipelines with approval | No | Yes | Yes |
| Configuration drift over time | High | Medium | Low |
The most common serious incident on Power Platform is not an attack. It is an app with sensitive data that was accidentally shared with the whole organisation.
Solution checker also exists without Managed Environments. The difference is not whether it can run, but whether anyone can choose not to listen to it.
Managed Environments include features that are almost never used, even though they solve problems that organisations spend meetings on.
A regular email to administrators with top apps and flows, the most active makers and resources that have not been used for a while. It is the cheapest way to create a cadence, and it takes no effort to keep alive
Your own guidelines shown inside the tool when a maker signs in to Power Apps or Copilot Studio. Guidelines on an intranet are not read. Guidelines in the tool are seen
Which solutions are actually used, and by how many people. That is the prerequisite for cleanup, because cleanup without data becomes a negotiation with the owner
Recommending it for everything weakens credibility. There are situations where it does not make sense, and it is better to say that yourselves than to be caught out.
A pure production environment where nobody builds and everything arrives through a pipeline gets less value from the maker controls. It can still make sense for insights, but the gain is smaller
If the default environment has not been cleaned up, and nobody knows who owns what, Managed Environments will not solve that. If you do not clean up first, you are buying enforcement of a mess
If tens of thousands of users are active in those environments, the calculation is different. Then it must be handled honestly rather than talked down. It is rare, but it exists
Everything the other chapters describe as decisions becomes configuration in one place. The admin center is not a reporting portal. It is where the rules are actually switched on.
Most governance efforts shine in a document and stand still in the portal. The difference between a policy and a control is whether someone has set it here.
admin.powerplatform.microsoft.comThe portal has been cleaned up. Today there are eight functional areas, and almost all confusion about where something lives comes from looking for a ninth one that does not exist.
Recommendations for your own implementation. Security, operational reliability and general health, prioritised by the platform itself
Environments, environment groups and tenant settings. Also inventory, consumption and analytics under Products
The security features collected in one place, including identity and access, tenant isolation and data policies
Material, consumption and governance controls for Copilot and agents
Operational health for what has been built and deployed. This is where an app that fails for users becomes visible
ALM at scale, including pipelines and deployments across environments
Environments that need licence attention, licence consumption and capacity add ons
Self help and support case creation
Most discussions about who may do what arise because two people are talking about different rows in this table. Get this in place first.
| Role type | Examples | Scope | Assigned where |
|---|---|---|---|
| Tenant roles | Power Platform administrator, Dynamics 365 administrator, Global Administrator | The whole tenant, all environments | Microsoft 365 Admin Center |
| Environment roles | Environment Admin, Environment Maker | One environment without Dataverse | Power Platform Admin Center |
| Dataverse security roles | System Administrator, System Customizer, Basic User | One environment with Dataverse | In the environment |
| Application roles | Roles from Dynamics 365 Sales and Customer Service | One environment with Dataverse | In the environment |
This is the single change in the platform administration model that most often surprises an operations team. It is good news for governance, and it breaks habits.
Microsoft itself documents which role is the least privileged for each of the five tasks a platform administration must be able to perform in practice. It is the best antidote to giving everyone Global Administrator.
| Task | Least privileged role |
|---|---|
| Create or manage a security group and its members | Groups Administrator |
| Create users | User Administrator |
| Assign or remove licences | License Administrator |
| Attach a security group to an environment | Power Platform Administrator or Dynamics 365 Administrator |
| Assign Dataverse security roles | System Administrator in the environment |
There are about thirty tenant settings. You can leave most of them alone. These four determine whether the rest of the governance model can be enforced at all.
Manage, Tenant settingsThis is the single most effective control against building in the default environment. Instead of banning, you redirect. New makers automatically get their own personal developer environment, which is managed from the second it is created.
Manage, Tenant settings, Environment routingEnvironment groups are where a policy stops being an agreement. The mechanics have four traits worth knowing before you set the first rule.
Manage, Environment groups, Rules, Publish rulesThe list keeps growing. You do not need to decide on all of them at once. These five are the ones that actually change what is possible in a zone.
Under Settings and Product you find Features. Here there is a set of switches that Microsoft has switched on. Nobody has made a choice, and most organisations discover them only when someone asks.
Manage, Environments, Settings, Product, FeaturesCopilot, Settings. Take a screenshot of your own tenant before you build a procedure on this page.There is not one page for Copilot Studio administration. The real control surface is data policies, where each agent capability appears as a connector you can block. Here are the names, so you can find them.
Four controls that are almost always mentioned in a governance model, and that do not live under Tenant settings. They are the most common dead ends in a workshop.
Security, Identity and accessSecurity, Compliance, AuditingLicensing, Copilot StudioThis is worth clarifying early, because many governance models are built on an assumption that the portal remembers. It only does so briefly, and the numbers do not mean quite the same thing from product to product.
Data is stored for at most 28 days. The reports are updated about every 24 hours
Data stays in the region for up to 28 days. Also about 24 hours of refresh latency. Solution cloud flows are not included in the reports
Each chart is updated every 24 hours. No retention window is stated for the views themselves. 30 days applies to the reports you download
Many organisations have built their governance model on top of CoE Starter Kit. There is a good reason for that, and there is now an equally good reason to plan a transition.
| What you used CoE for | Where it lives now |
|---|---|
| Inventory of apps, flows and agents | Inventory under Manage |
| Adoption, most used solutions and owners | Usage under Manage |
| Operational health for heavily used solutions | Monitor |
| Find risks and enforce good practice | Actions |
| Programmatic access and your own reports | Power Platform CLI, Power Platform API, inventory API and the connector Power Platform for Admins V2 |
An environment in Europe does not mean every AI feature stays in Europe. The answer is set per environment, in four switches, and one of them always leaves the region.
Manage, Environments, the environment, Generative AI features, EditAdministrators rarely open the portal to browse. They open it with a question. These are the questions a security review asks, and the path to the answer.
| The question | The path in the Power Platform admin center |
|---|---|
| How secure is the tenant overall | Security, Overview |
| Which data policies apply | Security, Data protection and privacy, Data policy |
| Can data leave for another tenant | Security, Identity and access management, Tenant isolation |
| Who approved Microsoft access to our data | Security, Compliance, Customer Lockbox |
| Where the AI processes data | Manage, Environments, the environment, Generative AI features |
| Which AI features are on, and what they cost | Copilot, the Copilot hub |
| Is a public website exposed | Security, Products, Power Pages |
The second half is the operations team's daily route. Most of it sits under Manage, and the rest is spread over three top level areas that people forget exist.
| The question | The path in the Power Platform admin center |
|---|---|
| What exists, and who owns it | Manage, Inventory |
| What should we fix first | Actions, which is Power Platform Advisor |
| Is something failing for users | Monitor |
| Who may build agents, create environments | Manage, Tenant settings |
| Rules for many environments at once | Manage, Environment groups |
| Can we restore yesterday | Manage, Environments, the environment, backup and restore |
| Can we survive a regional outage | Manage, Environments, the production environment, Disaster Recovery |
| How do changes reach production | Deployment |
Not an implementation plan, but the four actions in the portal that give the most back for the least effort. All four can be done in one morning.
See who has Global Administrator today, and move them to Power Platform Administrator where that is enough. Remember that the role must be assigned directly, not through a group
Set production and trial environments to specific administrators only. Then make a list of the environments that already existed, because they still belong to their creators
Give makers their own managed developer environment. It is the control that changes the most behaviour without anyone experiencing a ban
The platform already has a prioritised list of your own risks. It is free, it is specific, and most people have never opened it
An agent is built under Power Platform rules and used under Microsoft 365 rules. Two admin teams, two portals and one agent. This chapter draws the line between them.
Microsoft's own agent FAQ names both admin centers for configuration and enforcement. Most organisations have one team per portal, and the agent falls in the gap between them.
Where agents are built. Environments, who may author, data policies for connectors and knowledge, sharing limits, capacity and Copilot Studio billing
Where agents are used. The Agent Registry, requests for publishing, the store, who may install, pinning, blocking and removal
Where the agent's identity lives. New Copilot Studio agents get a Microsoft Entra Agent ID automatically
The control plane across agents from every source. Generally available since 1 May 2026, and licensed separately
Eight decisions every agent passes through. Read across the row, and the gap between the two admin teams becomes visible before it becomes an incident.
| Decision | Power Platform admin center | Microsoft 365 admin center | Note |
|---|---|---|---|
| Who may build agents | Copilot Studio authors, a tenant setting | No | Points to one security group |
| Where makers build | Environment routing | No | Personal developer environments, managed from birth |
| Which connectors and knowledge an agent may use | Data policies | No | Also controls knowledge source types and channels |
| How widely a maker may share | Sharing limits in Managed Environments | Sharing, but only for agents built with Agent Builder | Two settings for two kinds of agent |
| Publish to the whole organisation | No | Requests: publish to store or reject | The admin also chooses which users or groups may install |
| Who may install and use agents | No | Agents, Settings, User access | All users, no users, or specific users or groups |
| Block or remove an agent | No | Agent Registry | Also pinning, deployment and export to CSV |
| Pay for consumption | Billing policies and capacity allocation | Copilot, Billing and usage | Different products, see the billing slide |
A Copilot Studio agent reaches Teams and Microsoft 365 Copilot through one channel. What happens next depends on whom the maker shares it with, and only one of the two routes passes an administrator.
And chooses whether the agent should also be available in Microsoft 365 Copilot
Only those users can find and install it, under Shared with you in the Agent Store. No admin approval. Sharing limits in PPAC are the control here
The agent is submitted for admin approval and lands under Requests in the Microsoft 365 admin center
Publish to the store or reject. Choose which users or groups may install it, and optionally install it for them
In the Teams app store and the Microsoft 365 Agent Store, and in the Integrated apps list
Publishing article verified for the standard harness.
Agent Builder lives inside Microsoft 365 Copilot. Microsoft documents that admins manage it through the Microsoft 365 admin center, while Copilot Studio is managed through PPAC. Its sharing model is therefore a Microsoft 365 decision, not a Power Platform one.
Can edit makes someone a full owner with equal rights to share, manage and delete. Can chat is use only. Groups can only be chat users, so ownership always sits with named people
Turning on org-wide sharing for chat access puts the agent in the Agent Store for the whole tenant. The admin decides who may use the toggle: all users by default, specific users or groups, or no users
The agent respects each user's SharePoint permissions and sensitivity labels. Sharing the agent can share the files you added, but removing someone from the agent does not remove their access to those files
When an Agent Builder agent outgrows the no-code tier, the maker copies it to Copilot Studio. From that moment it is stored in Dataverse, lives in a Power Platform solution and is governed in PPAC.
Every governance review eventually puts the two agent counts side by side and finds they differ. Microsoft documents that they differ by design. The work is to know why each difference exists.
The Copilot Studio agent inventory article is marked as preview documentation.
The names are close enough to cause a wrong answer in a security review. One indexes data ahead of time, the other calls an API at the moment of the question, and each is governed in its own portal.
Finance sees one Microsoft invoice. The configuration behind it is split, and the person who switches on a meter is rarely the person who reads the bill.
| Meter | Covers | Configured in |
|---|---|---|
| Copilot Chat pay as you go | Agents in Microsoft 365 Copilot Chat and SharePoint agents | Microsoft 365 admin center, Copilot, Billing and usage |
| Power Platform billing policy | An environment linked to an Azure subscription. The Copilot Studio meter counts Copilot Credits consumed by agents | Power Platform admin center |
| Copilot Credit capacity packs | Prepaid, 25,000 Copilot Credits per pack per month | Bought as a licence, allocated to environments in the Power Platform admin center |
None of these need new technology. They need two teams in one meeting, and a name written next to each line.
The Microsoft 365 admin approves, the Power Platform team supplies the context: environment, connectors, knowledge and owner
All users, no users or specific groups. The default decides how far an approved agent travels
Power Platform inventory against the Agent Registry, with the three questions from the inventory slide
Copilot Chat pay as you go and Power Platform billing policies land on the same invoice from different portals
New Copilot Studio agents get an Entra Agent ID. Governing those identities needs Microsoft 365 E7, or Agent 365 with at least Entra ID P1 or Microsoft 365 E3
Where data may move, who may see it, and how to approve an exception without opening everything.
DLP in Power Platform is not like DLP elsewhere in Microsoft 365. It does not inspect the content of data. It decides which systems may talk to each other in the same solution.
Power Platform Admin Center under Security, Data and privacy, Data policyNew connectors are added to the platform continuously, both from Microsoft and from third parties. The question is not whether you manage to assess them. It is what happens in the meantime.
A single policy must either be so tight that nothing can be built, or so loose that it protects nothing. The answer is not a better single policy. It is multiple policies, tied to the zones.
| Connector category | Green zone | Yellow zone | Red zone |
|---|---|---|---|
| Microsoft 365 and Dataverse | Yes | Yes | Yes |
| Approved business systems | No | Yes | Yes |
| Premium and third-party, approved | No | After assessment | Yes, per solution |
| Custom connectors | No | No | Yes, approved only |
| HTTP and HTTP with Entra | No | No | By exception only |
| Personal services | Blocked | Blocked | Blocked |
| New, not yet assessed | Blocked | Blocked | Blocked |
| Who can request an exception | No one | Product owner | Product owner and security |
A carefully built DLP model can be made irrelevant by two capabilities that many organisations have not made a decision about.
A maker can define their own connector to any API. If custom connectors are not classified in the policy, they can become an approved path out of the organisation that no one has assessed. They must be handled explicitly, not forgotten
With HTTP, a flow can call any address directly. Data policies can classify it, but only if someone does. It is a legitimate and necessary capability for integrations, and it is also the broadest data exit in the platform
A governance model without an exception process does not hold. There will always be a real need that the rule did not anticipate, and if there is no path, the rule is broken silently instead of changed openly.
The most durable access control in Power Platform is not the most advanced one. It is the one that follows along when people change jobs, without someone having to remember to clean up.
Each environment gets a security group in Entra. Access is limited to group members, and roles come through a Dataverse group team linked to the same group. That makes access follow the employment relationship
Assign licences by group, not per person. That makes it possible to see how many premium licences are used for what, and to withdraw them without a manual review
Define a few roles: maker, approver, administrator, read access. Many small special permissions are the fastest path to an access model no one can understand two years from now
This question always comes from infrastructure, and it is often answered imprecisely. It is worth being precise, because an imprecise answer sticks and blocks a project for months.
Power Pages is the one part of the platform built for people outside the organisation. Every control in the rest of this chapter assumes a signed in employee. A public site does not.
All sites are private by default, and developer environments cannot be made public. A governance control lets the tenant admin decide whether makers may make non production sites public at all
If the Anonymous users web role has a table permission, any visitor gets the access that permission grants. A tenant control can block unauthenticated read access to Dataverse data. Write access is governed separately
Built on Azure Front Door and runs in prevention mode. When it is on, use its custom rules instead of the site's own IP restrictions
Security, Products, Power Pages · governance controls under Manage, Power PagesHow something gets from an idea to production, and how it comes back again if it was wrong.
This is the cheapest rule in the whole governance model, and the one that is broken most often. It costs nothing to follow from the start and is very expensive to introduce backwards.
The difference is not technical cosmetics. It decides whether someone can make a manual change directly in production, and therefore whether your ALM is real at all.
In Copilot Studio, the button is called Publish. That word means something very different from what most people think, and the difference is usually discovered only when something has to be rolled back.
Power Platform Pipelines is the low-code version of a deployment process. It exists in the platform and requires neither DevOps tools nor a pro developer to set up.
When a deployment fails the first time an organisation tries, the cause is almost always the same: the solution has the development environment's settings baked into it.
A solution must point to a reference to a connection, not to a concrete connection. Then each environment can have its own, and production does not need to use the developer's personal access to the system
Everything that differs from environment to environment must be a variable: addresses, folder names, recipients, time limits. If they are written directly in, the solution must be fixed by hand at every deployment
Most organisations think they can roll back. What they have is a backup of data. That is not the same as being able to return a solution to the state it had yesterday.
Before choosing tools, decide where the truth lives. Is it the development environment, with Git as a snapshot? Or is it Git, with environments built from it? Every option follows from that answer.
Export and import by hand. Environment first
Built in, optional approval. Environment first
Scripted export and deploy. Environment first
Environment connected to a repository. Source first
Build and release from Git. Source first
No option is wrong. Pick where you are, and move right over time. Speaker's model, retold.
Source control is right for some solutions and excessive for most. It is worth being concrete about where the line is, otherwise it is introduced everywhere or nowhere.
The previous slide holds while humans do the building. When an AI coding agent writes the solution, source first stops being the exception, because Git is the only place a human can review what the agent did before it reaches a real environment.
Tests become governance when they sit inside the pipeline: build, deploy to test, run the tests, and only promote to production if they pass. A failing test blocks the release instead of informing a meeting.
Solution Checker on every export. Free and fast
Plugins and custom code, with a mocked Dataverse
Real calls against a test environment
The Power Platform Playwright samples, which replace the deprecated Test Engine
Copilot Studio evaluations against a test set, automated through the Power Platform API
The app opens, the main form loads, the key process completes. Three tests catch most broken releases
Code written by an assistant looks right more often than it is right. Behaviour tests are the only honest check
Test levels adapted from Yannick Reekmans and Matej Samler, Nordic Summit 2026. Tool availability verified on Microsoft Learn. Automating evaluations through the API applies to the standard harness.
There is no longer one way to build an app. It is a governance question before it is a developer question.
The discussion used to be low-code or pro code. Now there are four new options in between. Code Apps and Generative Pages are generally available, Vibe is still in preview, and each has limitations with direct governance consequences.
| Build option | Typical use | Requires | Maturity |
|---|---|---|---|
| Canvas Apps | Forms, field actions, mobile | Functional skills | GA |
| Model Driven Apps | Data heavy processes on Dataverse | Data modelling | GA |
| Generative Pages | Guided, task focused pages inside a Model Driven App | Some React support | GA |
| Code Apps | Complex requirements, long lifespan, own frontend on the platform | Real developer skills | GA |
| Vibe | Prototypes and demos, prompt to app | Functional skills | Preview |
| Custom Web Apps | Everything outside the platform | Full development team | Outside |
Code Apps let a development team bring its own code and host it as an app on Power Platform, with access to connectors and Dataverse. Generally available since February 2026, it is the option that removes the classic excuse for building outside the platform.
Full control over UI, logic and integrations. Complex demanding solutions do not need to leave the platform to get a proper frontend
The app stays on the platform. It inherits identity, connectors and environment structure instead of becoming a shadow IT project in a completely different cloud
It requires real developer skills. It is code built in an IDE, not a designer. Every end user needs a premium licence, an app pass or pay as you go
The team will use GitHub Copilot. That is a separate subscription and must be included in the calculation, not discovered later
Limitations change between two talks. Generative Pages became generally available and solution aware in April 2026. Vibe stays in preview, and Microsoft now points app building to Copilot Cowork and Copilot Studio. Check the documentation before you write the rule.
Managed Apps is an alternative UX stack with its own website and its own GitHub repo. It uses Radix UI, prefers SharePoint and other data sources, and is edited inline.
A separate build experience beside Power Apps, not inside it
Very early. Described by people who have tried it as something that does not feel built by a Power Platform team
Know the name, so you recognise it if it appears in a business unit. Do not build a policy around it yet
The list of tools gets old in a quarter. The questions do not. This is the slide that still works in a year.
If no, it cannot be moved through Dev, Test and Prod, and it cannot be rolled back. So by definition it is a prototype tool
The user's own identity, or a service identity? That decides what happens when the builder leaves
If it talks to data through connectors, it does. If it talks directly to an API outside that path, it does not, and then another control is needed
A build option that does not count in your inventory cannot be monitored and cannot be offboarded
The answer is almost always sandbox first. Preview and production do not belong together
The most useful guardrail against forcing everything into an agent. Some tasks need predictability, others need understanding.
It is rarely either or. The three patterns cover almost everything built in practice, and each has its own governance profile.
The user starts in a conversation. The agent understands the need and opens the right app or starts the right process. The agent is the door, the app is the room
The user is already in the app. The agent explains, summarises, searches and writes drafts. The structured action stays in the app, where it can be validated
The user finishes the structured work. The agent summarises, recommends and prepares follow-up
Code Apps, code components and Power Pages code sites are often written with an AI assistant now, by people who may not read every line. That is fine, if the code meets the same gate as any other code before it reaches users.
| What is built | The control that exists | What to add |
|---|---|---|
| Code Apps | Switched on per environment. Data policies are enforced when the app launches, and the app is solution aware. Power Platform Git integration is not supported | Only switch it on in environments with source control and a reviewer |
| Code components in canvas apps | An environment setting must allow them. A component can reach the user's data and tokens | Treat third party and generated components as untrusted until reviewed |
| Power Pages code sites | Uploaded with the PAC CLI. There is no built in Git integration for single page app sites | Keep the source in your own repository and upload from a pipeline |
| Everything in a solution | Managed Environments can enforce solution checker at None, Warn or Block on import | Set Block for production. Warn is a suggestion nobody reads |
Agents break the assumptions that governance of apps and flows rested on. They act on their own, they cost per use, they have their own identity, and their knowledge is an attack surface.
It is the tool where you build and operate your own agents. It is not a separate product beside the platform, it is a service on the platform, and that is why existing governance reaches into it.
Power Platform admin centerCopilot and the data policies under SecurityThis question comes before every other governance question. Personal productivity is bought, runs as the user and needs no owner. Custom built is made for many people, and then everything in this chapter applies.
Answers, drafts and summarises inside the Microsoft 365 apps, using only what the user can already see
Carries out multi step tasks on the user's behalf across Microsoft 365, within the user's existing permissions
An agent built for one job and used by many. Someone designs it, owns it and keeps it running
| The test | Personal productivity | Custom built |
|---|---|---|
| Who is it for? | One person and their own work | A team, a process or customers |
| Whose access? | The user's own permissions, nothing more | What you design: the user, a maker connection or the agent's own identity |
| Who maintains it? | Microsoft. Nobody in your organisation owns it | A named owner, with ALM and a lifecycle |
| How is it governed? | Licences, Purview, sensitivity labels and the user's permissions | Environments, DLP, approval, credits and monitoring |
The grey zone is sharing. An agent someone builds for their own use becomes custom built the moment colleagues start to rely on it, and that is the moment it needs an owner. If something on the left already does the job, use it before building.
Agent governance becomes diffuse if the agent is treated as one thing. It consists of three parts, and each part has its own governance question.
What the agent should and must not do. The governance question is who may change them, and whether the change can be traced. The instructions are source code in practice
What the agent answers from. The governance question is which sources are approved, and whether the source enforces access per user or simply returns everything
What the agent can do. The governance question is what it may execute without a human, and which identity the action is executed with
A harness is the runtime layer between the agent you design and the model that drives it. It determines when the model is called, what context it receives, and which tool is used next. The build surface differs between harnesses, and so do the capabilities and cost model.
The familiar engine. Topics and triggers give fixed paths where you need them, alongside generative orchestration. The build phase is not billed, consumption begins at publication
(Formerly GitHub Copilot harness, the name Learn still uses.) Goal based reasoning. Skills and Workflows instead of topics, file creation in preview, full trace. Billed across the entire lifecycle
Built for customer facing voice and chat, with specialist agents that can hand over to a human representative
Most security and governance tools apply to both, but some authentication options, channels and sources differ. The difference is what the agent can work out on its own, and when you start paying for it.
| Criterion | Standard | Microsoft Copilot |
|---|---|---|
| Built for | Predictable, rule based conversations and processes | Flows with many steps, many sources and ambiguous decisions |
| The logic | Topics and triggers that you control | Goal based reasoning, the engine finds the steps itself |
| Building blocks | Topics, agent flows and prompts | Skills in markdown and Workflows on a visual canvas |
| Predictability | High where topics fix the path. Generative steps still vary | Lower, it adapts along the way and recovers after errors |
| File generation | Code interpreter, opt in | Built in file creation, in preview |
| Troubleshooting | Trace per topic | Full thinking and step by step trace of tool calls |
| When the meter starts | At publication | At the first keystroke in the build phase |
| M365 Copilot inclusion | Yes, for eligible internal scenarios | No, consumption is billed regardless of licence |
| Governance centre of gravity | Approval before publication | Ceilings and boundaries before anyone starts building |
The whole experience is billed on the Microsoft Copilot harness, not only the agent's final answer to the user. That moves the budget conversation from the operations meeting to the first design meeting, and it changes who must say yes before anyone starts.
Describing the agent in natural language and letting the platform generate it
Instructions, knowledge and tools while they are being built
Every test conversation in the canvas counts in the same way as a real conversation
Systematic evaluations draw consumption like any other run
The reasoning itself and the actions it chooses to execute
The ongoing production use that everyone had already expected
This is the question makers most often answer incorrectly, and the error is only discovered in operations. The rule of thumb is that anything that must be right every time does not belong in a model.
| Criterion | Connected agent | Capability in the agent | Flow as tool |
|---|---|---|---|
| What it is | An independent agent called by another | A bounded capability inside the agent | A deterministic automation |
| Conversation | Can hold its own dialogue | Can ask clarifying questions | No dialogue |
| Own persona | Yes, own instruction and tone | No, inherits the agent's | Not relevant |
| Memory | Own context | Shares the agent's context | None between runs |
| Predictability | Low, the model decides | Medium | High, the same input gives the same output |
| Suitable for | A whole discipline with its own expertise | A task in a conversation | A transaction that must be right every time |
| Reuse | Can be used by several agents | Belongs to one agent | Can be used by everything |
| Governance | Own owner and own approval | Follows the agent | Follows normal ALM |
This is often a surprise in the room. The question is not whether agents should have identities. It is who owns them, who reviews them, and who can turn them off.
Entra Agent ID chapterWhen a maker adds a tool and authenticates it with their own account, every user of the agent acts with the maker's permissions. The admin center can decide which options makers are allowed to choose.
| Pattern | Who the tool acts as | Fits |
|---|---|---|
| End user credentials | Each user signs in, and gets only what their own account allows | Interactive agents on data with per user access |
| Maker provided credentials | The maker's stored connection, for every user | Narrow, deliberate cases. Risk of oversharing data and actions |
| Both allowed | The maker chooses per tool | The default. Fine for development, a decision for production |
Manage, Environments or Environment groups, Settings, Product, Features, Copilot Studio agentsThe most common serious incident with agents is not that the agent does something wrong. It is that it does something entirely correctly with data it should never have been able to reach.
Most organisations do not need a heavy approval process for agents. They need one gate that is short enough to be used, and that asks the questions that actually determine the risk.
All agent risk can be reduced to one question: what happens if it is wrong? The answer depends almost entirely on how much it may do without a human.
Autonomy is one axis. Two agents at the same level can carry very different risk. The risk comes from a combination of five factors, and an intake that asks about all five classifies better than one that asks what the agent is called.
Which information and systems can it reach
What may it decide on its own
Who or what can it affect
How serious are the consequences
Can the outcome be undone
The same topic sits in several documents, some newer, some local. Someone must own which source is authoritative
Calendar, allocation and team data are harmless apart. Combined, they can say something no one approved
The tool is allowed, but the action may not be. Govern parameters, identity, confirmation and reversibility at the point of action
Building an agent registry from scratch is often proposed. It is almost always wrong, because the technical part already exists and updates itself. What is missing is something completely different.
Apps and flows lived in one admin center. Agents are built in four places, and each place has its own owner. No single team can govern them alone, so the first design task is deciding who decides.
Microsoft 365 Copilot and SharePoint agents, and central agent management in Agent 365
Copilot Studio, environments and ALM
Pro code agents in Microsoft Foundry, with their own model and engineering choices
Regulation such as the EU AI Act: literacy, inventory and risk classification
Agents do not invalidate the governance model for apps and flows. Most of it carries over, some of it must grow up, and four things are new.
Most releases add capability. These five change who can do what, or what counts as a change. Each one needs a sentence in the operating model before it arrives, not after.
| Capability | What it changes for governance | Targeted |
|---|---|---|
| Skills catalog Microsoft Copilot harness | Reusable skills shared across agents. One skill change now changes many agents, so skills need an owner and a version | Oct 2026 Roadmap 571880 |
| Viewer and Editor maker roles Microsoft Copilot harness | Finer sharing than co owner. Review who can edit a production agent, not only who can use it | Launched Oct 2026 Roadmap 569475 |
| Self learning | The agent proposes a refined copy of itself and the maker accepts it. Acceptance is a change, so it follows ALM | Oct 2026 Roadmap 570432 |
| Persistent agent identity | A mailbox and Teams presence for the agent. It becomes a visible colleague, with a lifecycle like one | Nov 2026 Roadmap 570430 |
| Run only sharing of autonomous agents | Others can trigger an autonomous agent without being able to change it. Separates operating from authoring | Jan 2027 Roadmap 567894 |
Dates are Microsoft 365 roadmap targets as of October 2026 and move. Roadmap 569475 has launched. Two items apply only to agents on the Microsoft Copilot harness. Check the harness before promising a feature to a team.
Computer use lets an agent operate websites and desktop applications that have no API. It is powerful precisely because it bypasses the connector layer, which is also why it needs its own rules.
Restrict the websites and applications the agent may act on. The default is any. The list blocks actions on others, it does not stop the agent from opening them
Store sign in details in Power Platform encrypted storage or Azure Key Vault. Never in instructions, and never a personal account
Hosted browser and Cloud PC pools are in preview, and the hosted browser is not recommended for production. Your own machines run through Power Automate Desktop
The transcript keeps a screenshot per action, and detailed logs are on by default with seven days of retention. Decide if seven days is enough for audit
The strongest thing an adviser can say in an agent project is when not to use one. That buys credibility for all the times the answer is yes.
If the same input must give the same output every time, a flow is cheaper, faster and auditable. A model that almost always does the right thing is worse than a rule that always does it
If documentation is outdated, contradictory or scattered, an agent does not solve that. It makes the problem faster to access and more convincingly worded
If the consequence of a wrong answer is legal, financial or health related, the human must stay in the loop. The agent may prepare the decision, but it must not take it
Which runtime, which knowledge source, which tool and how many agents. Four choices that are hard to change later.
Copilot Studio has three runtimes that look similar in the portal and behave differently in operations. Changing later means a one way copy without knowledge, Power Fx and child agents, then full retesting.
Path-driven. Best for structured, repeatable work with known requests. Topics, triggers, rules and branches. Agents and agent flows. Predictable
(Formerly GitHub Copilot harness, the name Learn still uses.) Goal-driven. Best for reasoning heavy work across several steps. Plans from a goal, chooses tools, adapts and retries. Skills, files, memory and sandbox
Service-driven. Best for customer voice and chat, where specialist agents resolve issues and hand over to a human representative
Microsoft Learn: the harness is a Copilot Studio authoring and orchestration framework, not the GitHub Copilot service, and customer data isn't sent to the GitHub Copilot service.
This table is the fastest way to discover that a solution sketch cannot be built on the harness it was designed for.
| Building block | Standard | Microsoft Copilot | Comment |
|---|---|---|---|
| Child agents | Yes | No | Specialist inside the same solution, with its own inputs and outputs |
| External agent connections (A2A, Foundry, Fabric) | Yes | Partly | Several of them are in preview. Verify in your own tenant |
| Skills | No | Yes | Reusable way of working, markdown with optional scripts |
| Memory | No | Preview | Must be assessed separately for personal data |
| File work and sandbox | Partly | Yes | Standard has an opt in code interpreter. File creation is in preview |
| Connected agents | Yes | Yes | Exists in both places |
| MCP servers | Yes | Yes | Exists in both places. See the chapter on MCP and A2A |
| Workflows and connectors | Yes | Yes | The deterministic foundation |
| Channels beyond Copilot, Teams and web | Yes | No | No SharePoint, messaging or contact center channels yet. MCP and A2A client channels are in preview |
The choice of knowledge source decides what the agent can answer, how fresh the answers are, and who can see what. It is a security decision disguised as a technical one.
| Source | Best for | Downside |
|---|---|---|
| SharePoint | Policies, wikis, HR and IT documents | Limited indexing, large sites are heavy |
| Uploaded files | Small, static document collections | Do not update automatically. Do not inherit permissions |
| Websites | Product documentation and public information that changes | The URL may be at most two levels deep, and search uses Bing |
| Dataverse | Structured data | Requires a data model in advance. In return, synonyms and glossary |
| Copilot Connectors | Large external datasets | Depends on Semantic Index, less control |
| Azure AI Search | Complex or unstructured data with custom indexing | Extra work and extra cost, and standard harness only |
| Work IQ | Work data: mail, chat, files, meetings and relationships | A tool on the Microsoft Copilot harness, on by default with write access, so restrict it deliberately |
Read from the top down. First yes wins. It takes one minute and prevents the conversation where three sources have been set up for the same content.
Use Work IQ on the Microsoft Copilot harness, and restrict its write access
Use SharePoint
Use uploaded files, and remember that they do not inherit permissions
Use websites
Use Dataverse
Use Copilot Connectors
Use Azure AI Search
An agent is only as current as the content it grounds on. Many wrong answers in production are not model errors. They are a document that nobody owned any more.
Knowledge enables the agent to answer. Tools enable it to act. That is where governance starts to cost something, because actions have consequences.
| Tool | Best for | Downside |
|---|---|---|
| Connectors | Fast actions against Outlook, Teams, Dataverse and common services | Fixed set of actions, limited logic |
| REST API | Business systems with an API | Requires OpenAPI definition and authentication |
| MCP servers | Reusable toolkits shared across agents and platforms | Must be built and hosted if it does not exist |
| Agent flows | Deterministic logic across several steps | Consumes Copilot Credits and must be maintained |
| Prompts | Scoped model tasks: summarisation, classification, analysis | Costs extra, and the output must be controlled |
| Computer use | Applications with no API at all | Fragile, slow, requires a Windows desktop |
The most useful single rule in the whole agent discussion. It also decides where your audit trail will sit.
When one agent is not enough, there are really only two basic shapes. The choice between them is decided by whether one business domain dominates.
Every agent can pass its own tests while the combination fails. In a multi-agent design the risk sits in the handoffs, so that is where the approval has to look.
What is passed, in which shape, and what the receiving agent may assume. Written down, and versioned like an API
What happens when a specialist does not answer, answers wrong or times out. And which agent tells the user
One conversation followed across every agent it touched. Without it, nobody can explain an answer afterwards
Approve the composition as one release. A change in one agent reopens the gate for the whole system
The feature lists overlap more every quarter, so comparing them settles little. The useful question is who will own and change the agent, and the answer usually points to both.
Each of them has cost someone a rebuilt project.
It is a runtime. Changing means a partial copy and rebuilding the rest
Skills cover many needs, but provide neither triggers nor typed inputs
Network calls belong in a tool. Verify sandbox network access in your own tenant
MCP connects agents with tools. A2A connects agents with agents. Use both
There are limits, and they depend on the harness. Verify in your own tenant
Below roughly 30 to 40 actions: keep it on one agent. Simpler maintenance, less orchestration, lower response time
Architecture reviews go wrong when every reviewer brings a private checklist. Power Platform Well-Architected is Microsoft's public one, built on the same five pillars for every workload, agents included.
Survives failure, recovers in the time the business needs
Least privilege, protected data, a defended attack surface
ALM, monitoring and a team that can run it
Responds fast enough at the load it will meet
Useful, accessible and trusted by the people who use it
Two protocols that open the agent to the outside world. They create two new trust boundaries that your current controls do not necessarily cover.
They do not compete. They solve two different things, and they create two different risk pictures. The confusion is the reason this slide exists.
The MCP server appears as a connector surface and becomes covered by connector governance. But two differences have direct governance consequences, and they are not obvious in the portal.
| MCP | Connectors | |
|---|---|---|
| Where it works | Copilot Studio and workflows | Copilot Studio, Power Apps, Power Automate and Logic Apps |
| Addition | Many tools at once | Actions are added one at a time |
| Configuration | Agentic capabilities without configuration | Actions are configured explicitly |
| When the server changes | No update needed. New tools are inherited dynamically while Allow all is on | The connector must be updated |
| DLP | At server level, not per tool | At action level |
This is not an argument against MCP. It is the list of what a security review must ask before an external MCP server is approved.
Malicious or unintended. Instructions hidden in data that the agent reads and obeys
A trusted tool does something other than what the description says
The server executes code on behalf of the agent
The server is open. It is the most frequently observed issue in practice
Credentials are harvested from configuration or from the call
The instructions and context themselves are collected by the counterparty
The figures here are from Trend Micro's mapping of exposed MCP servers, cited at Nordic Summit 2026. They are worth including because they move the conversation from principle to observation.
exposed MCP servers found in one mapping
of them exposed a tool that could run arbitrary SQL
cloud credentials found directly in MCP configuration files
Source: Trend Micro, referenced in the Nordic Summit session on MCP and A2A. Figures of this kind change continually and should be verified against the source before they are used in a decision paper.
This slide is the honest version. The right column is not a gap that will be closed next quarter. It is a consequence of the server belonging to someone else.
A2A is the newer and less mature of the two. The risk is not the protocol, it is that the other end is a black box you do not administer.
It may be an agent in another tenant, an open source agent or a malicious endpoint. Today there is no good way to determine that
The transcript of what actually happened in the other agent is not available to you
Sensitivity labels and DLP do not propagate to the counterparty's agent. Data classification stops at the boundary
A data policy change that blocks an A2A connection can take up to a day to take full effect. It is not an emergency brake
None of the four covers everything. This map shows what you can realistically promise, and what you must write in the risk register instead.
| Surface | PPAC | Agent 365 | Purview | Defender |
|---|---|---|---|---|
| Agent inventory and ownership | Partial | Full | Partial | Partial |
| Connectors and DLP classification | Full | Partial | Partial | Partial |
| Knowledge sources and data labels | Gap | Partial | Full | Partial |
| Prompts and responses, audit | Gap | Partial | Full | Full |
| MCP tool registration | Full | Partial | Gap | Partial |
| External MCP server internals | Gap | Gap | Gap | Gap |
| A2A endpoint registration | Partial | Partial | Gap | Gap |
| Transcript at counterparty agent | Gap | Gap | Gap | Gap |
| Identity, Entra Agent ID | Partial | Full | Partial | Full |
| Blocking unsafe action in real time | Full | Partial | Gap | Full |
| Data flows across tenants | Gap | Gap | Gap | Gap |
The assessment is the speakers' view, as of Nordic Summit 2026. The picture moves quickly, so use it as a conversation frame and verify the rows you intend to rely on.
Not a maturity programme. Six concrete decisions, most of which use controls you already own.
Allowlist of servers and endpoints per environment. Require Entra authenticated connections. Ban anonymous Direct Line
Classify MCP connectors as business or non business. Isolate production and sensitive workloads in their own groups
Defender's agent protection and PPAC runtime protection. Blocking injection and oversharing before the tool runs
Collect prompts, responses and sensitivity labels. Use retention and compliance. Watch for prompt injection signals
All internal agents get an Entra Agent ID. Assign owners. Apply policy templates. Block risky agents centrally
MCP internals, counterparty behaviour, data flows across tenants and label propagation. Accept them explicitly in the risk register
The protocol is maturing quickly. It is a useful reminder not to write a policy that relies on a momentary limitation.
Has built in MCP bindings. The realistic path to your own hosted MCP server
Your own MCP servers appear in Agent 365 and can be approved centrally. That closes part of the gap
Support and licensing change quarterly. This slide has an expiry date
Every new Copilot Studio agent now gets its own identity in the directory, whether anyone asked for it or not. This chapter explains what that identity is, who is accountable for it, and what Entra can actually enforce on it.
Entra Agent ID is not one object. It is a template, its presence in the tenant, the identities created from it, and an optional user account. Governance gets easier the moment the room can tell them apart.
The template. Holds description, app roles, publisher, credentials and the permissions every identity created from it inherits. It can do exactly one thing itself: create and delete agent identities
The blueprint's presence in your tenant. It is the actor in audit logs and the object you delete to remove the blueprint from the tenant. Blueprints can be single or multi tenant
A service principal with the subtype Agent. This is the identity that requests tokens and calls resources. Each one has a parent blueprint
Optional, never created automatically. A user account tied one to one to an agent identity, for systems that only accept users. More on the agent user slide
You do not design a blueprint for Copilot Studio agents. Microsoft owns it, and every agent identity Copilot Studio creates is one of its children.
Settings, Advanced, Metadata in Copilot Studio. The identities themselves are in the Entra admin center, Agent IDBlueprint application ID: 25664c89-cea5-4ab6-b924-a54fd8a19ae0. The per blueprint cap of 250 identities that applies to custom blueprints does not apply to Copilot Studio. Source: Microsoft Learn, October 2026.
Entra separates technical control from business accountability. That separation is exactly what most agent governance models have been trying to describe in a spreadsheet.
Some resources do not accept a service principal. They need a mailbox, a Teams presence or a group membership. That is what the agent user is for, and it should be a deliberate choice, not a default.
When a Copilot Studio agent is published, permissions appear on its identity in Entra. They look alarming in a review. They are narrower than they look, and they also show less than you might expect.
| What is added at publish | When | What it means |
|---|---|---|
| Operations.Execute.All | A whole connector is added as a tool | The agent may call any operation on that connector |
| Per operation scope | Specific actions are added | The agent may call only those operations |
| Azure API Connections Runtime.All | Fallback | The runtime path to the connector |
The connector runtime revalidates every call against data policies and advanced connector policies. The scopes give no direct access to Graph or to the data behind the connector
Only first party and certified connectors add scopes. Custom connectors, MCP servers and REST tools add none, so the Entra view of an agent is not a complete list of what it can call
Conditional Access for agents is real, and it is easy to target the wrong object. The access pattern decides the target, not the agent's name.
| Access pattern | Who the token is for | What the policy must target |
|---|---|---|
| On behalf of a user | The signed in person | The user. Policies on the agent identity do not apply to this flow |
| The agent's own access | The agent identity | The agent identity or its blueprint. A blueprint target covers every child identity |
| Agent user | The agent's user account | The target Agent Users. Policies scoped to ordinary users do not reach agent users |
The tools that govern employee access now accept agents as the subject. That moves agent access out of maker settings and into a process with a request, an approver and an end date.
A package can have a policy for all agents. The agent itself, its sponsor or an administrator can request access
When an assignment is about to expire, the sponsor is notified and decides. Access that nobody defends ends by itself
Sponsor tasks run when people move or leave, so the accountability follows the organisation rather than staying with a former employee
Sponsors and owners can disable an agent from My Account without opening an admin portal or knowing how it was built
Agents created before Entra Agent ID became automatic use a classic app registration. They work, and Copilot Studio governance still applies, but Conditional Access and ID Governance on the agent identity do not reach them until they are moved.
Actions, Recommendations, Migrate Copilot Studio agents to Microsoft Entra Agent ID for enhanced agent governance. It needs Power Platform inventory and a Power Platform, Dynamics 365 or Global administratorThis is the line that most often surprises a security team. Every tenant gets the identities. Doing anything deliberate with them is a licence conversation.
Source: Microsoft Learn, Entra Agent ID and Microsoft Entra licensing, October 2026. Check entitlements with the account team before a decision.
Agents are also being built in workflow tools, cloud AI services and code. The Power Platform admin center cannot see them, and they consume no Copilot Credits, so none of the platform controls reach them.
No inventory, no data policy and no credit cap applies outside the platform. A ban mostly moves the work out of sight
Third party agents can be given an agent identity. Microsoft documents a sidecar pattern for custom and cloud agents, and a community node for n8n
An external agent gets the same entry as a Copilot Studio agent: owner, sponsor, purpose, data reached and a review date
The n8n integration on Microsoft Learn is a sample that uses a community node, and is described as not being production deployment guidance.
The conversation that is most often taken too late. Agents cost per use, and a consumption based model is only discovered on the invoice if no one has set a ceiling.
Apps and flows were paid per user. That was predictable, and it could be budgeted a year ahead. Agents behave differently, and that is the single thing that surprises finance teams the most.
Copilot Studio is billed in Copilot Credits. For standard harness agents, the figures are credits per event, and one credit is 0.01 USD at pay as you go list price.
| What happens | Credits | Note |
|---|---|---|
| Conversation | ||
| Classic response | 1 | A response from a handcrafted path without a generative model |
| Generative response | 2 | A response generated from knowledge. The normal case in a modern agent |
| Tenant graph grounding per message | 10 | Grounding in the organisation's content through Microsoft Graph. The most expensive single item in normal use |
| Action | ||
| Agent action | 5 | Also covers triggers, deep reasoning, topic changes and Computer Using Agent |
| Agent flow, per 100 actions | 13 | Note the unit. It is per hundred actions, not per run |
| Generative tools | ||
| Text and AI, basic, per 10 responses | 1 | Equivalent to 0.1 credit per 1,000 tokens |
| Text and AI, standard, per 10 responses | 15 | Equivalent to 1.5 credits per 1,000 tokens |
| Text and AI, premium, per 10 responses | 100 | Equivalent to 10 credits per 1,000 tokens. A factor of one hundred from basic |
| Content processing, per page | 8 | Document reading. Scales with page count, not with users |
| Speech | ||
| Classic speech, per minute | 10 | Core activity is included in the minute price |
| Generative speech, per minute | 35 | Generative voice tier. Core activity is also included |
| Premium generative speech, per minute | 75 | Speech is the most expensive channel, by a wide margin |
The rate overview convinces no one. A calculation does. Below is the same organisation with three different agent types, calculated with the public list prices.
There is a real zero rate for employee facing agent use, and it is worth knowing. But it is bounded, and the difference between what is covered and what is not covered is not intuitive.
The strongest resistance to ceilings is that they are seen as distrust of makers. That is the wrong way to present them, and it is also wrong.
Without a ceiling, the maker is the one left with an invoice they could not see coming. A ceiling is the only way to give people freedom to experiment without giving them a risk they cannot understand
A ceiling without a warning along the way is a trap. Set the notification threshold below the limit. Alerts go to environment and tenant admins, so forward them to the owner. Then the conversation about an expansion is a planned conversation rather than an incident
A ceiling for the whole organisation means that one agent can use everyone else's capacity. A ceiling per environment makes the problem local and makes it clear who needs to talk
Beyond credits, there is a completely different limit that does not cost money, but stops things. It is almost never seen in an app, but it is seen in an integration that runs at volume.
| Who or what | Requests | Note |
|---|---|---|
| Paid Power Platform licence | 40,000 per licence per 24 hours | Multiple qualifying licences can be combined for the individual user |
| Microsoft 365 licence with platform access | 6,000 per licence per 24 hours | Also applies to Power Apps per app and Dynamics 365 Team Member |
| Power Automate Process licence | 250,000 per licence per 24 hours | Replaces the legacy per flow plan. Assigned to one flow, and up to 10 can be stacked on it |
| Unlicensed identities | 25,000 per 24 hours in a shared pool | Power Apps and Power Automate each have their own pool. They are not combined |
| Purchased request capacity | 50,000 per purchase per 24 hours | Can be stacked. They currently cannot be assigned to a specific user or flow. Use a Process licence for one flow |
The technical part is easy. The hard part is that consumption without an owner always ends up as a line item on the IT budget, and therefore as an argument for slowing down.
The cost chapter explains why consumption behaves the way it does. This chapter shows where it appears in the portal, who is allowed to change it, and what happens if no one does anything.
The word capacity is used for four things that have nothing to do with each other. They are purchased separately, measured separately, and run out separately. Mix them together, and the conversation becomes impossible to run.
Agent use. Purchased as a pack or by consumption, collected in one pool on the tenant
Licensing, ProductsDatabase, file and log measured in GB. Follows the licences and can be expanded with add-ons
Resources, CapacityThroughput per 24 hours. Does not cost extra, but stops things when the ceiling is hit
Licensing, Capacity add-onsWho may build, and who may run. This is where February 2027 matters
Licensing, SummaryThe choice is not about price per credit, because it is almost the same. It is about whether you can estimate volume, and what happens to what you do not use.
| Model | Microsoft name | How it works |
|---|---|---|
| Prepaid pack | Microsoft Copilot Studio | 200 USD per pack per month, billed annually. One pack is 25,000 credits per month. Unused credits do not carry over to the next month |
| By consumption | Copilot Studio Pay-As-You-Go | 0.01 USD per credit, billed in arrears through an Azure subscription. No commitment, no wasted credits, but also no ceiling by itself |
| Annual commitment | Copilot Credit Pre-Purchase Plan | Discount from 5 to 20 percent according to drawdown size. The pool is annual, and unused credits expire at the end of the period |
| Across Microsoft | Microsoft Agent Pre-Purchase Plan | Discount of 5, 10 or 15 percent. One unit equals 1 USD of consumption and therefore 100 credits. Covers Copilot Credits, Foundry, Fabric, GitHub and Copilot Cowork in one commitment |
This is the screen most governance models describe without ever having opened it. It exists, it is concrete, and it can be set per agent.
Licensing, Products, Copilot StudioDataverse capacity is the most common sizing mistake on the whole platform, because three completely different things have the same name. The difference is not academic, it is the whole difference between having room and not having room.
| Kind | How it arises | What it means |
|---|---|---|
| Default | Once per tenant | Follows the first standalone licence you buy. If you buy more subscriptions, you do not get more default |
| Accrued | Per licence, collected in a pool | Added on top for each standalone licence. Typically 250 MB database and 2 GB file per user licence |
| Add-on | Purchased separately | Database 40 USD per GB, file 2 USD, log 10 USD. Database falls to 30 USD at 1,000 units |
| By consumption | Per environment | Database 48 USD per GB, file 2.40 USD, log 12 USD. Approximately 20 percent more expensive than the add-on |
They get 1 GB database and 1 GB file, and zero log. If that environment needs auditing, that is a separate purchase. In return, they do not draw on the tenant's shared pool at all
As long as there is 1 GB free database in the tenant, anyone with the right licence can create an environment, unless you have restricted it. Capacity is therefore not only an invoice, it is also a door
Three tenant settings decide whether distributed financial ownership is technically possible at all. By default, they are set so environment administrators may use the pool, but not see it.
Manage, Tenant settings. Consumption is seen under Resources, CapacityThere is a mechanism that automatically assigns a licence to the person who tries to use a premium feature. It is useful, and it must be understood before anyone wonders why consumption is rising.
Manage, Tenant settings, and LicensingThis is the most commercially sensitive date in the whole material, and it hits exactly the organisations that did the right thing and turned on Managed Environments.
Messages to administrators began, through Message center and the admin center
Messages to end users began, inside the products. Escalates from information to warning after seven days and to error after another seven days
Users without a qualifying licence are blocked from opening apps in managed environments. The message is "You need a Power Apps license to use this app"
Agent security has become a separate licence product, and functions that were previously covered have moved there.
None of the four requires a project, a steering group decision or a purchase. They require someone to open the portal.
Licensing, Products, Copilot Studio, Manage Agents, and set a monthly ceiling on the agent that uses the most. Not to slow it down, but to get an alarm before the next invoiceThe cost chapter explains the meter and the capacity chapter shows the screens. This chapter is the operating model around them: who funds, who limits, who is told, and how a use case earns its budget.
FinOps is the discipline that cloud teams built when consumption billing arrived. Agents bring the same billing model to the business, so the same loop applies. The vocabulary below is FinOps practice, the tools are Microsoft's.
Most surprises on an agent invoice come from someone believing a budget is a limit. Microsoft's guidance is explicit about where each one stops.
| Mechanism | What it does | Does it stop consumption? |
|---|---|---|
| Funding Prepaid allocation, tenant pool draw, pay as you go | Decides where credits come from when an environment consumes | Only if the source runs dry and there is no fallback |
| Limit Monthly limit per agent, M365 spending policy | Caps consumption for one agent, or for users of Microsoft 365 experiences | Yes, for the object it is set on. An agent limit does not cap the environment total |
| Budget Azure budget and cost alert | Tells someone that pay as you go spend has passed a figure | No. Azure budgets and alerts do not stop Copilot Studio consumption |
Microsoft's guidance for Microsoft Copilot harness agents describes four layers, and the other harnesses have the same controls. The first three are settings. The fourth decides whether anyone looks at them.
The admin center has no tenant wide default limit for new agents. If every agent must have one, an automated process has to set it
New environments can appear with tenant pool draw switched on. Compare inventory with the allocation API on a schedule, so the posture you chose is the posture you have
Copilot Credits are consumed by Copilot Studio agents and by usage based Microsoft 365 Copilot experiences. Prepaid credits are shared across both, but the controls live in different portals.
| Portal | Governs | Main controls |
|---|---|---|
| Power Platform admin center | Copilot Studio agents and environments | Capacity allocation, tenant pool draw, agent limits, billing plans |
| Microsoft 365 admin center Copilot, Cost Management | Usage based Microsoft 365 Copilot experiences | Spending policies per tenant or group, per user limits, alerts, Credits report |
| Azure portal Cost Management | Pay as you go spend from both | Budgets, alerts, tags, resource groups, invoice analysis |
For usage based Microsoft 365 Copilot experiences, the control is a spending policy. A Global or Billing administrator creates it in the Microsoft 365 admin center, AI or License administrators can edit it, and it behaves differently from an agent limit.
Microsoft 365 admin center, Copilot, Cost Management. Usage under Reports, Usage, Microsoft Copilot, CreditsMicrosoft's guidance for Microsoft Copilot harness agents starts by classifying environments as exploration, test and validation, or funded production. Each class then gets one of two postures.
Showback tells a business unit what it consumed. Chargeback moves the cost to its budget. Charging on data the owner cannot verify ends the conversation instead of starting it.
Rules and the tenant pool draw setting apply per group, so a business unit's posture is set once
An environment can be linked to only one billing plan at a time. A plan per unit, or per sub team, gives each its own Power Platform account resource in Azure
The Power Platform account resource is an Azure resource. Tag it with cost centre and owner, and Azure Cost Management does the split
A budget per use case turns the cost conversation from a central worry into a decision the business owner makes before go live. Five steps, and the first two decide most of the figure.
Classic answer, generative answer, tool call or autonomous run. The rate card in the cost chapter shows why this choice dominates
Which knowledge sources, and whether tenant graph grounding is needed. Grounding is a design choice with a price
Employee use by Microsoft 365 Copilot licence holders is mostly free on the standard harness, but not on the Microsoft Copilot harness. Count those users separately
The estimate becomes the agent's monthly limit, with a notification threshold below it. The Copilot Credit Estimator is directional, not a quote
Compare actual with estimate after thirty days, then adjust the limit and the forecast together
A monthly total says an agent is expensive. It cannot say whether it is worth it. The unit that answers both is credits per outcome the business actually accepted.
An alert that goes to a shared mailbox is a log entry. A ladder with a named responder per step is a process. The steps below are a recommended practice, not a product setting.
| Threshold | Who is told | What happens |
|---|---|---|
| 50 percent | Agent owner | Information. Is the month on track with the estimate? |
| 75 percent | Agent owner and cost owner | Check for a design problem or a usage spike. Decide before it becomes urgent |
| 90 percent | Cost owner and platform team | Exception request: raise the limit with a reason, or let it stop |
| 100 percent | Everyone above, and the users | The agent stops as designed. The stop state and the message to users were decided in advance |
Consumption billing makes unused things cheap and forgotten things expensive. A quarterly sweep finds most of the savings, and it uses screens you already have.
Central approval of every agent does not survive the second hundred. The alternative that works is a trade: a business unit gets freedom to build and publish, and in return it signs up to a short list of commitments.
A solution is not finished when it is built. It is in operations. That is the phase no one planned for, and the phase that takes up the most after year two.
The common statement is that the platform is a black box. It is not. The problem is rarely lack of data, it is that no one has been given the task of looking at it.
All environments, apps, flows, agents and connections with owner and latest activity. That is the foundation for any cleanup
Who did what when, across the services. Must be turned on and have a retention period that matches your requirements
What costs what, and who uses it. Without this, the cost conversation is a feeling
Flows that fail repeatedly, and apps with error rates. They exist, but must be pointed at someone to become action
This question reveals more about an organisation's real maturity than anything else. The answer is almost always a person, not a function, and that person often does not know it themselves.
Cleanup as a project works once and is never repeated. Cleanup as a rule with a day threshold runs by itself. The figures below are a useful starting point, not an answer key.
| What | Threshold | Action | Resistance |
|---|---|---|---|
| Personal app, no use | 90 days | Owner is notified. No response within 30 days leads to deactivation | Low |
| Shared app, no use | 180 days | Owner and co-owner are notified, then deactivation with option to restore | Low |
| Flow with no runs | 90 days | Automatic deactivation. The platform already does part of this | None |
| Flow that fails every time | 14 days | Turned off by the platform after 14 days of continuous failure. Ask the owner before turning it back on | None |
| Sandbox environment, inactive | 60 to 90 days | Warning, then deletion. Frees capacity, which is often the real scarcity | Medium |
| Trial environment | 30 days | Expires by itself. Should not be extended routinely | None |
| Connection with no use | 90 days | Removed. An unused connection is standing access without a purpose | Low |
| Agent with no conversations | 60 days | Owner is notified. Unused agents are almost always experiments that were never finished | Low |
In an organisation with a hundred makers, people leave continuously. The question is not whether, but what then happens to what they built. This is the most common cause of a production outage in a mature platform.
Governance without a calendar is an intention. Below is the minimum cadence that keeps a platform in shape, and it can be run by one person with a part time allocation.
New environments and new agents. Exceptions about to expire. Flows that fail repeatedly. Requests in the inbox. The purpose is that nothing stands still for a month
Consumption against budget. New exceptions and patterns in them. The cleanup run and what it caught. Sharing limits that were hit. The purpose is to catch a trend while it is cheap
The policy itself. Is the zone model still right, does the exception process work, which rules are being bypassed. Access review of ownerships. The purpose is to adjust the model, not only enforce it
The single change that moves monitoring from something you look at, to something that looks at you. It requires Managed Environments, and that is one of the better arguments for the perimeter.
Per tenant. Covers Power Apps, Power Automate and Copilot Studio
Any metric in the Monitor area, such as load time or error rate, against a threshold you set yourselves
You and up to four others get an email. Name more than one person, otherwise you have just built a new single point dependency
Resource type, metric, threshold and severity. Three levels: low, medium and high
Alert events are retained. This means you can document what was discovered when
Alerts are evaluated once every 24 hours on daily aggregates, plus once when the rule is created
Today there are at least eleven places to look: PPAC Monitor, Application Insights, Microsoft 365 admin center, Power Automate, Automation Center, Copilot Studio, analytics, Service Health, consumption reports, Agent 365 and CoE Starter Kit. No one maintains eleven places.
It is the only one of the four that speaks up by itself. Start here
There are tools that automatically review an agent for quality, security, configuration, orchestration and test coverage in under a minute. It is cheaper than a review, and it catches routing confusion and gaps in the instructions
Copilot Studio agents are registered automatically. Your own agents must be onboarded. It is your one inventory
When a user reports an error, you can follow the session together with them instead of asking for a screen recording
Testing the prompt box is not testing the agent. An attack can enter at six points in the loop, and the most dangerous ones arrive through a document or a tool result, not through the user.
Direct prompt injection and jailbreaks
Instructions hidden in knowledge and history
The model talked into a wrong plan
Allowed tools with harmful parameters
Returned data that carries new instructions
Leaked data or an irreversible step
Recovery questions get one answer too often: we have backups. The platform has five mechanisms, and each one answers a different question. Know which failure you are protecting against before choosing.
| Layer | What it is | The failure it covers |
|---|---|---|
| Zone redundancy | Production environments are replicated across at least two availability zones in the region. Nothing to configure | A data centre fails. Recovery point near zero, recovery time under five minutes |
| System backups | Automatic for environments with a database, except trials. Seven days by default, up to 28 days for production Managed Environments | Someone deletes or corrupts data. Restore to a point in time |
| Manual backups | Taken on demand by an administrator. Not available for the default environment or trials | A risky import or bulk change is about to happen. Take one first |
| Self service disaster recovery | Replicates a production environment to a paired region. Needs Managed Environments and capacity. Setup can take up to 48 hours | A whole region fails. Replication lag is typically under 15 minutes, and failover is designed to finish within minutes |
| Long term retention | Retires old data out of the active environment for years. Needs Managed Environments | Regulators ask for old records. Retained data is read only and cannot be moved back |
Agents need an incident procedure apps never did, because an agent can do something nobody designed. Decide in advance which step stops what, and who is allowed to pull it at three in the morning.
Real time protection in Microsoft Defender (preview) can block a single risky tool invocation before it runs, without disabling the agent
Block it from Inventory in the admin center, or quarantine it through the Power Platform API. Channels stop answering, makers can still test and fix it
Block it in the agent registry in the Microsoft 365 admin center, so users can no longer find or run it
Turn off the tenant setting Publish Copilots with AI features. It stops publishing, so pair it with step 2 for what is already live
Severity, owner, fix, retest, and a block on the next release until it is retested. The workflow from the Nordic Summit session on ethical hacking and responsible AI
A visible route for end users to flag a wrong or harmful answer, so incidents reach the owner before they reach a manager. Leo Visser, BBTG
Deleting an agent is fast and final. Deleting it well means deciding first what must survive it, because after a few minutes there is nothing left to decide about.
Transcripts live in the ConversationTranscript table, where a bulk delete job removes those older than 30 days by default. Export what the retention policy requires
Announce the date and the replacement. Remove the channels and the sharing first, so nobody is cut off mid conversation
Connections, knowledge sources, flows and credentials that only this agent used. They outlive the agent if nobody removes them
All agent data is permanently deleted after a few minutes, including its app registration and service principals. Confirm in Entra that its identity is gone
Mark it retired in the registry with the date and the reason, so the inventory and the cost report agree
A governance model written once is out of date within a quarter. Not because it was wrong, but because the platform it governs shipped something new. Tracking change is an operations task with an owner.
The platform owner walks the roadmap and the message center with security and the CoE
Does it change a policy? Does it change a licence or a cost? Does it change what makers can do?
A dated list of decisions, and the slides in this deck that need updating
When the portal is not enough. API first, command line, and a history that is not overwritten every night.
The two shifts are happening at the same time, and they do not cover the same ground. That leaves a gap that many organisations only discover when they need to answer a concrete question from compliance.
All three are Microsoft's own. None of them requires you to build anything first. They are worth knowing, even if you never go further than this.
PowerPlatformResources with Kusto Query Language. It is live inventory data, and it is the same language your Azure people already know. Visualisation requires you to build a dashboard on topVersion 2.14.1 from 21 October 2026, and all fifteen are still marked preview. The list shows where Microsoft is moving the administration surface.
Rule based data policies and reports on connections across tenants
Quarantine, owner reassignment, deletion and evaluation of agents
Entitlements, capacity, billing policies and assignments
Queries across the whole tenant: environments, apps, flows and resources
Environment lifecycle, disaster recovery, SKUs and environment groups
Export and deletion of data about a registered person. Directly relevant for GDPR requests
This is the one idea from Nordic Summit worth taking with you, whether or not you ever build anything. The classic CoE model overwrites its tables every night. That means you cannot see a trend, and you cannot document that something was handled.
A new scan updates the existing finding instead of creating a duplicate
A decision that something is accepted or fixed does not change the scan result. The two are different kinds of truth
Then you can see that something was closed too early. That is the control most setups are missing
Instead of a pair of CoE apps plus some Power BI reports that nobody opens
The administrator asks the owner. The owner receives an email and fills in a short form. The administrator assesses the answer. This is the part that actually cleans up
This needs to be said clearly before anyone builds anything on it. There are three levels of certainty in this chapter, and they should not be mixed together.
PPAC Inventory, Azure Resource Graph and PAC CLI. Documented by Microsoft, though the new admin command groups are still in preview
Freely available consoles and dashboards built by MVPs on top of the same APIs. Useful, but without a support agreement
A self built history database and an administrative surface. This is an internal development project with the maintenance that follows
Aimed at administrators who have never opened a terminal. Each step has a learning goal, not a delivery goal.
Goal: learn to get governance data. pac auth create, pac env list, pac admin query. This is an afternoon
Goal: learn to visualise and analyse that data. You do not need to understand the code to see what it shows
Goal: learn to control and automate governance data. This is where it becomes your own
Governance without adoption is bureaucracy. Adoption without governance is debt. The two must be built at the same time, by the same people, with the same cadence.
Organisations fail in two opposite directions, and they feel very different from the inside. One feels like accountability, the other like progress. Both end in the same place.
In most places, demand arrives as an email or a hallway conversation. That makes it impossible to prioritise, impossible to see patterns, and impossible to say no on a factual basis.
When only yes and no exist, everything becomes yes, because no is expensive to say. Four outcomes make it possible to be helpful without taking on the work.
Enthusiasm creates demos. Direction, evangelism and innovation require adoption to be designed as deliberately as the platform itself.
The common move is a two day course for thirty people. Three months later, two of them build something. What works looks different, and it is cheaper.
People learn the platform by solving something that annoys them. Ask them to bring their own task. A course without a task is entertainment
A channel with response time measured in hours matters more than all course material. Most makers stop at the first obstacle they cannot google their way out of
Open sparring, same time, no agenda. It is the cheapest governance there is, because problems are corrected before they are finished
The numbers that are easiest to count are the ones that say the least. Below is the dividing line between what predicts something and what confirms something afterwards.
Most agent pilots do not fail. They are extended, then forgotten. Nobody refused it, so nobody adopted it, so it expired. That is an operating model failure wearing a technology costume, and no better model or prompt fixes it.
A named person in the business who owns the number
Measured before the build, not reconstructed after
The route to production exists before the pilot starts
The process changes, not just one step in it
More volume, better quality or fewer people. Say which
Hours returned. The easiest to pitch and the weakest in a budget
Fewer errors. Compounds over time
Work that was not possible before. Finance listens to this one
A consistent, auditable process
The five gates decide whether a pilot may start. The charter decides how it ends. Write it on one page before anyone builds, and a pilot can no longer drift into a permanent state of almost.
The regulation, the literacy requirement and the human pause. Three things that are not solved by a technical control.
The EU AI Act classifies by risk, not by technology. Most Power Platform agents land in the lower categories, but that needs to be an assessment, not an assumption.
Manipulation, exploiting vulnerabilities, social scoring, crime profiling, untargeted face scraping, emotion recognition at work or school, some biometric uses, non-consensual intimate material
Biometrics, critical infrastructure, education and employment, essential public and private services, law enforcement, migration and asylum, the administration of justice and democratic processes
The models themselves and the systems that build directly on them
This is where most Copilot Studio agents sit. The main requirement is transparency
Minimal regulation
This slide is a conversation framework, not legal advice. Categorisation and dates must be verified by your own lawyers before use in a decision.
Since July 2026 the regulation requires providers and deployers to take measures that support AI literacy among staff and others who use the system on their behalf. This is one of the few places where an enablement programme has a regulatory anchor.
What bias is, what creates it, which effect it has, and how a user can discover and test it
Understand the phenomenon, recognise the consequence, see the warning signs, validate sources, and be open about what is AI generated
Which data is used, how it is protected, and what poisoned data and hidden instructions are
The user remains responsible for the output she forwards. Copyright and infringement risk belong here too
Label AI generated content clearly. Text in the public interest must be disclosed if it has not been reviewed. Tell users when emotions are detected
Build users' AI literacy. Make information easy to find. Create one place to report AI issues. Have an AI policy that is actually readable
This is not a technology problem. It is a human problem that arises precisely when the technology works well. That is why it is also invisible in telemetry.
Speed, previous success, confidence, an answer that matches the expectation, time pressure, and the cost of checking
Surprise, high stakes and real uncertainty. Three signals that are easy to teach a whole team
A mnemonic that can be learned in ten minutes and used for the rest of a working life. It is not specific to Power Platform, and that is exactly the point.
What happens if this is wrong? That is the only question that decides whether the next four are worth the effort
What do I think myself, before I am anchored by the AI's answer?
What do I actually not know here?
A source, a test, a person or a calculation
Three possible outcomes: trust it, verify it, or reject it. It must be a choice, not a reflex
Ten ways to do it wrong that all feel right while you do them. They are gathered from real journeys, and most organisations can recognise at least three.
Why it feels right. That is where everyone already is, and it works immediately. Creating environments feels like overhead without benefit.
What breaks. The default environment cannot be deleted, everyone is in it, and there is one DLP policy for both experiments and business critical operations. When you later want to tighten, you hit everyone at once.
Instead. Treat the default environment as personal productivity, not production. Rename it so the name says that, and route new makers to an environment that is intended for the purpose.
Why it feels right. It gives clean separation, and each project can run at its own pace without disturbing others.
What breaks. After eighteen months there are seventy environments, forty of them finished projects that nobody dares delete. Capacity is tied up, DLP must be maintained in many places, and the inventory becomes unreadable.
Instead. Divide by zone and lifecycle, not by project. A project gets space in an existing environment unless there is a concrete reason for something else.
Why it feels right. It is the cautious position, and it is easy to defend to audit on day one.
What breaks. Without a working exception process, blocking becomes the permanent state. People solve the task somewhere else, and you lose both usage and visibility.
Instead. Blocking first is defensible, but only together with an exception process with a response time. Without the response time it is not a policy, it is a ban.
Why it feels right. One policy is easier to explain, easier to maintain and feels more consistent.
What breaks. It ends as the most restrictive common denominator. It prevents what production needed, and allows too much where experimentation happens.
Instead. Policy per zone. It is more to maintain, but it is the only way to be both strict and usable at the same time.
Why it feels right. It seems robust. People change jobs, departments remain, so ownership should survive.
What breaks. A department does not approve anything, answer an email or notice that a flow has stopped. Ownership without a name is not ownership, it is an address.
Instead. A named person, and a deputy. The department can be the organisational home, but the decision must have a person.
Why it feels right. It gives a start, an end, a budget and a steering group. That is how the organisation usually gets something done.
What breaks. The project delivers a document and closes. Six months later reality is different, and the document has not been corrected because nobody was left to correct it.
Instead. A project to get started, and then a cadence with a named owner and a fixed hour every week. Governance is an operations task.
Why it feels right. You want control before opening up. It seems like the responsible sequence.
What breaks. A model is built for a reality nobody has seen yet. The rules hit the wrong things because they were written without data about what people are actually trying to solve.
Instead. Open a bounded area, see what happens for three months, and write the model from that. A model written from real cases becomes both shorter and more accurate.
Why it feels right. The more knowledge, the better the answer. It is also technically trivial to add another source.
What breaks. The agent inherits years of accumulated oversharing and makes it searchable in natural language. The access was there all along, but nobody could find anything until now.
Instead. Approve sources one at a time, and review sharing on the source before it is added. Fewer and correct sources also give better answers.
Why it feels right. You want an overview, and a spreadsheet is quick to make and easy to share with audit.
What breaks. It is correct on the day it is created. Three months later half is missing, and nobody trusts it anymore. At the same time, the technical inventory already exists in the platform.
Instead. Use the automatic inventory as the foundation, and add only the fields the machine cannot know: owner, purpose, criticality and revisit date.
Why it feels right. You do not want to slow the business with a budget ceiling while you are still finding out what things consume.
What breaks. Consumption based costs are first discovered on the invoice. A single misconfigured automation can spend a month's consumption over a weekend, and nobody sees it before it has happened.
Instead. Set a ceiling per environment, and an alert before the ceiling. A ceiling is not a brake, it is an alarm with a built in stop block.
Everything in this material can be done. Nobody can do it all at once. The sequence decides whether the model becomes real.
That sequence is not accidental. Each step makes the next one cheaper, and if you swap them around, the work becomes both more expensive and less precise.
You cannot set a boundary before you know what exists. A policy written without an inventory hits the wrong things, and it usually hits neither the dangerous things nor what people are actually making
Zones, DLP per zone, the default environment put in order, and a place for new makers to land. This is the part that really moves the risk, and most of it is configuration rather than project
Cleanup rules, approval gates, exceptions that expire, solution checks in pipelines. Automation on top of unclear boundaries simply enforces the confusion faster
This is set up so it can be carried by one person with a part time allocation and a decision maker who can be reached. If the plan requires a project with a steering group, it will not happen.
Six months after a governance model has been set up, four questions can decide whether it is alive or merely documented.
A model that has not changed in six months is either perfect or unread. Corrections are signs of life, not poor planning
If there are no expired exceptions, they are either extended automatically, or nobody applies for them anymore. Both are a problem
If it has risen, governance has become a brake rather than a frame. It is the most important single metric, and the first one the business feels
If the whole model hangs on one person, it is not a model, it is a dependency. Test it by asking someone else a question
Official documentation, admin portals and a glossary, so the room talks about the same things.
Public, maintained by Microsoft, no sign in. Every path below sits on learn.microsoft.com. Use it when a claim in this material needs checking.
Network, ALM, agents, operations, cost and security.
Security, monitoring, governance as code, build options, Entra Agent ID, FinOps and architecture.
Almost every decision in this material is implemented in one of six places. It is worth keeping the list visible in a workshop room, because it moves the conversation from principle to action.
Many governance discussions stall because two people use the same word for two different things. Environment, solution and agent are the worst.
The second half. Use it as a shared reference, not as an exam. The important thing is that the room leaves with the same words.
People who inspired my own iteration of different chapters in this master deck.
© 2026 Marc Pascal SΓΈlling · Edition 3 November 2026 · Licensed under CC BY 4.0. Share and adapt freely, with credit to the author.