The proliferation of AI agents in Microsoft 365 environments poses a concrete governance problem: who deployed what, with what access, and on what data? Agent 365 is Microsoft's answer to this question. This centralized control platform is designed for M365 administrators, security architects, and teams responsible for identity and compliance.
What Agent 365 Is and Why It Changes Everything
Agent 365 is integrated into the Microsoft 365 admin center. It aggregates in a single interface visibility, access management, security controls, and cost tracking for all AI agents in the organization — whether created by your internal developers, partners, third-party publishers, or directly by Microsoft.
The platform relies on native signals from Microsoft Entra, Microsoft Purview, Microsoft Defender, and Microsoft Intune. It doesn't create a parallel security layer: it orchestrates existing protections and applies them to the specific scope of AI agents.
The agents covered span a broad spectrum:
- Agents created in Copilot Studio or Agent Builder (Microsoft 365)
- Agents deployed in Azure AI Foundry
- SharePoint Agents and agents packaged by Microsoft or its ISV partners
- Third-party agents from AWS Bedrock, Google Cloud, Databricks Genie, Anthropic Claude, Salesforce AgentForce
Starting Point
To access Agent 365, go to aka.ms/agent365. The platform is accessible from the Microsoft 365 admin center.
The Unified Agent Registry: Complete Visibility of Your Agent Fleet
The unified agent registry is the central entry point for Agent 365. It automatically inventories all agents detected in your tenant, regardless of their original platform.
For each registered agent, the registry exposes:
- Managed Identity: Does the agent have its own identity (service principal, managed identity) with associated permissions?
- Designated Owner: Who is responsible for the agent in the organization?
- User Access: Which accounts or groups have the ability to interact with the agent?
- Data and Tools Scope: Which data sources, connectors, plugins, and MCP (Model Context Protocol) servers has the agent been configured with?
- Applied Security Controls: Which Entra, Purview, or Defender policies are active on this agent?
- API Permissions: Which endpoints, connectors, or MCP servers is the agent authorized to call?
- Recent Activity and Usage Trends over time
All agent actions are logged via OpenTelemetry (OTel), an open standard that ensures consistent tracing across all connected AI stacks — including third-party platforms.
The Agent Map: Mapping Dependencies
The agent map provides a visual representation of agents running on different platforms. It visualizes connections between agents, users, data, and tools — useful for identifying unexpected call chains or unanticipated cross-access.
External Registry Synchronization
Agent 365 allows you to import agents from other cloud platforms via registry synchronization. Available connectors include:
| Platform | Connection Type | Availability |
|---|---|---|
| AWS Bedrock | API Connection Information | Available |
| Google Cloud | API Connection Information | Available |
| Databricks Genie | Service Domain | Available |
| Anthropic Claude | API Connection Information | Available |
| Salesforce AgentForce | Service Domain | Available |
Once synchronization is configured, agents from external platforms appear in the unified registry with their metadata. The administrator thus has a consolidated view without having to navigate between multiple consoles.
Access Control: Who Can Use What
Agent 365 introduces a dedicated role — Agent 365 Administrator — that manages the publication and sharing of agents in Microsoft Copilot.
The lifecycle of an agent follows a structured flow:
Detection and Evaluation
The agent appears in the registry (created internally, imported, or automatically detected). The administrator evaluates its risk profile, access, and designated owner.
Approval or Rejection
From the Requests tab, the administrator approves or rejects the agent before any large-scale deployment. An unapproved agent cannot be published to the organizational catalog.
Targeted Publication
The approved agent is published to specific users or groups via the agent catalog. It can be pinned in the Copilot interface to encourage discovery.
Application of Security Templates
Upon approval, reusable policy templates (see next section) are applied to the agent. These templates cover Entra conditional access policies, access packages, custom security attributes, and Purview/Defender/Intune configurations.
Automating Routine Governance
For repetitive operations, Agent 365 offers automated rules. Concrete example: when an employee leaves the organization, agents they owned are automatically reassigned to their manager. This type of rule prevents orphaned agents — a classic Shadow AI risk vector.
From the registry, an administrator can also:
- Block an undesirable or high-risk agent
- Change the owner of an existing agent
- Manage tools (MCP servers, plugins, connectors) and block those deemed non-compliant
Security Controls: Entra, Purview, Defender, and Intune Serving Agents
Agent 365's security controls continuously evaluate access requests, prevent data leaks, and protect against threats specific to AI agents.
From the Agent 365 Settings, you create reusable policy templates that reference protections managed in each Microsoft security platform. These templates are applicable to agents with or without their own identity.
Configurable content in a template:
- Entra Conditional Access: access conditions, MFA, device compliance
- Entra Identity Governance Access Packages: lifetime, approval workflow
- Custom Security Attributes: classify agents according to your own taxonomies
- Purview Policies: data loss prevention (DLP) adapted to agent interactions
- Defender Alerts: detection of abnormal behaviors
- Intune Strategies: confinement of local agents
Shadow AI: Blocking Unauthorized Local Agents
Tenant-Wide Impact
Configuring Shadow AI blocks applies via underlying Intune policies. Any change affects all managed devices on the tenant. Test on a pilot group before rolling out broadly.
For local AI agents running without authorization on user endpoints, Agent 365 allows you to:
- Configure default blocks applied by Intune policies
- Require session isolation in Microsoft execution containers, separating the agent from the primary user profile
This approach directly addresses the Shadow AI vector without requiring custom development — existing Intune policies serve as the enforcement mechanism.
Adoption Analytics: Providing Visibility to Business Leaders
Visibility is not reserved for administrators. The Agent 365 Dashboard exposes adoption indicators filterable by group, organization, function, or license type — accessible to team leads and managers.
Available data includes:
- Usage trends by group with temporal comparisons
- Ranking of most-used agents
- Detail by agent: usage statistics and evolution over time
- View of the creation environment (who builds agents, in which tool)
These analytics serve two distinct purposes: identifying over-utilized agents that merit additional investment, and detecting those that fail to find an audience despite deployment.
Cost Management: Usage Credits and Budget Limits
Agent 365 integrates a usage-based service management module to prevent unanticipated budget overruns. Relevant services — including Copilot Cowork and the Work IQ API — are disabled by default and must be explicitly enabled.
Configure Your Organization's Default Policy
From the cost management settings, select your organization's default policy. Choose the Azure subscription to use for billing (auto-prepopulated).
Set Spending Limits
Configure a monthly limit at the organization level, then monthly limits per user. Both levels can coexist — the most restrictive limit applies.
Configure Alerts
Enable weekly summaries and overage notifications. Define a preventive alert threshold (e.g., 80% of the limit) to anticipate overages.
Enable the Service
Click Enable to validate the policy. The tracking dashboard becomes active and displays consumed credits in real-time, breakdown by service type, and users approaching their limits.
Granular Policies by Group and Prepaid Credits
Beyond the organizational policy, you can create spending policies by group with their own caps — useful for allocating separate budgets by department or project.
Agent 365 also offers the purchase of prepaid credits at reduced rates (example: 300,000 prepaid credits) combinable with usage-based billing for excess credits. This mixed approach lets you optimize costs on predictable usage while maintaining flexibility.
Implementation: PowerShell Agent Inventory via Microsoft Graph
Required Module:
Microsoft.Graph(version 2.x minimum)
Minimum Permission:AgentApp.Read.All(read-only access to agent registry)
Output: CSV export of detected agents with their owner, status, and original platform
Endpoint Availability
Microsoft Graph endpoints specific to Agent 365 are in gradual rollout. Verify availability on your tenant before running the script. Official documentation is available on Microsoft Learn under the AgentApp resource type reference.
1# Prerequisites: install Microsoft Graph module if missing2# Install-Module Microsoft.Graph -Scope CurrentUser -Force3 4# Connection with required minimum permissions5# AgentApp.Read.All is sufficient for reading the registry6Connect-MgGraph -Scopes "AgentApp.Read.All"7 8# Simulation parameter: set to $true to test without export9$DryRun = $false10 11# Path to CSV export file12$ExportPath = "./Agent365-Inventory-$(Get-Date -Format 'yyyyMMdd-HHmm').csv"13 14# Retrieve agent list via Microsoft Graph15# The /beta/agentApps endpoint returns the unified Agent 365 registry16Write-Host "[INFO] Retrieving Agent 365 registry..." -ForegroundColor Cyan17 18try {19 $agents = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/agentApps" `20 -ErrorAction Stop21} catch {22 Write-Error "[ERROR] Unable to retrieve registry: $($_.Exception.Message)"23 Write-Host "[INFO] Verify that AgentApp.Read.All is consented and that Agent 365 is enabled on your tenant."24 exit 125}26 27$agentList = $agents.value28 29if (-not $agentList) {30 Write-Warning "[WARNING] No agents detected in the registry. The tenant may be empty or synchronization is not configured."31 exit 032}33 34Write-Host "[INFO] $($agentList.Count) agent(s) detected in the registry." -ForegroundColor Green35 36# Build structured report37$report = foreach ($agent in $agentList) {38 39 # Retrieve extended details for each agent40 $agentDetail = Invoke-MgGraphRequest -Method GET `41 -Uri "https://graph.microsoft.com/beta/agentApps/$($agent.id)" `42 -ErrorAction SilentlyContinue43 44 [PSCustomObject]@{45 AgentId = $agent.id46 DisplayName = $agent.displayName47 Platform = $agent.platform # Microsoft, Bedrock, GoogleCloud, Salesforce...48 Status = $agent.status # Approved, Pending, Blocked49 OwnerId = $agentDetail.ownerId50 ManagedIdentity = if ($agentDetail.managedIdentityId) { "Yes" } else { "No" }51 CreationDate = $agent.createdDateTime52 LastActivity = $agent.lastActivityDateTime53 ConfiguredTools = ($agentDetail.tools.displayName -join "; ")54 }55}56 57# Display summary in console58$report | Format-Table DisplayName, Platform, Status, ManagedIdentity, OwnerId -AutoSize59 60# CSV export unless in simulation mode61if (-not $DryRun) {62 $report | Export-Csv -Path $ExportPath -NoTypeInformation -Encoding UTF863 Write-Host "[OK] Export generated: $ExportPath" -ForegroundColor Green64} else {65 Write-Host "[DRYRUN] Simulation mode active — no file written." -ForegroundColor Yellow66}67 68# Clean disconnect69Disconnect-MgGraphResult Verification: the CSV should list each agent with its Graph identifier, original platform, and status. An agent with Pending status requires approval action in the Agent 365 console before being usable at scale.
Troubleshooting Common Errors
The AgentApp.Read.All permission has not been consented at the tenant level. A global administrator must perform admin consent from the Entra ID portal > Enterprise Applications > Permissions. Agent 365 must also be enabled on the tenant.
Automatic synchronization can take up to 24 hours after enabling Agent 365. Also verify that Copilot Studio agents have been published (Published status) — draft agents do not appear in the registry.
Verify the API credentials entered in the synchronization configuration. Service accounts used for connection must have read permissions on agent registries from the platforms in question. A synchronization delay of 1 to 4 hours is normal after first configuration.
Intune policies require devices to be enrolled and compliant. Unenrolled BYOD devices escape controls. Check device compliance status in the Intune admin center before concluding there's an Agent 365 malfunction.
What You Do Right Now
Agent 365 solves a real and immediate problem: AI agents deploy faster than governance policies are built. The platform gives IT teams the levers to close this gap without blocking adoption.
Priority actions based on your context:
- If you already have Copilot Studio agents in production: enable Agent 365 and audit the registry to identify agents without a designated owner — that's your first risk surface.
- If your organization uses AWS Bedrock or Salesforce AgentForce: configure registry synchronization to get a consolidated cross-cloud view without custom tooling.
- If cost management is a priority: set spending limits and alerts before enabling Copilot Cowork or the Work IQ API — both are disabled by default, this is the right time to define caps.
- If Shadow AI is your primary concern: start with Intune blocks on a pilot group, verify productivity impact, then roll out progressively.
Starting documentation is available at aka.ms/agent365.



