<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Microsoft Entra Agent ID on DR.365</title><link>https://blog.dr365.io/tags/microsoft-entra-agent-id/</link><description>Recent content in Microsoft Entra Agent ID on DR.365</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Sat, 17 Oct 2026 07:00:00 +0200</lastBuildDate><atom:link href="https://blog.dr365.io/tags/microsoft-entra-agent-id/index.xml" rel="self" type="application/rss+xml"/><item><title>Runtime agent governance: whose permissions does a delegated agent use?</title><link>https://blog.dr365.io/p/agent-runtime-governance-delegation/</link><pubDate>Sat, 17 Oct 2026 07:00:00 +0200</pubDate><guid>https://blog.dr365.io/p/agent-runtime-governance-delegation/</guid><description>&lt;img src="https://blog.dr365.io/p/agent-runtime-governance-delegation/cover.png" alt="Featured image of post Runtime agent governance: whose permissions does a delegated agent use?" /&gt;&lt;p&gt;An employee asks the HR agent on the intranet how many vacation days they have left. The HR agent knows the leave policy but has no numbers, so it hands the question to a connected payroll agent that another team built. The payroll agent queries the HR system through a connector. That connector was set up with the account of the person who built the payroll agent, and that person can read every employee&amp;rsquo;s record. Whether the answer contains only the employee&amp;rsquo;s own balance or a colleague&amp;rsquo;s as well is now up to the language model.&lt;/p&gt;
&lt;p&gt;On paper, nothing is wrong here. Both agents have an owner, both are registered and approved. The question of whose permissions the second agent uses only comes up at the moment of the call, and that moment is what this post is about.&lt;/p&gt;
&lt;h2 id="design-time-and-runtime"&gt;Design time and runtime
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://blog.dr365.io/p/agent-lifecycle-agent-builder-copilot-studio/" &gt;Part 2&lt;/a&gt; covered governance at design time: three zones, seven phases, an owner for every agent and a Go, Change, Hold or Stop decision. Those decisions are made once, before an agent goes into production.&lt;/p&gt;
&lt;p&gt;At runtime, the agent decides with every request which tool to call, which other agent to involve and what data to pass along. A language model makes those decisions. For me, runtime governance means that identity, policy, authorization and logging apply at each of these hand-offs, whatever the model suggests.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.dr365.io/p/agent-tools-risk-ownership/"&gt;Part 1&lt;/a&gt; maps the tools to three models: with Agent Builder the platform carries the risk, with Copilot Studio the administrator, with Foundry the organization. At runtime that mapping becomes concrete, and in places it shifts. Agent Builder agents do not call external services, so their runtime risk is the user&amp;rsquo;s permissions. In Copilot Studio, responsibility arises at every single tool. A maker who enters their own credentials takes part of the risk off the administrator&amp;rsquo;s desk and onto their own. With Foundry, the organization builds the controls itself, for example guardrails that inspect tool calls and tool responses (preview) (&lt;a class="link" href="https://learn.microsoft.com/azure/foundry/guardrails/guardrails-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). This post focuses on Copilot Studio, because that is where most hand-offs can be configured.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Delegation chain from the user through two agents and an MCP server to a business system, with a checkpoint at every hand-off" class="gallery-image" data-flex-basis="176px" data-flex-grow="73" height="2170" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.dr365.io/p/agent-runtime-governance-delegation/runtime-governance-en.png" srcset="https://blog.dr365.io/p/agent-runtime-governance-delegation/runtime-governance-en_hu_e061137bda4459f5.png 800w, https://blog.dr365.io/p/agent-runtime-governance-delegation/runtime-governance-en.png 1600w" width="1600"&gt;&lt;/p&gt;
&lt;h2 id="signing-in-to-the-first-agent-is-not-enough"&gt;Signing in to the first agent is not enough
&lt;/h2&gt;&lt;p&gt;A user signing in to the HR agent tells you nothing about what the payroll agent two steps further down may do. The user&amp;rsquo;s identity has to travel all the way to the business system. In Copilot Studio, each tool decides this on its own: it uses either the end user&amp;rsquo;s credentials or the maker&amp;rsquo;s. End-user credentials are the default, and the automatic security scan warns the maker before publishing if they switch it (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/security-scan" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Admins can turn off maker-provided credentials per environment or environment group in the Power Platform admin center (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/configure-no-maker-authentication" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Every action then runs as the person who is asking. The trade-off is real: autonomous agents that start on a schedule or an event without a signed-in user fail in those environments. I would enforce the setting in production environments for zone 2 and zone 3 agents and give autonomous agents a separate environment with its own rules.&lt;/p&gt;
&lt;p&gt;Entra calls the same pattern on-behalf-of. The agent exchanges the user&amp;rsquo;s token for a new one issued for the target resource, and Conditional Access evaluates that exchange (&lt;a class="link" href="https://learn.microsoft.com/entra/identity/conditional-access/agent-id" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). The agent also has an identity of its own. Since May 2026, new Copilot Studio agents get a Microsoft Entra Agent ID automatically: at creation in the standard harness, on first publish in the GitHub Copilot harness. The agent owner is added as its sponsor (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/govern-agents-identities-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="keep-enforcement-out-of-the-prompt"&gt;Keep enforcement out of the prompt
&lt;/h2&gt;&lt;p&gt;The model picks the next tool, and a crafted email or a poisoned document in a knowledge source can influence that choice. A rule that only lives in the agent&amp;rsquo;s instructions (&amp;ldquo;never return salary data&amp;rdquo;) is therefore a request to the model. Enforcement has to happen somewhere the model cannot talk its way past.&lt;/p&gt;
&lt;p&gt;Microsoft 365 offers several layers for this. Data policies in the Power Platform admin center define which connectors an agent may use, and the connector platform checks them again on every call (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/govern-agents-identities-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Conditional Access evaluates tokens for agent identities. Microsoft Defender can inspect and block tool calls from Copilot Studio agents in real time, currently in preview (&lt;a class="link" href="https://learn.microsoft.com/defender-xdr/security-for-ai/ai-agent-real-time-protection" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Under the hood, the agent asks an external service for a verdict before each tool call. If no answer arrives within one second, Copilot Studio allows the call by default. In a regulated environment I would switch the error behavior to block (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/external-security-provider" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="limit-context-on-purpose"&gt;Limit context on purpose
&lt;/h2&gt;&lt;p&gt;What an agent passes on matters as much as what it retrieves. In Copilot Studio, a child agent always receives the parent&amp;rsquo;s context. For a connected agent you can turn off passing the conversation history, so it only receives the specific task (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/add-agent-copilot-studio-agent" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). That is what I would do in the example. The payroll agent needs the question about vacation days. It has no business seeing the earlier part of the chat where the employee may have mentioned being ill.&lt;/p&gt;
&lt;p&gt;On the data side, the familiar controls apply. Copilot Studio only returns content the user can access, and for files encrypted by a sensitivity label the user also needs the EXTRACT usage right (&lt;a class="link" href="https://learn.microsoft.com/purview/ai-copilot-studio" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). That protection depends on the query running with the user&amp;rsquo;s permissions. A tool that uses maker credentials sees whatever the maker sees.&lt;/p&gt;
&lt;h2 id="treat-an-mcp-server-like-an-api"&gt;Treat an MCP server like an API
&lt;/h2&gt;&lt;p&gt;The Model Context Protocol (MCP) defines how an agent discovers and calls tools. Authorization is explicitly optional in the specification. When a server implements it, the server acts as an OAuth 2.1 resource server: it must check that a token was issued for it and must not accept or pass on any other tokens (&lt;a class="link" href="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization" target="_blank" rel="noopener"
 &gt;MCP specification&lt;/a&gt;). Whether a given server actually does that depends on its code. So I treat every MCP server like a third-party API and ask who runs it, what data it sees, how it authenticates and who approves it.&lt;/p&gt;
&lt;p&gt;Copilot Studio connects MCP servers through a wizard that offers no authentication, an API key or OAuth 2.0. Because access runs through Power Platform connectors under the hood, data policies cover MCP servers too (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/mcp-add-existing-server-to-agent" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Agent 365 adds a second layer. Under Agents &amp;gt; Tools in the Microsoft 365 admin center, admins can block an MCP server for the whole organization. For supported servers, individual tools can be switched off as well, for example write and delete operations, while read operations stay available. This tool-level control is still rolling out and is enforced at runtime by the Agent 365 Tooling Gateway (&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/manage-plugins-skills-mcp-servers" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="the-control-plane-registry-identity-protection-audit"&gt;The control plane: registry, identity, protection, audit
&lt;/h2&gt;&lt;p&gt;The tools so far live in several portals. The agent registry in the Microsoft 365 admin center pulls them together. Agent 365 has been generally available since May 1, 2026, and is licensed per user (&lt;a class="link" href="https://learn.microsoft.com/microsoft-agent-365/overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). The registry lists agents from all platforms, including those registered in Entra, and with the right license it consolidates risk signals from Purview, Entra and Defender for each agent (&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-registry" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Entra Agent ID provides the identity, with a sponsor, Conditional Access and ID Protection for agents. Purview captures prompts and responses in the unified audit log and surfaces them in DSPM for AI. For Agent 365 that explicitly includes agent-to-tool and agent-to-agent interactions (&lt;a class="link" href="https://learn.microsoft.com/purview/ai-agent-365" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Check licensing carefully. Conditional Access for agents requires Microsoft 365 E7, or Agent 365 together with at least Entra ID P1 or Microsoft 365 E3 (&lt;a class="link" href="https://learn.microsoft.com/entra/identity/conditional-access/agent-id" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Licensing terms change often, so verify the current version before you roll out.&lt;/p&gt;
&lt;h2 id="delegation-without-inherited-permissions"&gt;Delegation without inherited permissions
&lt;/h2&gt;&lt;p&gt;Back to the payroll agent. Microsoft&amp;rsquo;s own guidance on multi-agent patterns says that a connected agent might have access to things the parent agent doesn&amp;rsquo;t, and that calling it should be treated like any other powerful action (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/guidance/multi-agent-patterns" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). I turn that into three rules.&lt;/p&gt;
&lt;p&gt;First, every tool in a connected agent uses end-user credentials unless there is a documented reason not to. Second, the setting &amp;ldquo;Let other agents connect to and use this one&amp;rdquo; stays off unless an agent is explicitly meant to be a building block. By default, any agent in the same environment can connect to it (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/add-agent-copilot-studio-agent" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Third, agents with their own identity receive permissions through access packages with an expiry date. The sponsor is notified before access expires and has to request an extension actively. This is still in preview (&lt;a class="link" href="https://learn.microsoft.com/entra/id-governance/agent-id-governance-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="human-approval-for-high-impact-actions"&gt;Human approval for high-impact actions
&lt;/h2&gt;&lt;p&gt;Some actions no agent should take alone: payments, changes to master data, deleting records, changing permissions. Agent flows in Copilot Studio include human-in-the-loop actions for approvals and requests for information (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/flows-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Multistage approvals combine manual stages with AI stages and conditions in between, but they are still in preview (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/flows-advanced-approvals" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). An AI stage can pre-sort routine cases. For high-impact actions I would always end with a human stage, so that the decision belongs to a named person.&lt;/p&gt;
&lt;p&gt;Where the approval sits matters most. It belongs in the flow that performs the action. If it only exists in the agent&amp;rsquo;s instructions, the model decides once again whether to ask at all.&lt;/p&gt;
&lt;h2 id="what-this-means-for-regulated-environments"&gt;What this means for regulated environments
&lt;/h2&gt;&lt;p&gt;Organizations in scope of NIS2 in Germany must, under section 30 of the BSI Act (BSIG), among other things set up access control concepts and use multi-factor or continuous authentication (&lt;a class="link" href="https://www.gesetze-im-internet.de/bsig_2025/__30.html" target="_blank" rel="noopener"
 &gt;§ 30 BSIG&lt;/a&gt;). The law does not mention agents. I see no reason to treat an agent that reads from the HR system differently from a service account that does the same. That is my professional view, not legal advice.&lt;/p&gt;
&lt;p&gt;For traceability, every action has to answer three questions: which user triggered it, which agents were involved, and under which identity the business system was called. The unified audit log covers a large part of this. Connected agents, however, produce separate transcripts that you have to correlate through identifiers in the telemetry (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/guidance/multi-agent-patterns" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). If you may have to report an incident on a short deadline, build that query before you need it.&lt;/p&gt;
&lt;p&gt;For recertification, agent identities belong in the same review cycle as service accounts. Sponsors and access packages with an expiry date make that possible in Entra, without anyone maintaining a spreadsheet.&lt;/p&gt;
&lt;p&gt;A service provider adds one more question: who operates the runtime controls? Data policies, Conditional Access for agents and Defender real-time protection rules often sit with the provider, while approvals in agent flows sit with the customer&amp;rsquo;s business owners. Defender can, for example, block a tool call that would send email to an unsafe domain (&lt;a class="link" href="https://learn.microsoft.com/defender-xdr/security-for-ai/ai-agent-real-time-protection" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). Who sees that alert at night, and who may then block the agent, has to be settled in advance. Multi-tenant agent management in the Microsoft 365 admin center (preview) makes blocking across tenants technically easy (&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-multi-tenant" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). The authority to do it belongs in the contract.&lt;/p&gt;
&lt;h2 id="where-microsoft-still-has-gaps"&gt;Where Microsoft still has gaps
&lt;/h2&gt;&lt;p&gt;Conditional Access on the agent identity is currently evaluated only when a Copilot Studio agent runs in Microsoft Teams. Other channels still call connectors through the existing Power Platform flow (&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/govern-agents-identities-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). On top of that, custom connectors, MCP servers and REST tools add no API permissions to the agent ID, so the Entra view is incomplete exactly where MCP comes in. Agent Builder agents get no agent ID at all.&lt;/p&gt;
&lt;p&gt;The documentation does not describe how identity is passed from a parent agent to a connected agent. For the standard harness it only says that, depending on the authentication setup, you might need to share the connected agent with the end users as well. I would test this in my own tenant before relying on it. Several of the runtime controls above are also still in preview or rolling out, including Defender real-time protection for Copilot Studio, multistage approvals and tool-level blocking for MCP servers.&lt;/p&gt;
&lt;h2 id="five-things-you-can-check-tomorrow"&gt;Five things you can check tomorrow
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Check in the Power Platform admin center whether your production environments still allow maker-provided credentials. The &lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/admin-agent-inventory" target="_blank" rel="noopener"
 &gt;agent inventory&lt;/a&gt; shows in the &lt;code&gt;connectionProvider&lt;/code&gt; field (preview) which connector operations use them.&lt;/li&gt;
&lt;li&gt;For your most important agent, list every connected agent and child agent and find out whether each one receives the conversation history.&lt;/li&gt;
&lt;li&gt;Open Agents &amp;gt; Tools in the Microsoft 365 admin center and block every MCP server whose operator you don&amp;rsquo;t know.&lt;/li&gt;
&lt;li&gt;Check in the Microsoft Entra admin center that every agent identity has a sponsor.&lt;/li&gt;
&lt;li&gt;Pick one high-impact action an agent can perform today and put an approval into the flow in front of it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Which frameworks you have to prove agent governance against, and who delivers which evidence, is the topic of &lt;a href="https://blog.dr365.io/p/agent-compliance-map/"&gt;part 4&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="sources"&gt;Sources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/govern-agents-identities-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Agent identities and authentication for Copilot Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/configure-no-maker-authentication" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Control maker-provided credentials for authentication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/security-scan" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Automatic security scan in Copilot Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/entra/identity/conditional-access/agent-id" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Conditional Access for agents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/guidance/multi-agent-patterns" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Multi-agent orchestration patterns and best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/add-agent-copilot-studio-agent" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Connect to an existing Copilot Studio agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/mcp-add-existing-server-to-agent" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Connect your agent to an existing MCP server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/manage-plugins-skills-mcp-servers" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Manage plugins, skills, and MCP servers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/external-security-provider" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Enable external threat detection for Copilot Studio agents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/defender-xdr/security-for-ai/ai-agent-real-time-protection" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Protect AI agents in real time using Microsoft Defender&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/azure/foundry/guardrails/guardrails-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Guardrails and controls in Microsoft Foundry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-multi-tenant" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Manage agents across multiple tenants (preview)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/purview/ai-copilot-studio" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Purview for Copilot Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/purview/ai-agent-365" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Purview for Microsoft Agent 365&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-agent-365/overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Overview of Microsoft Agent 365&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-registry" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Manage agent registry in the Microsoft 365 admin center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/entra/id-governance/agent-id-governance-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Governing agent identities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/flows-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Agent flows overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/flows-advanced-approvals" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Multistage and AI approvals in agent flows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/admin-agent-inventory" target="_blank" rel="noopener"
 &gt;Microsoft Learn: Copilot Studio agent inventory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization" target="_blank" rel="noopener"
 &gt;Model Context Protocol: Authorization (specification 2026-07-28)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.gesetze-im-internet.de/bsig_2025/__30.html" target="_blank" rel="noopener"
 &gt;Section 30 BSIG: risk management measures (German)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This post was prompted by a LinkedIn post from Rajeev Yadav.&lt;/p&gt;</description></item><item><title>Built for human pace: what Anthropic's source control rewrite means for enterprise IT strategy</title><link>https://blog.dr365.io/p/agent-scale-enterprise-it-strategy/</link><pubDate>Wed, 14 Oct 2026 07:00:00 +0200</pubDate><guid>https://blog.dr365.io/p/agent-scale-enterprise-it-strategy/</guid><description>&lt;img src="https://blog.dr365.io/p/agent-scale-enterprise-it-strategy/cover.png" alt="Featured image of post Built for human pace: what Anthropic's source control rewrite means for enterprise IT strategy" /&gt;&lt;p&gt;In May 2026, Anthropic merged about 2,500 code changes per day into its monorepo. By September it was more than 30,000. Git and the mirror infrastructure around it could not keep up, so a team of seven built its own version control system and moved the entire monorepo onto it in five months (&lt;a class="link" href="https://www.anthropic.com/engineering/redesigning-source-control" target="_blank" rel="noopener"
 &gt;Anthropic Engineering&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Almost nobody reading this will build a version control system. That isn&amp;rsquo;t the point of the story. Every organization runs processes that were sized for the speed of people: change advisory boards, four-eyes approvals, access reviews, CI pipelines, budgets calculated in person-days. Once agents do a large share of the work, those processes become the bottleneck, and the question is which of them you redesign before they break.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agents are becoming the main consumers of your systems. Architecture decisions should assume machine clients that are always online and call APIs at high volume.&lt;/li&gt;
&lt;li&gt;Review and approval have to move from &amp;ldquo;a human looked at everything&amp;rdquo; to rules that decide where a human must look.&lt;/li&gt;
&lt;li&gt;Every agent needs an identity, an accountable person and a cost center. Without those three you can neither govern nor budget agent work.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-anthropic-actually-changed"&gt;What Anthropic actually changed
&lt;/h2&gt;&lt;p&gt;The headlines say &amp;ldquo;Anthropic threw out Git&amp;rdquo;. The engineering post is more careful. The new system is called Scion, the review tool Antique. Anthropic explicitly says Scion is not a general replacement for git, because that would mean replacing the whole development toolchain. They published the design so that git platforms can adopt parts of it.&lt;/p&gt;
&lt;p&gt;The numbers explain why they did it anyway. The main branch history is almost 100 GB, a compressed working copy more than 25 GB, and CI runs roughly 25 million checkouts per day. Git is designed for distributed clients that work offline. Anthropic&amp;rsquo;s clients are almost entirely agents and jobs that are always online. Scion moves the expensive work to the server: commits, merges, rebases, history and blame happen there, clients get sparse, virtualized checkouts that load files on demand, and much of the functionality is available through an API without any local repository. According to the post, the new infrastructure uses about 200 times less CPU and memory than the old git mirrors, and CI checkouts take seconds instead of minutes.&lt;/p&gt;
&lt;p&gt;Three decisions in the post matter beyond source control:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There is no merge queue with a global lock. Anthropic invested in post-merge and pre-deploy testing instead. Conflicts between concurrent changes happen, and Claude usually fixes them faster than a human would notice them.&lt;/li&gt;
&lt;li&gt;Antique can express semantic rules for approvals. A comment-only change gets treated differently from a change to sensitive logic, so human reviewers spend their time where it counts.&lt;/li&gt;
&lt;li&gt;Access control at repository and directory level was built in from the start, not added later.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="agents-are-the-new-primary-client"&gt;Agents are the new primary client
&lt;/h2&gt;&lt;p&gt;The first lesson is about architecture. Most enterprise systems assume a person in front of a screen. Agents behave differently: they poll, they run in parallel, and they don&amp;rsquo;t take lunch breaks.&lt;/p&gt;
&lt;p&gt;In Microsoft 365 you can see this today in Microsoft Graph throttling. Microsoft lists two typical causes: many requests across all applications in a tenant, and many requests from one application across tenants. Polling a resource and repeatedly scanning collections are named as patterns that lead to throttling. The recommended alternatives are delta queries and change notifications, and for bulk extraction Microsoft points to Graph Data Connect instead of the REST APIs (&lt;a class="link" href="https://learn.microsoft.com/graph/throttling" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). SharePoint Online goes one step further: an application that keeps exceeding limits can be blocked entirely (&lt;a class="link" href="https://learn.microsoft.com/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;That guidance was written for integration developers. It now applies to every agent that reads mailboxes, sites or Teams channels on someone&amp;rsquo;s behalf. When I evaluate an agent scenario, I now ask how it detects changes before I ask what it does. An agent that rescans a document library every ten minutes works fine in the pilot and becomes a problem when 40 departments copy it.&lt;/p&gt;
&lt;p&gt;For your own systems the same principle applies in the other direction. If agents are going to be the main consumers of an internal platform, give it a proper API, change feeds and per-client limits. A web UI with a scraping agent in front of it is the git mirror of your organization: it works until the volume grows tenfold.&lt;/p&gt;
&lt;h2 id="review-by-intent-instead-of-line-by-line"&gt;Review by intent instead of line by line
&lt;/h2&gt;&lt;p&gt;The second lesson concerns control processes. The Anthropic team still reviews every change, but they review the intent, not every line. Their main job, as they describe it, is telling Claude &amp;ldquo;no&amp;rdquo;: when it violates system constraints, or when it over-engineers in response to hypothetical concerns.&lt;/p&gt;
&lt;p&gt;In regulated environments this is the uncomfortable part. Many change processes implicitly promise that a qualified person checked everything. At 30,000 changes per day that promise can&amp;rsquo;t be kept, and honestly it often wasn&amp;rsquo;t kept at 30 per week either. The CAB that approves a stack of changes in 45 minutes is mostly checking that the form is complete.&lt;/p&gt;
&lt;p&gt;In my experience, auditors want evidence that changes are controlled and traceable. NIS2 asks for risk management measures that include security in development and maintenance; it does not prescribe that a human reads every line. That leaves room for a model that ITIL already knows as standard changes, applied to agent output:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Low risk&lt;/strong&gt; (documentation, tests, formatting, configuration within defined guardrails): automated checks, no mandatory human review, full logging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Medium risk&lt;/strong&gt; (business logic, integrations): human review of intent and test evidence, with the agent&amp;rsquo;s summary as input.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High risk&lt;/strong&gt; (authentication, permissions, data flows across trust boundaries, anything regulated): line-level review by a named person, the way it has always been.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What decides the tier has to be a rule, not a gut feeling. Anthropic models this in the review tool, and you can model it in branch protection rules, CODEOWNERS files or a Power Automate approval flow. The rule itself is the control that an auditor will want to see.&lt;/p&gt;
&lt;p&gt;I would be careful with one part of the Anthropic approach: moving checks after the merge. For an internal developer platform that is a reasonable trade. For a system in a KRITIS environment where a faulty change can reach production directly, I wouldn&amp;rsquo;t do it. The safeguard has to sit before deployment, even if it no longer sits before the merge.&lt;/p&gt;
&lt;h2 id="every-agent-needs-an-identity-and-an-owner"&gt;Every agent needs an identity and an owner
&lt;/h2&gt;&lt;p&gt;Anthropic built access control into Scion from day one, down to the directory level. In Microsoft 365 the equivalent is the identity layer for agents. Microsoft Entra Agent ID gives agents their own identities in the directory, created from agent identity blueprints. Every agent identity requires a human sponsor who is accountable for purpose, lifecycle and access reviews. If the sponsor leaves, sponsorship transfers to their manager. Conditional Access and access packages from entitlement management apply to agents as well (&lt;a class="link" href="https://learn.microsoft.com/entra/id-governance/agent-id-governance-overview" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). As of October 2026, identity governance for agents is labeled preview, and the licensing depends on Microsoft 365 E7 or Agent 365 licenses; check the current terms before you plan with it.&lt;/p&gt;
&lt;p&gt;On top of that, Microsoft Agent 365 provides the registry as one inventory of Microsoft and non-Microsoft agents, including counts of agents without owners (&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-registry" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). I described the governance side in more detail in &lt;a class="link" href="https://blog.dr365.io/p/agent-lifecycle-agent-builder-copilot-studio/" &gt;the post on the agent lifecycle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The strategic point: an agent that runs under a shared service account or a person&amp;rsquo;s delegated credentials cannot be distinguished in the audit log, cannot be throttled separately and cannot be billed separately. Fixing that later for hundreds of agents is the kind of project nobody wants to fund.&lt;/p&gt;
&lt;h2 id="measuring-agent-work"&gt;Measuring agent work
&lt;/h2&gt;&lt;p&gt;The budget side breaks in the same way. Controlling in most IT organizations still calculates in person-days, and that model has no line for agent work. A practical way to close the gap is to route agent sessions through an AI gateway, so that every token and every hour of runtime can be assigned to a project and a repository and priced at real cost.&lt;/p&gt;
&lt;p&gt;A feature that needed 20 days last year and 3 days of review plus agent runtime this year doesn&amp;rsquo;t fit that model. Counting agent hours is a start, but hours are an input metric. What you want to know is the cost per accepted change: tokens and runtime plus the human time for review, rework and the cases where someone had to say &amp;ldquo;no&amp;rdquo;. Without the human share, agent work looks cheaper than it is.&lt;/p&gt;
&lt;p&gt;For Microsoft agents, Agent 365 observability collects activity data and is meant to support business metrics like usage and time savings (&lt;a class="link" href="https://learn.microsoft.com/microsoft-agent-365/admin/monitor-agents" target="_blank" rel="noopener"
 &gt;Microsoft Learn&lt;/a&gt;). That covers part of the picture. Coding agents outside Microsoft 365 need their own attribution, and that is where the gateway approach comes in.&lt;/p&gt;
&lt;!-- TODO Daniel: Optional eigene Beobachtung ergänzen, wie Agentenkosten bei euch heute verbucht werden (verallgemeinert, ohne Kundennamen). --&gt;
&lt;h2 id="decisions-for-the-next-twelve-months"&gt;Decisions for the next twelve months
&lt;/h2&gt;&lt;p&gt;Anthropic expects other organizations to run into this class of problem within the next six to twelve months. Even if your timeline is longer, these are the decisions I would make now:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Inventory human-paced controls.&lt;/strong&gt; List every approval, review and pipeline step that assumes a person and a working day. Mark which ones would break at ten times the volume.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Introduce risk tiers for changes.&lt;/strong&gt; Write down which changes need a human, which need a human for intent only and which need logging only. Make the rule machine-readable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Give agents their own identities.&lt;/strong&gt; No shared service accounts, every agent with a sponsor, permissions through access packages with an expiry date.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Design integrations for machine clients.&lt;/strong&gt; Delta queries, change notifications and API budgets instead of polling and scraping.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attribute agent cost.&lt;/strong&gt; Tokens and runtime per project, plus the human review time, from the first productive agent onward.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What I wouldn&amp;rsquo;t do is copy Anthropic&amp;rsquo;s tooling. Their problem was 25 million checkouts a day. Yours is more likely a change process that takes two weeks for a configuration change an agent prepared in ten minutes. That is the place to start.&lt;/p&gt;
&lt;h2 id="references"&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Anthropic Engineering: &lt;a class="link" href="https://www.anthropic.com/engineering/redesigning-source-control" target="_blank" rel="noopener"
 &gt;Redesigning source control at Anthropic&lt;/a&gt; (October 13, 2026)&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a class="link" href="https://learn.microsoft.com/graph/throttling" target="_blank" rel="noopener"
 &gt;Microsoft Graph throttling guidance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a class="link" href="https://learn.microsoft.com/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online" target="_blank" rel="noopener"
 &gt;Avoid getting throttled or blocked in SharePoint Online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a class="link" href="https://learn.microsoft.com/entra/id-governance/agent-id-governance-overview" target="_blank" rel="noopener"
 &gt;Governing agent identities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-registry" target="_blank" rel="noopener"
 &gt;Manage agent registry in Microsoft 365 admin center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a class="link" href="https://learn.microsoft.com/microsoft-agent-365/admin/monitor-agents" target="_blank" rel="noopener"
 &gt;Agent 365 observability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EUR-Lex: &lt;a class="link" href="https://eur-lex.europa.eu/eli/dir/2022/2555/oj" target="_blank" rel="noopener"
 &gt;Directive (EU) 2022/2555 (NIS2)&lt;/a&gt;, Article 21&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Which Copilot Feature for Which Job: A Four-Level Map With Agent Governance</title><link>https://blog.dr365.io/p/copilot-feature-map-four-levels/</link><pubDate>Mon, 12 Oct 2026 07:00:00 +0200</pubDate><guid>https://blog.dr365.io/p/copilot-feature-map-four-levels/</guid><description>&lt;img src="https://blog.dr365.io/p/copilot-feature-map-four-levels/cover.png" alt="Featured image of post Which Copilot Feature for Which Job: A Four-Level Map With Agent Governance" /&gt;&lt;p&gt;Copilot Chat, Copilot in Word, Agent Builder, SharePoint agents, Copilot Studio, Cowork: that&amp;rsquo;s just the list for this quarter. Every month brings another entry point, and every new one gets the same question from users and stakeholders: &lt;em&gt;&amp;ldquo;So should we use this now instead?&amp;rdquo;&lt;/em&gt; Answering it means knowing which tool fits which job, and keeping the agents you build from turning into the next generation of orphaned Power Automate flows.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Think of Copilot as &lt;strong&gt;four levels&lt;/strong&gt;: ad hoc chat → Copilot inside the apps → agents → Copilot Studio and Cowork-style automation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Four questions&lt;/strong&gt; decide the level: Does it happen more than once a week? Does it use the same sources or tone every time? Is it rule-based? Does it span multiple systems and approvals? More &amp;ldquo;yes&amp;rdquo; answers mean a higher level.&lt;/li&gt;
&lt;li&gt;The higher you go, the more governance you need, but one rule applies on every level: &lt;strong&gt;no agent without an owner.&lt;/strong&gt; As of October 2026, the Agent 365 registry in the Microsoft 365 admin center shows you which agents are missing one.&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;
&lt;h2 id="a-quick-note-on-names"&gt;A quick note on names
&lt;/h2&gt;&lt;p&gt;Microsoft has renamed things again: &lt;strong&gt;Microsoft 365 Copilot is now Microsoft Copilot&lt;/strong&gt;, and &lt;strong&gt;Microsoft 365 Copilot Chat is now Microsoft Copilot Chat&lt;/strong&gt;, with the app moving to &lt;code&gt;copilot.cloud.microsoft&lt;/code&gt;. Licences, portals and docs will show both names for a while. I&amp;rsquo;m using the new names below. If your users are confused, that&amp;rsquo;s one more reason to give them a map instead of a product list.&lt;/p&gt;
&lt;h2 id="the-map-four-levels"&gt;The map: four levels
&lt;/h2&gt;&lt;p&gt;The idea comes from Patrick Kelbch&amp;rsquo;s session at M365 Con D-A-CH, and I like it because it organises things by &lt;em&gt;the kind of work&lt;/em&gt;, not by product. Here&amp;rsquo;s how I&amp;rsquo;d fill it in with what&amp;rsquo;s actually available today:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Level&lt;/th&gt;
					&lt;th&gt;What it is&lt;/th&gt;
					&lt;th&gt;Typical job&lt;/th&gt;
					&lt;th&gt;Licence / cost (simplified)&lt;/th&gt;
					&lt;th&gt;Who governs it&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;1 – Chat&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Copilot Chat in the Copilot app, Edge, Teams, Outlook&lt;/td&gt;
					&lt;td&gt;Ad hoc questions, drafting, summarising something you paste or upload&lt;/td&gt;
					&lt;td&gt;Included with eligible Microsoft 365 plans (web-grounded); work-grounded chat needs a Copilot licence&lt;/td&gt;
					&lt;td&gt;Copilot settings in the Microsoft 365 admin center&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;2 – In the apps&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Copilot inside Word, Excel, PowerPoint, Outlook, Teams&lt;/td&gt;
					&lt;td&gt;Meeting recap, inbox triage, first PowerPoint draft from a document&lt;/td&gt;
					&lt;td&gt;Basic in-app features for eligible users; the full experience with a Microsoft Copilot licence&lt;/td&gt;
					&lt;td&gt;Same as above, plus your data foundation (permissions, labels)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;3 – Agents&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Agent Builder agents, SharePoint agents, agents from the Agent Store&lt;/td&gt;
					&lt;td&gt;A reusable assistant with fixed instructions and knowledge, e.g. a project FAQ&lt;/td&gt;
					&lt;td&gt;Included with a Copilot licence; without one via pay-as-you-go (web-only agents are free)&lt;/td&gt;
					&lt;td&gt;Agent registry in the Microsoft 365 admin center&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;4 – Automation&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Copilot Studio agents (flows, triggers, autonomy) and Copilot Cowork&lt;/td&gt;
					&lt;td&gt;Multi-step processes across systems, with approvals&lt;/td&gt;
					&lt;td&gt;Copilot Studio: Copilot licence or Copilot Credits; Cowork: Copilot licence &lt;strong&gt;plus&lt;/strong&gt; usage-based billing&lt;/td&gt;
					&lt;td&gt;Power Platform admin center + Agent 365 + Cost Management&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The line between level 1 and 2 is now drawn by licensing more than by technology. Users without a Copilot licence get basic Copilot features in Word, Excel and PowerPoint, and Copilot Chat in Outlook and Teams can work with the content you have open. For users, it all looks like &amp;ldquo;Copilot in the app&amp;rdquo;. For you, the difference matters because it decides whether Copilot can reach into their mailbox, chats and files by itself, or only sees what they hand it.&lt;/p&gt;
&lt;p&gt;Level 4 has two very different branches. Copilot Studio is &lt;em&gt;process-centric&lt;/em&gt;: a maker builds an agent with topics, agent flows and event triggers, and it runs for many users, sometimes without anyone prompting it. Cowork is &lt;em&gt;person-centric&lt;/em&gt;: a user delegates an outcome (&amp;ldquo;prepare the steering committee pack from last week&amp;rsquo;s mails and the project site&amp;rdquo;), Cowork plans the steps, works across Outlook, Teams, OneDrive and SharePoint, and asks for approval before sensitive actions. Microsoft calls Cowork an &lt;em&gt;agentic system&lt;/em&gt; rather than an agent, and it&amp;rsquo;s governed through spending policies rather than the agent registry.&lt;/p&gt;
&lt;h2 id="four-questions-to-find-the-right-level"&gt;Four questions to find the right level
&lt;/h2&gt;&lt;p&gt;When a new use case or a new feature shows up, run it through four questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Does it happen more than once a week?&lt;/strong&gt; If not, stay on level 1 or 2. Building something reusable for a one-off is overkill.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Does it use the same sources or the same tone every time?&lt;/strong&gt; If yes, you&amp;rsquo;re looking at an agent (level 3): instructions plus a fixed knowledge base beat re-typing the same prompt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is it rule-based?&lt;/strong&gt; If the steps are predictable (&amp;ldquo;when X arrives, check Y, then do Z&amp;rdquo;), you want deterministic logic: a Copilot Studio agent with topics or agent flows (level 4).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Does it span multiple systems and need approvals?&lt;/strong&gt; Then you need level 4 with real process design: connectors, human-in-the-loop steps, and someone thinking about the credentials the agent runs with.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The more &amp;ldquo;yes&amp;rdquo; answers, the higher you climb. &lt;strong&gt;If you can&amp;rsquo;t answer yes, don&amp;rsquo;t climb:&lt;/strong&gt; an agent nobody uses still has to be inventoried, reviewed and eventually retired.&lt;/p&gt;

&lt;figure class="dr-diagram"&gt;
 &lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 772" width="700" height="772" role="img" aria-labelledby="feature-decision-en-t feature-decision-en-d" class="dg" font-family='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'&gt;
&lt;title id="feature-decision-en-t"&gt;Decision tree: which Copilot level for a use case&lt;/title&gt;
&lt;desc id="feature-decision-en-d"&gt;Four questions lead from a new use case to the right level: less than weekly or without the same sources stays at level 1/2. Without rule-based steps, level 3 is enough; without multiple systems and approvals, level 3/4; otherwise level 4.&lt;/desc&gt;
&lt;defs&gt;
&lt;marker id="feature-decision-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="9" markerHeight="9" markerUnits="userSpaceOnUse" orient="auto-start-reverse"&gt;&lt;path class="dg-arrowhead" d="M0,0 L10,5 L0,10 z" fill="#64748b"/&gt;&lt;/marker&gt;
&lt;/defs&gt;
&lt;polyline class="dg-edge" points="170,72 170,112" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="300,162 350,162 350,217 400,217" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="170,212 170,252" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="300,302 350,302 350,247 400,247" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="170,352 170,392" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="300,442 400,442" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="170,492 170,532" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="300,582 400,582" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;polyline class="dg-edge" points="170,632 170,672" fill="none" stroke="#64748b" stroke-width="1.6" stroke-linejoin="round" marker-end="url(#feature-decision-arrow)"/&gt;
&lt;rect class="dg-node-accent" x="40" y="20" width="260" height="52" rx="10" fill="#A855F7" fill-opacity="0.10" stroke="#A855F7" stroke-width="1.6"/&gt;
&lt;text class="dg-title" x="170" y="50" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;New use case&lt;/text&gt;
&lt;polygon class="dg-node" points="170,112 300,162 170,212 40,162" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="170" y="156" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;More than once&lt;/text&gt;
&lt;text class="dg-title" x="170" y="176" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;a week?&lt;/text&gt;
&lt;polygon class="dg-node" points="170,252 300,302 170,352 40,302" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="170" y="296" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Same sources&lt;/text&gt;
&lt;text class="dg-title" x="170" y="316" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;or tone?&lt;/text&gt;
&lt;polygon class="dg-node" points="170,392 300,442 170,492 40,442" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="170" y="436" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Rule-based&lt;/text&gt;
&lt;text class="dg-title" x="170" y="456" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;steps?&lt;/text&gt;
&lt;polygon class="dg-node" points="170,532 300,582 170,632 40,582" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="170" y="576" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Multiple systems&lt;/text&gt;
&lt;text class="dg-title" x="170" y="596" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;and approvals?&lt;/text&gt;
&lt;rect class="dg-node" x="400" y="192" width="260" height="80" rx="10" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="530" y="226.5" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Level 1/2&lt;/text&gt;
&lt;text class="dg-text" x="530" y="246.5" text-anchor="middle" font-size="13" fill="#4b5563"&gt;Chat or Copilot in the app&lt;/text&gt;
&lt;rect class="dg-node" x="400" y="402" width="260" height="80" rx="10" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="530" y="427" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Level 3&lt;/text&gt;
&lt;text class="dg-text" x="530" y="447" text-anchor="middle" font-size="13" fill="#4b5563"&gt;Agent Builder or&lt;/text&gt;
&lt;text class="dg-text" x="530" y="466" text-anchor="middle" font-size="13" fill="#4b5563"&gt;SharePoint agent&lt;/text&gt;
&lt;rect class="dg-node" x="400" y="542" width="260" height="80" rx="10" fill="#ffffff" stroke="#cbd5e1" stroke-width="1.2"/&gt;
&lt;text class="dg-title" x="530" y="567" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Level 3/4&lt;/text&gt;
&lt;text class="dg-text" x="530" y="587" text-anchor="middle" font-size="13" fill="#4b5563"&gt;Agent with actions&lt;/text&gt;
&lt;text class="dg-text" x="530" y="606" text-anchor="middle" font-size="13" fill="#4b5563"&gt;in Copilot Studio&lt;/text&gt;
&lt;rect class="dg-node-accent" x="40" y="672" width="260" height="80" rx="10" fill="#A855F7" fill-opacity="0.10" stroke="#A855F7" stroke-width="1.6"/&gt;
&lt;text class="dg-title" x="170" y="697" text-anchor="middle" font-size="15" font-weight="700" fill="#1f2937"&gt;Level 4&lt;/text&gt;
&lt;text class="dg-text" x="170" y="717" text-anchor="middle" font-size="13" fill="#4b5563"&gt;Copilot Studio flows&lt;/text&gt;
&lt;text class="dg-text" x="170" y="736" text-anchor="middle" font-size="13" fill="#4b5563"&gt;or Cowork&lt;/text&gt;
&lt;rect class="dg-label-bg" x="322.5" y="151" width="25" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="335" y="166" text-anchor="middle" font-size="12" fill="#4b5563"&gt;no&lt;/text&gt;
&lt;rect class="dg-label-bg" x="154.3" y="221" width="31.4" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="170" y="236" text-anchor="middle" font-size="12" fill="#4b5563"&gt;yes&lt;/text&gt;
&lt;rect class="dg-label-bg" x="322.5" y="291" width="25" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="335" y="306" text-anchor="middle" font-size="12" fill="#4b5563"&gt;no&lt;/text&gt;
&lt;rect class="dg-label-bg" x="154.3" y="361" width="31.4" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="170" y="376" text-anchor="middle" font-size="12" fill="#4b5563"&gt;yes&lt;/text&gt;
&lt;rect class="dg-label-bg" x="337.5" y="431" width="25" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="350" y="446" text-anchor="middle" font-size="12" fill="#4b5563"&gt;no&lt;/text&gt;
&lt;rect class="dg-label-bg" x="154.3" y="501" width="31.4" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="170" y="516" text-anchor="middle" font-size="12" fill="#4b5563"&gt;yes&lt;/text&gt;
&lt;rect class="dg-label-bg" x="337.5" y="571" width="25" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="350" y="586" text-anchor="middle" font-size="12" fill="#4b5563"&gt;no&lt;/text&gt;
&lt;rect class="dg-label-bg" x="154.3" y="641" width="31.4" height="22" rx="4" fill="#ffffff"/&gt;
&lt;text class="dg-label" x="170" y="656" text-anchor="middle" font-size="12" fill="#4b5563"&gt;yes&lt;/text&gt;
&lt;/svg&gt;

&lt;/figure&gt;
&lt;p&gt;I&amp;rsquo;d add one question of my own, and it&amp;rsquo;s the first one I ask in regulated environments: &lt;strong&gt;who will own this when it breaks?&lt;/strong&gt; If nobody raises their hand, the use case stays on level 1 or 2, however good the idea is.&lt;/p&gt;
&lt;!-- TODO Daniel: optional ein konkretes, anonymisiertes Praxisbeispiel ergänzen, welche Use Cases bei Kunden typischerweise auf welcher Stufe landen. --&gt;
&lt;h2 id="governance-per-level-and-an-owner-for-every-agent"&gt;Governance per level, and an owner for every agent
&lt;/h2&gt;&lt;p&gt;On levels 1 and 2, governance is mostly about your &lt;strong&gt;data foundation&lt;/strong&gt;: oversharing, sensitivity labels, permissions. Copilot only shows users what they can already access, which is exactly why messy permissions show up the moment Copilot is switched on.&lt;/p&gt;
&lt;p&gt;From level 3 upward, you&amp;rsquo;re managing &lt;em&gt;objects&lt;/em&gt; that live on: agents with knowledge, actions and sometimes their own identity. The session had a checklist for these; here&amp;rsquo;s how each item maps to current tooling:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;An owner for every agent.&lt;/strong&gt; The agent registry in the Microsoft 365 admin center (&lt;strong&gt;Agents &amp;gt; All agents &amp;gt; Registry&lt;/strong&gt;) lists agents across platforms (Copilot Studio, Agent Builder, partner and Microsoft agents) and shows &lt;strong&gt;Agents without owners&lt;/strong&gt; as a top-level number. Viewing the inventory doesn&amp;rsquo;t need an extra licence, only the right role; &lt;strong&gt;AI Reader&lt;/strong&gt; is the least-privileged option. Assigning a new owner requires AI Administrator (or Global Administrator).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Owner vs. sponsor.&lt;/strong&gt; For agents with a Microsoft Entra Agent ID, Entra separates two roles: the &lt;strong&gt;owner&lt;/strong&gt; handles technical operations, while the &lt;strong&gt;sponsor&lt;/strong&gt; is the business person accountable for whether the agent should still exist and what access it gets. Every agent identity needs at least one sponsor, and if a sponsor leaves the organisation, sponsorship transfers automatically to their manager. Use both roles. &amp;ldquo;IT built it&amp;rdquo; is not the same as &amp;ldquo;the business needs it&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Approval for actions.&lt;/strong&gt; Cowork asks for approval before sensitive actions. In Copilot Studio, you design it yourself: human-in-the-loop steps in agent flows for anything high-impact or irreversible. One detail worth knowing: &lt;strong&gt;event triggers in Copilot Studio authenticate with the maker&amp;rsquo;s credentials&lt;/strong&gt;, so users of a published agent may reach data through the maker&amp;rsquo;s access. Least privilege applies to makers too.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;One registry.&lt;/strong&gt; Microsoft is converging the agent views from Entra and the Microsoft 365 admin center into Agent 365, so you end up with one inventory instead of three. Agents from other platforms can be synced into the registry as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Entra ID sprawl under control.&lt;/strong&gt; Every agent with its own identity adds objects to your directory: blueprints, agent identities, possibly agent users. Treat them like any other non-human identity: Conditional Access, access packages with expiry, and lifecycle workflows that catch sponsor changes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lifecycle, licensing and cost.&lt;/strong&gt; Agents can be blocked, deleted (with a 30-day recovery window) and reassigned from the admin center. On the cost side, Cowork and other usage-billed experiences run on &lt;strong&gt;Copilot Credits&lt;/strong&gt; and are managed under &lt;strong&gt;Copilot &amp;gt; Cost Management&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="a-quick-inventory-with-microsoft-graph"&gt;A quick inventory with Microsoft Graph
&lt;/h3&gt;&lt;p&gt;If you want the registry in a script, for a monthly report or a review with the business, there&amp;rsquo;s a Package Management API in Microsoft Graph. It&amp;rsquo;s available on &lt;code&gt;v1.0&lt;/code&gt;, needs &lt;code&gt;CopilotPackages.Read.All&lt;/code&gt; (delegated or application), and &lt;strong&gt;requires a Microsoft Agent 365 licence&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Requires: Microsoft.Graph.Authentication, permission CopilotPackages.Read.All&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Connect-MgGraph&lt;/span&gt; &lt;span class="n"&gt;-Scopes&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;CopilotPackages.Read.All&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;-NoWelcome&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Only packages that surface in Copilot, i.e. agents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$uri&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?&lt;/span&gt;&lt;span class="se"&gt;`$&lt;/span&gt;&lt;span class="s2"&gt;filter=supportedHosts/any(h:h eq &amp;#39;Copilot&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$agents&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$uri&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$page&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Invoke-MgGraphRequest&lt;/span&gt; &lt;span class="n"&gt;-Method&lt;/span&gt; &lt;span class="n"&gt;GET&lt;/span&gt; &lt;span class="n"&gt;-Uri&lt;/span&gt; &lt;span class="nv"&gt;$uri&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;value&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$uri&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;@odata.nextLink&amp;#39;&lt;/span&gt; &lt;span class="c"&gt;# follow paging until no nextLink is returned&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$agents&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;Select-Object&lt;/span&gt; &lt;span class="n"&gt;displayName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;publisher&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;isBlocked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;availableTo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;deployedTo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lastModifiedDateTime&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;Sort-Object&lt;/span&gt; &lt;span class="n"&gt;lastModifiedDateTime&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;Export-Csv&lt;/span&gt; &lt;span class="n"&gt;-Path&lt;/span&gt; &lt;span class="p"&gt;.\&lt;/span&gt;&lt;span class="nb"&gt;agent-inventory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;csv&lt;/span&gt; &lt;span class="n"&gt;-NoTypeInformation&lt;/span&gt; &lt;span class="n"&gt;-Encoding&lt;/span&gt; &lt;span class="n"&gt;utf8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Sorting by &lt;code&gt;lastModifiedDateTime&lt;/code&gt; is a cheap first lifecycle check: agents that haven&amp;rsquo;t changed in a year are the first ones to review. For ownership, the &lt;strong&gt;Agents without owners&lt;/strong&gt; view in the admin center is still the quickest way in.&lt;/p&gt;
&lt;h2 id="things-to-watch-out-for"&gt;Things to watch out for
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;A spending policy is an access control as well as a budget. For Cowork, anyone in scope of a policy that selects Cowork gets access, even if the limit is a single credit. To keep someone out, keep them out of the policy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Auto-apply new services&amp;rdquo;&lt;/strong&gt; is on by default in spending policies. New usage-billed services can be covered automatically. If you&amp;rsquo;d rather review every new service first (a reasonable stance under NIS2-style change control), switch it off.&lt;/li&gt;
&lt;li&gt;Set per-user limits. Otherwise one enthusiastic user can use up the whole month&amp;rsquo;s credits.&lt;/li&gt;
&lt;li&gt;Agent 365 licensing is tiered. The registry inventory and basic actions (block, delete, reassign owner) come with Microsoft 365 Enterprise, Business, Education and Frontline plans. Policy templates, observability, tenant-wide tool control and the Graph API need Microsoft 365 E7 or Agent 365. Check the service description before you promise a feature.&lt;/li&gt;
&lt;li&gt;Names and admin paths keep moving. The rename to Microsoft Copilot is recent; screenshots in your internal docs will be out of date sooner than you think.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="wrap-up"&gt;Wrap-up
&lt;/h2&gt;&lt;p&gt;Build the map once, then place every new Copilot feature on it instead of debating it from scratch. Use the four questions to decide how high a use case should go, and be strict about the extra one: if nobody owns it, it doesn&amp;rsquo;t get built. For the agents you already have, the registry shows you exactly where an owner is missing.&lt;/p&gt;
&lt;p&gt;Which level are most of your users on today, and how many agents in your registry are already missing an owner?&lt;/p&gt;
&lt;h2 id="references"&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/microsoft-365-copilot-overview" target="_blank" rel="noopener"
 &gt;Microsoft Copilot overview – features in Microsoft 365 apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/microsoft-copilot-requirements" target="_blank" rel="noopener"
 &gt;Microsoft Copilot requirements (incl. rename note)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/copilot/manage" target="_blank" rel="noopener"
 &gt;Manage Microsoft Copilot Chat – eligibility&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/agent-essentials/m365-agents-admin-guide" target="_blank" rel="noopener"
 &gt;Agents admin guide for Microsoft 365 – licensing scenarios&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/extensibility/copilot-studio-experience" target="_blank" rel="noopener"
 &gt;Choose between Agent Builder and Copilot Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/cowork/" target="_blank" rel="noopener"
 &gt;Copilot Cowork overview&lt;/a&gt; and &lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/cowork/cowork-admin-governance" target="_blank" rel="noopener"
 &gt;Manage Copilot Cowork for your organization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/copilot/usage-based-billing-overview-copilot-credits" target="_blank" rel="noopener"
 &gt;Understand usage-based billing for Copilot Credits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-registry" target="_blank" rel="noopener"
 &gt;Manage the agent registry in the Microsoft 365 admin center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365/admin/manage/agent-roles-perms" target="_blank" rel="noopener"
 &gt;Agent management roles and permissions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/office365/servicedescriptions/microsoft-agent-365/microsoft-agent-365" target="_blank" rel="noopener"
 &gt;Microsoft Agent 365 service description – feature availability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/entra/agent-id/agent-owners-sponsors-managers" target="_blank" rel="noopener"
 &gt;Owners, sponsors and managers in Microsoft Entra Agent ID&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/entra/agent-id/agent-registry-convergence" target="_blank" rel="noopener"
 &gt;Agent registry convergence with Microsoft Agent 365&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-copilot-studio/authoring-triggers-about" target="_blank" rel="noopener"
 &gt;Copilot Studio event triggers – overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/microsoft-365-copilot/extensibility/api/admin-settings/package/copilotpackages-list" target="_blank" rel="noopener"
 &gt;Graph: List packages (Package Management API)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Inspired by a post from Marcel Broschk on LinkedIn &lt;!-- TODO Daniel: Link zum LinkedIn-Post ergänzen --&gt; summarising the session &lt;em&gt;&amp;ldquo;Copilot everywhere: Chat, Agents, Automatisierung: wie finde ich mich noch zurecht?&amp;rdquo;&lt;/em&gt; by Patrick Kelbch at M365 Con D-A-CH.&lt;/p&gt;</description></item></channel></rss>