Agent 365 · Lifecycle Atlas
Developer & administrator reference

Microsoft Agent 365 — agent lifecycles, interfaces & APIs

Agent 365 is the governance and control plane for agents — it inventories, secures, governs, and observes agents built on Microsoft and third-party platforms. It is not an agent-building runtime. This atlas maps how each class of agent is built, connected, identified, deployed, governed, and observed, with the exact interfaces, SDKs, CLI commands, token flows, and API endpoints that developers and admins use at each step.

Public · Microsoft LearnAgent 365 GA 2026-05-01Accuracy reviewed 2026-09-16Public doc conflicts notedSeveral capabilities remain preview
00

The whole system — Agent 365 in one picture

One connected view: how agents enter Agent 365, how they are configured and given identity, the unified control plane that inventories and governs them, and the runtime that keeps executing on its own host. The detailed diagrams below expand each part — select any node to jump to its section, including a new discovery & inventory view (§02A). Agent 365 governs; it does not host or run agents, and no single action cascades across the others.

ComponentAgent 365 surfacePlatform-hosted runtimePreview
Fit to width
Agent 365 whole-system architecture Left to right: four entry routes (built-in platform agents; manifest ZIP upload; connected-platform / registry sync, whose documented status is contested; and custom-coded agents) each pass through their own configure-and-identify card — platform-managed integration (no SDK needed for inventory), admin upload and approval (catalog availability, separate from code hosting), connected-platform / registry sync (imports registry metadata and can expose provider-supported controls), and the Agent 365 SDK and CLI with an Entra Agent ID for custom integration. Distinct connectors route them into the central Agent 365 registry and control plane, a unified inventory of distinct objects: the registry record, the package or catalog entry, and the identity blueprint reference. The control plane exposes right-hand surfaces: Registry UI with Microsoft Graph inventory and selected governance actions, Microsoft Entra, and Microsoft Defender with Purview, plus independent operations that do not cascade across objects. A separate runtime plane along the bottom runs the agent on its own platform, Azure, or partner host, using governed MCP tools and WorkIQ in preview to reach downstream Microsoft 365 services; the control plane governs it and receives telemetry back. A bottom administrator-surfaces band adds two separate experiences: an Agent Map visual inventory that reads the registry, and a separate Agents-Shadow-AI lane for detecting unmanaged agents (Defender for Endpoint detection, Intune blocking on managed Windows, optional Global Secure Access enrichment) that is documented as a separate discovery experience; public admin docs do not describe it as part of Connected platforms registry ingestion. Sources & entry routes Configure & identify Unified control plane Observe · govern · secure Go to section 01 — Lifecycle overview 1 Built-in platform agents Agent Builder (declarative), CopilotStudio, Azure AI Foundry & integratedpartners. Built-in registration wherethe platform supports it. Go to section 01 — Lifecycle overview 2 Manifest ZIP upload Catalog publication route. Not codehosting, not a universal registrationbypass. Connected platforms / registry sync — registry sync is in Preview; see source note 3 PREVIEW Connected platforms / registry sync Admin-triggered import of externalregistry metadata (e.g. Vertex AI,Bedrock), plus provider-supportedcontrols. No runtime instrumentation. Go to section 05 — SDKs, tooling & the a365 CLI 4 Custom-coded agents Built on the M365 Agents SDK, AgentFramework or other runtimes. Wired inand registered through the Agent 365SDK / CLI. Go to section 01 — Lifecycle overview Platform-managed integration Built-in platforms register where theplatform supports it — no Agent 365SDK needed for inventory. Go to section 01 — Lifecycle overview Admin upload / approval Manifest ZIP enters the org catalog.Catalog availability is separate fromcode hosting. Connected platforms / registry sync — registry sync is in Preview; see source note PREVIEW Connected platforms / registry sync Imports external registry metadata;provider APIs may allow supportedcontrols. No identity or runtime wiring. Go to section 05 — SDKs, tooling & the a365 CLI Agent 365 SDK / CLI + Agent ID Custom integration. Registers the agentand derives a per-agent Entra Agent IDvia blueprint auth → token exchange.Optional Agent user (Frontier preview). Agent 365 registry & control plane Unified inventory hub. Metadata &governance only — never hosting or runtime. Go to section 01 — Lifecycle overview Registry record Ownership · source · status metadata.Metadata record; not publication or deployment. Go to section 09 — Representative endpoint catalog Package / organizational catalog Publishable app package & catalog entry.Upload, approval & install are separate steps. Go to section 03 — Identity objects & relationships Identity blueprint reference Points to the Entra Agent ID object —the record does not store the credential. Distinct lifecycle objects, not one database row.Publish / install / block, identity disable, stopcompute and delete are largely independent — theEntra blueprint delete cascade is the exception. Go to section 08 — Administration & action semantics Registry UI + Microsoft Graph Inventory & governance surface: browse,publish, install, block. Graph coversinventory plus selected governance actions. Go to section 03 — Identity objects & relationships Microsoft Entra Agent identity controls. Disabling anAgent ID blocks sign-in but does notdelete the record or the compute. Go to section 07 — Observability & telemetry Microsoft Defender & Purview Security telemetry & compliancesignals for governed agents. Go to section 08 — Administration & action semantics Independent operations • publish / install / block• identity disable• stop compute• delete record No auto cross-plane cascade; the Entrablueprint delete cascade is documented. governs telemetry Runtime plane Agents run on their own platform, Azure or partner host. Agent 365 governs; it does not execute code. tool calls Go to section 02 — Per-class lifecycle detail Agent runtime host Platform-, Azure- or partner-hosted compute —where the agent's code actually executes. Theregistry record and identity are separate fromthis host. Go to section 06 — Governed MCP tooling PREVIEW Governed MCP tools + WorkIQ Policy-checked tool calls under the agent'sdelegated user context — not autonomousservice-to-service. Registration alone doesnot activate every capability. Go to section 07 — Observability & telemetry Downstream Microsoft 365 services Graph, mail, files and more — reached onlyunder governance. Activity emits telemetrythat surfaces back in the control plane andin Defender & Purview. Administrator discovery & inventory surfaces Managed inventory drawn from the registry, plus a separate experience for detecting agents you did not onboard. See §02A. Go to section 02A — Discovery & inventory Agent Map — visual agent inventory Clusters onboarded agents by platform; filters & at-risk / ownerless / unmanaged cards.Visual inventory surface over the registry. E7 (Agent 365); Global or AI Admin. boundary Go to section 02A — Discovery & inventory PREVIEW Agents ▸ Shadow AI — unmanaged-agent detection Separate experience: Defender detects · Intune blocks (managed Windows) · GSA enriches usage (optional).Separate discovery experience — public docs do not describe it as Connected platforms ingestion.

Numbered nodes ①–④ are the four entry routes. Every node links to its detailed section (§01–§11). Fit-to-width by default — use the zoom controls, or focus the map and press + / − / 0, then screenshot the whole frame.

01

Lifecycle overview — five agent classes, six stages

Every agent that Agent 365 governs follows the same six-stage spine, but ownership and interfaces differ sharply by class. Read each row left to right. Build, connect, identity, packaging, runtime, and governance are independent operations — a registry record does not host code, grant permissions, or create a mailbox, and most actions do not cascade automatically. The documented exception is Entra blueprint deletion, which soft-deletes its child agent identities and their agent user accounts.

Standard stepAgent 365 connection pointPlatform-managed / no own controlPreview
Build / AcquireConnect to Agent365IdentityCapabilities &PackageDeploy / RuntimeGovern & OperateAgent Builder /DeclarativeHosted on CopilotAgent Builder in M365 Copilot;or pro-code declarative package(M365 Agents Toolkit)Built-in integrationUses Copilot identity; no ownblueprintShare or submit package; adminreview / requestCopilot model & orchestrator; noown runtimeAdmin center: publish, install,pin, block, delete (files + SPEcontainer)Copilot StudioMaker + ALMDesign: instructions, topics,knowledge, actionsBuilt-in integrationPlatform-managed identityPower Platform ALM: Dev to Testto Prod; publish channelPublish to Teams & Copilot; orupload custom agent ZIPAdmin center: inventory, block,reassign ownerMicrosoftFoundryAzure computeBuild / configure Foundry agentBuilt-in (hosted) OR Agent 365SDK (code path)Built-in, or agent identity viaSDKObservability; optional MCP;publish package separatelyDeploy on Foundry / Azurecompute (distinct runtime)Block package AND start/stopAzure compute (Azure AI Owner)Custom /SDK-ownedYou hostExisting runtime: M365 AgentsSDK, Agent Framework, OpenAI,LangChain, CrewAI, LlamaIndex,customAgent 365 SDK + a365 CLIEntra blueprint to principal toagent identity; declare perms +admin consentIdentity, Observability, Work IQMCP, Notifications; a365 publishprepares upload ZIPDeploy to Azure / AWS / GCP /on-prem; SDK does not hostRegistry, Entra, Defender,PurviewConnectedplatforms syncPreviewVertex AI / Amazon Bedrockagent, built externallyRegistry synchronizationNo blueprint or SDK required;metadata + supported controlsImports metadata for visibility& governanceRuns on external platform;runtime not instrumentedInventory & governancevisibility only

Wide diagram — scroll horizontally within the frame to see all six stages. Detailed per-class flows follow below.

02

Per-class lifecycle detail

Expand each class for its exact build interfaces, integration path, packaging, runtime ownership, and the admin actions that apply. Distinctions that are commonly conflated are called out explicitly.

A · Agent Builder & declarative agents Hosted on Copilot

Declarative agents use Copilot’s built-in model and orchestrator; they add instructions, knowledge, and actions and need no separate model hosting.

  1. Maker creates a declarative agent in Agent Builder (Microsoft 365 Copilot), or builds a pro-code declarative package with the Microsoft 365 Agents Toolkit (optionally Work IQ Dev Tools preview).
  2. Share for personal/shared availability, or submit/request for organizational use.
  3. Microsoft 365 admin center reviews the request and publishes to the Agent Store or rejects it.
  4. Install / assign to users or groups (may include admin consent); pin, block/unblock, manage owners.
Distinct actions: Publish to store makes an approved package available; install/deploy assigns it to users; pin only changes discoverability; block prevents use with platform-varying effects; delete is irreversible and removes the agent’s files and its SharePoint Embedded container. Do not generalize that delete cascade to other platforms.
B · Copilot Studio agents Maker + ALM
  1. Design in Copilot Studio: instructions, topics, knowledge, actions, connectors and APIs; optionally Work IQ MCP tools preview.
  2. Power Platform ALM moves the agent across Development, Test, and Production environments.
  3. Publish / channel package to Teams and Microsoft Copilot, or download the ZIP package.
  4. Reach Agent 365 through built-in integration; or upload the ZIP via Agents → All agents → Upload custom agent.
  5. Admin center: inventory, review permissions, publish/install/assign, block/unblock, reassign owner.
Guidance: Copilot Studio has built-in Agent 365 integration — do not add the Agent 365 SDK merely to create a registry entry. Use the SDK only for code-level capabilities the platform path does not supply.
C · Microsoft Foundry agents Azure compute
  1. Build/configure a Foundry agent: a hosted path (built-in integration where supported) or a code-based path (Agent 365 SDK for code-level capabilities).
  2. Registry / inventory picks up the agent.
  3. Configure Agent 365 observability collection; optional Work IQ or custom MCP tools preview.
  4. Deploy through Foundry / Azure; publish a package/channel separately if required.
Do not merge these controls: Block is a Microsoft 365 availability/governance action. Stop deallocates the underlying Azure compute and is unique to Foundry agents (requires Azure AI Owner) — it is not a catalog status change.
D · Custom & third-party code-owned agents SDK + CLI

Any existing agent runtime — Microsoft 365 Agents SDK, Microsoft Agent Framework, OpenAI Agents SDK, Claude Agent SDK, LangChain, Semantic Kernel, CrewAI, LlamaIndex, or custom code — can adopt Agent 365 without changing its model, orchestration, or hosting.

  1. Choose the integration: already integrated by platform/partner (built-in); Vertex AI / Bedrock (registry sync Preview); otherwise Agent 365 SDK + CLI.
  2. Register the identity foundation: create the Entra agent identity blueprint, create a blueprint principal where required, configure credentials/federation, declare permissions, obtain admin consent, create the agent identity.
  3. Add capabilities: Identity, Observability, Work IQ MCP preview, Notifications Frontier preview when an agent user is required.
  4. Validate: identity/token mode, permissions and consent, root invoke_agent span, MCP discovery/tool invocation, notification routing.
  5. Deploy the runtime to Azure / AWS / GCP / on-premises — the SDK does not host or deploy it.
  6. Optionally package and publish to Microsoft 365; operate through Agent Registry, Entra, Defender, Purview.
a365 publish prepares IDs in manifest.json and creates manifest.zip. It does not prove the package was approved, uploaded, installed, or assigned in the tenant — those are separate operations.
E · Template agents & user-created instances Preview
  1. A template/blueprint agent appears in Agent 365.
  2. A user requests activation, or an admin proactively selects scope.
  3. Admin approves and activates for specific users, groups, or the tenant.
  4. An authorized user creates an agent instance, which receives tenant-local identity/resources.
  5. Runtime operation and monitoring; instance-level block or delete.
Instance semantics: Activate lets authorized users instantiate a template; block instance stops access to that instance; delete instance starts documented account/data handling — per current docs the agent’s accounts and data are permanently removed after 30 days, its licenses are removed or reassigned, and audit logs are retained — distinct from deleting an Agent Builder package.
02A

Discovery & inventory — how agents become visible

Three separate paths make agents visible to administrators, and they must not be conflated. Agents onboarded to Agent 365 are recorded in the registry and surfaced visually by Agent Map; external platforms are brought in by admin-triggered Connected platforms / registry sync, which imports registry metadata and can expose provider-supported controls; and unmanaged agents you never onboarded are found through a separate Shadow AI discovery experience — a separate Frontier page from All agents that public admin docs do not describe as part of Connected platforms ingestion. Accuracy reviewed 2026-09-16 Public documentation conflicts are noted inline.

Agent 365 surfaceComponentComplementary / externalPreview
Registry ingestion routes and inventory surfaces Two documented routes place agent metadata into the Agent 365 registry: native onboarding of built-in and SDK-registered agents, and admin-triggered Connected platforms / registry sync that imports registry metadata (and can expose provider-supported controls) from external platforms such as Amazon Bedrock and Google Vertex AI, with last-run status and errors monitored. The registry is a unified metadata inventory. Agent Map is a visual inventory surface over that inventory that clusters agents by platform and offers status, publisher, platform, channel and usage filters plus total, at-risk, ownerless and unmanaged cards; the usage-filter scale limit is inconsistently documented (the same page states fewer than 4,000 agents in one place and fewer than 4,000 users in another) and it requires an Agent 365 entitlement (standalone or via E7) and a Global Administrator or AI Administrator role. The All agents list is the complementary text view. ENTRY ROUTES UNIFIED REGISTRY INVENTORY SURFACES Native onboarding Built-in platform & SDK-registeredagents already recorded in the registry. Connected platforms / registry sync Connect & authenticate a platform(optional auto-import at setup); anadmin runs Sync agents. Importsregistry metadata; monitor last run. Recurring sync not documented. Registry sync is in Preview. Agent 365 registry Unified inventory of agentmetadata: ownership, source,status. Management actions limitedto what each platform API supports. Agent Map Visual inventory; clusters by platform.Filters: Status · Publisher · Platform ·Channel · Usage. Cards: Total · At-risk ·Ownerless · Unmanaged. Export to Excel. Usage filters: scale limit inconsistently documented (see note).Agent 365 (standalone or E7); Global or AI Admin. All agents (registry list) Text list view. Agent Map complementsit for large estates. recorded metadata reads

Registry sync ingests metadata (and provider-supported controls) — it creates no identity, telemetry or runtime instrumentation. Agent Map reads the same inventory.

Shadow AI — separate unmanaged-agent governance Shadow AI is a dedicated Frontier public-preview page under Agents in the Microsoft 365 admin center, separate from the All agents registry. Microsoft Defender for Endpoint detects unmanaged AI agent usage on managed devices; Global Secure Access optionally enriches usage metadata such as traffic, users and recent activity; and administrators can apply a Microsoft Intune blocking policy that stops supported agents on Intune-managed Windows devices. A marked boundary shows that Shadow AI is documented as a separate Frontier page from All agents; public admin docs do not describe it as part of Connected platforms registry ingestion. SIGNALS SHADOW AI (FRONTIER) ENFORCEMENT Managed devices Intune-enrolled Windowsendpoints in scope. Defender for Endpoint Detects local / unmanaged AIagent usage on devices.Required for detection. Global Secure Access Optional. Enriches usagemetadata: traffic, users, recentactivity. Fields blank without it. PREVIEW Agents ▸ Shadow AI Dedicated page, separate fromAll agents. Review detectedagents, devices, users & traffic.E5 license; Frontier opt-in. Intune blocking Blocks supported agentson managed Windowsdevices. Blocking variesby agent (e.g. OpenClaw). detections enrich (opt.) block separate experience — boundary Agent 365 registry / Agent Map Separate experience — not Connected platforms ingestion

The boundary marks that Shadow AI is documented as a separate Frontier page from All agents; public admin docs do not describe it as part of Connected platforms registry ingestion.

Connected platforms / registry sync is in Preview. Status follows Choose an Agent 365 integration option, checked 16 September 2026.

Connected platforms / registry sync Preview

  • Create a connection: name, platform, region, optional auto-import at setup, then enter & validate credentials.
  • An admin triggers Sync agents; external agents import into the registry. Import brings in registry metadata, and a connected integration can also perform provider-API-supported management actions (for example delete) depending on the credentials granted.
  • Monitor connection sync status, last run date, last sync status, total synced agents and errors.
  • Documented platforms include Amazon Bedrock, Google Vertex AI, Salesforce Agentforce, Databricks Genie, Anthropic Claude Managed Agents (connector in preview) and Oracle Generative AI Agents — the catalog keeps expanding.
  • Import is admin-triggered, with optional auto-import at setup; a recurring sync schedule is not documented as available. Sync itself creates no identity, telemetry or runtime wiring.

Source: Connected platforms, Choose an integration option. See the source note.

Agent Map

  • Open from Agents ▸ All Agents ▸ Map — a visual inventory grouped by builder/platform.
  • Requires an Agent 365 entitlement (standalone or via E7) and a Global Administrator or AI Administrator role.
  • Cards: Total agents, Agents at risk, Agents without owners, Unmanaged agents.
  • Filters: Status, Publisher type, Platform, Channel, Data source, Usage. Export the list to Excel.
  • The usage/observability filter scale limit is inconsistently documented — the same page states fewer than 4,000 agents in one place and fewer than 4,000 users in another; verify against current docs. The limit applies to usage filters, not to Map access.
  • Not read-only: select an agent from the map to assign an owner, block/unblock, install and pin it.

Single Agent Map Preview

  • A connected view of one agent with its top 50 users and top 50 tools over the last 7 or 30 days (30 by default).
  • Uses Agent 365 observability data; tools with an exception rate above 1% are highlighted. Knowledge signals are not included yet.
  • Preview; subject to change.

Source: Agent Map.

Agents ▸ Shadow AI Frontier preview

  • A dedicated admin page, separate from All agents, to discover, monitor and govern unmanaged agents.
  • Prerequisites: Frontier opt-in, Microsoft Defender for Endpoint (detection), Microsoft 365 E5, Intune enrollment for managed Windows, and optionally Global Secure Access for usage metadata.
  • Roles (at least one): Security Administrator, AI Administrator, Global Reader, Security Reader, Security Operator, Reports Reader, User Experience Success Manager, or Intune Administrator.
  • Detection covers agents such as OpenClaw, ChatGPT Desktop and Ollama; blocking currently supports OpenClaw on Intune-managed Windows devices.
  • Traffic, Users and recent-activity fields populate only when Global Secure Access is enabled.

Source: Understand Shadow AI.

Partner acquisition paths

  • Ready-to-deploy agents: fully built partner agents an admin can discover, deploy and manage from the admin center with no custom development.
  • Agent factories: platforms to build your own agents on Agent 365; each new agent gets a governed Entra Agent ID, appears in the admin center and inherits identity, compliance and observability controls.
  • Not everything is generally available — some integrations are marked coming soon (for example Nvidia), and AI-teammate integrations are Frontier-only.
  • The published integration catalog is the source of truth for what each partner supports (Registered, Observable, Work IQ).

Source: Ecosystem partner agents.

Boundary: Connected platforms / registry sync writes agent metadata into the registry (and can expose provider-supported controls), and Agent Map is a visual inventory surface over that same inventory. Shadow AI is a separate discovery and governance experience that detects agents you did not onboard; public admin docs describe it as a separate Frontier page from All agents and do not describe it as part of Connected platforms registry ingestion. Keep the three paths distinct when reasoning about coverage.
03

Identity objects & relationships

Five identity and metadata objects are routinely confused. They have separate identifiers and separate lifecycles. A blueprint is a credential boundary: one blueprint can create many tenant-local agent identities that all share its credentials. Registration and package records are metadata — they are not the identity.

CREDENTIAL & IDENTITYRUNTIME IDENTITYMETADATA & CATALOGAgent identity blueprintEntra application object id + appId.Reusable definition and credentialboundary.Blueprint principalService principal id + appId.Tenant-local enterprise application.SponsorUser or group. Required accountable ownerfor each blueprint and agent identity.Agent identitySP object id + agent appId.servicePrincipalType = ServiceIdentity.PREVIEWAgent user accountEntra user id / UPN. Mailbox, OneDrive, Teamspresence.PREVIEWAgent registrationagentRegistration.id, sourceAgentId, managedByAppId.May reference agentIdentityId +agentIdentityBlueprintId as distinct objects.Copilot packagePackage id, manifest id, app id, asset id. Catalogrecord for inventory, deployment, blocking,ownership.OwnerUser ids or managing app id. Registry registrationrequires owners or a managing app.1 : 11 : * createsshared credentials0 : 1referencesaccountableowns / manages
Permission inheritance: a blueprint can declare baseline Microsoft Graph / API permissions inherited by its agent identities, but declaring a permission does not grant it — tenant admin consent is still required. Instance-specific permissions can be assigned directly to an agent identity.
Azure RBAC: cannot be placed on the blueprint. Assign Azure roles to each individual agent identity. Blueprint credentials are shared by all identities created from it, so treat each blueprint as a credential boundary.

Telemetry identifiers map onto these objects: gen_ai.agent.id must equal the authenticated agent’s appId (not the Entra object id); the blueprint is separately identified in telemetry by its application appId.

04

Runtime token flows

Three documented identity patterns. The distinction that matters for authorization and audit is who the token subject is and which appId acts. Return messages are dashed. The Agentic-User exchange follows the documented user_fic on-behalf-of flow [30].

S2S · autonomous · app-only

Agent runtimeMicrosoft Entra ID (STS)Agent 365 / downstreamresource1Authenticate with blueprint credential/ federation2Token T1 (blueprint-authenticated)3Exchange T1 for Agent 365 resourcetoken, as agent identity4Resource token: appid / azp = agentidentity appId; app roles in rolesclaim5Call downstream / observabilityService endpoint (app-only)Two-step: the blueprint authenticates, but the resulting resource token subject (appid / azp) is the AGENTIDENTITY appId, not the blueprint appId. Use for scheduled, event-driven, monitoring, or background work with nosigned-in human.

On-behalf-of · delegated user

User / front endAgent runtimeMicrosoft Entra IDDownstream / Work IQ1User signs in; front end sends usertoken Tc2OBO exchange: blueprint T1 + incominguser token Tc3Delegated token: subject = user, actor= agent identity, scp scopes4Call with delegated token, constrained by user + agent permissionsUser remains the token subject; the agent identity is the actor. This is the primary documented mode for Work IQ MCP access. Delegated scopes appear in thescp claim.

Agentic-User Frontier preview

Agent runtime(blueprint credential)Microsoft Entra ID (STS)Microsoft 365 workloads(as agent user)1Authenticate blueprint credential → token T12user_fic OBO: client_assertion=T1,user_federated_identity_credential=T23Resource token, subject = agent user account4Call as the agent’s own user: mailbox, OneDrive, TeamsFrontier preview. grant_type=user_fic with requested_token_use=on_behalf_of and username set to the agent user; the actingsubject is the agent’s OWN user account (not the human caller). T2 audience = agent identity; no incoming human token is used.The registered Agent 365 identity is unchanged. Not equivalent to S2S. Agent user accounts are an optional Frontier preview.
05

SDKs, tooling & the a365 CLI

Two Microsoft SDKs are routinely confused. They are different products with different jobs, and can be combined.

Microsoft Agent 365 SDK

Adds identity, observability, governed MCP tooling, and notifications to an existing agent. It does not host or deploy the agent.

Package ecosystems

  • Python / PyPI
  • JavaScript / TypeScript / NPM
  • .NET / NuGet

Capability modules

CapabilityRepresentative package families
Notificationsmicrosoft-agents-a365-notifications · @microsoft/agents-a365-notifications · Microsoft.Agents.A365.Notifications
Observabilitymicrosoft-agents-a365-observability-* · @microsoft/agents-a365-observability · Microsoft.Agents.A365.Observability*
Runtime / auth / discoverymicrosoft-agents-a365-runtime · @microsoft/agents-a365-runtime · Microsoft.Agents.A365.Runtime
MCP toolingmicrosoft-agents-a365-tooling · @microsoft/agents-a365-tooling · Microsoft.Agents.A365.Tooling
Framework adaptersAgent Framework, OpenAI, LangChain, Semantic Kernel, Claude, Azure AI Foundry (by language)
For new observability-only integrations Microsoft recommends the Microsoft OpenTelemetry Distro; the earlier Observability SDK still works, and direct OTel targets existing OTel pipelines or unsupported languages such as Java.

Microsoft 365 Agents SDK

A different product: it supplies framework and hosting abstractions for building conversational agents; you deploy and host the runtime separately.

  • Builds conversational agents
  • Handles activity / message delivery and conversation state
  • Targets Teams, Microsoft 365 Copilot, web, and custom apps
  • Documented samples in .NET, JavaScript / Node.js, and Python
  • Can be combined with the Agent 365 SDK
Context7 resolved this SDK as /microsoft/agents and did not expose a separate Agent 365 SDK documentation library — another reason not to conflate the two.

Framework reach (Agent 365 SDK adopters)

M365 Agents SDK, Microsoft Agent Framework, OpenAI Agents SDK, Claude Agent SDK, LangChain, Semantic Kernel, CrewAI, LlamaIndex, or custom code — any can adopt Agent 365 without changing model, orchestration, or hosting.

Agent 365 CLI

Install and verify:

dotnet tool install --global Microsoft.Agents.A365.DevTools.Cli a365 -h

§05A — Behind a365 setup all traces exactly what setup provisions and how it binds custom code to the Entra Blueprint.

Selected lifecycle command families (not exhaustive) — note that cleanup instance, cleanup blueprint, and cleanup azure target distinct resource groups. These are separate commands for separate objects; they are not, by themselves, proof that no deletion cascades — deleting an Entra blueprint does soft-delete its child agent identities and their agent user accounts (see §08).

# setup a365 setup requirements a365 setup all a365 setup blueprint a365 setup permissions a365 setup permissions mcp a365 setup permissions custom a365 setup permissions copilotstudio
# develop a365 develop list-available a365 develop add-mcp-servers a365 develop list-configured a365 develop remove-mcp-servers a365 develop get-token a365 develop start-mock-tooling-server
# develop-mcp a365 develop-mcp list-environments a365 develop-mcp list-servers a365 develop-mcp register-external-mcp-server a365 develop-mcp evaluate a365 develop-mcp publish a365 develop-mcp unpublish
# query-entra a365 query-entra blueprint-scopes a365 query-entra inheritance a365 query-entra instance-scopes
# publish (prepares upload ZIP) a365 publish # -> manifest.json + manifest.zip # NOT approve / upload / install
# cleanup (distinct targets) a365 cleanup instance a365 cleanup blueprint a365 cleanup azure a365 cleanup
AI-guided skills in the current quickstart wrap these commands: a365-setup, make-a365-agent, make-ai-teammate, instrument-observability, add-workiq-tools, test-local. They are workflow automation, not additional control-plane resources.
CLI auth: uses the Microsoft-managed enterprise application when available. Native Windows uses WAM; WSL / macOS / Linux use device code.
05A

Behind a365 setup all — provisioning identity, binding code

a365 setup all does not upload, relocate, or run the agent’s code. It builds a chain of references: hosted code → runtime SDK configuration → the Entra Agent Identity Blueprint credential and application ID → a child agent identity → an Agent 365 registration → an optional Microsoft 365 messaging callback and, separately, a catalog package. The URL is never registered globally: it is a routing destination tied to the named blueprint, tenant, and identity, and the hosted app must still implement the expected messaging route and validate the tokens it receives (token flows, SDK & CLI).

Runtime configuration synchronization depends on detecting a supported project, not simply on a project-path flag. The pinned ProjectSettingsSyncHelper uses DeploymentProjectPath, or falls back to the configuration-file directory when that path is missing or does not exist. It detects .NET, Node.js, or Python and updates appsettings.json or .env; without a usable directory or supported project, synchronization is skipped. Config-free setup a365 setup all --agent-name "<name>" can therefore update runtime configuration. The standard-agent orchestrator deliberately skips synchronization for --agent-registration-only. [36]

Current public source behavior — not a universal guarantee. The documented workflow is the Learn setup reference (checked 2026-09-16, page updated 2026-09-01) [32]. The step-by-step implementation below was traced in the public microsoft/Agent365-devTools source at pinned commit 08e48a9 (2026-09-11) [36]. The NuGet package (observed 1.1.221) exposes no reliable source-commit mapping, so this is current public source behavior, not guaranteed for every installed binary. When troubleshooting, record a365 --version and read a365 setup all --help for the flags your build supports.

Standard-agent setup sequence — default / non-AI-teammate path

Solid arrows are calls the CLI drives; dashed arrows are returns. Two OPT frames mark work that only happens under a condition. The dashed banner is a different lifecycle that setup does not perform. This traces the default standard-agent path; --aiteammate provisions only the blueprint and permissions during setup, and --agent-registration-only runs the registration step alone.

Standard-agent setup sequence for a365 setup all — default / non-AI-teammate path, step by step A sequence for the default, non-AI-teammate standard-agent path, with five participants left to right: Developer plus the a365 CLI (the operator that drives every step); Microsoft Entra ID; the Agent Identity API; Agent 365 registration; and your Local project holding runtime configuration and hosted code. Numbered steps flow top to bottom. Step 1 the CLI creates or reuses the Entra Agent Identity Blueprint application and adds its api URI and delegated scope. Step 2 it creates the tenant blueprint service principal, a client secret, and inheritable permissions; Entra returns the blueprint IDs and credential, stored in a365.generated.config.json. Step 3 admin consent and app-role grants are completed by a Global Administrator or handed off. Step 4 a child agent identity service principal is created, returning agenticAppId. Step 5, the highlighted primary step, registers the agent and returns agentRegistrationId. Step 6 is optional and only runs with the m365 flag: it registers the HTTPS messaging callback for this blueprint and tenant. Step 7 runs on the normal path: the CLI writes runtime configuration to the configured project, or to the directory of the a365 config file when no project path is set, syncing the .NET appsettings.json or the Node and Python .env only when a supported project is detected; it is skipped when no supported project is found or when the run uses agent-registration-only. A separate dashed banner at the bottom shows that publish, manifest upload, catalog availability, and runtime deployment are a distinct lifecycle, not part of setup all. Standard-agent setup sequence — default / non-AI-teammate path Developer + a365 CLI OPERATOR Microsoft Entra ID DIRECTORY Agent Identity API IDENTITY Agent 365 registration CONTROL PLANE Local project YOUR HOST OPT [ --m365 opt-in · endpoint may defer ] OPT [ supported project detected · not --agent-registration-only ] Create / reuse Blueprint app 1 Principal · secret · inheritable perms 2 Blueprint IDs + credential Admin consent / grants 3 Create child agent identity 4 agenticAppId (child SP object ID) Register agent → agentRegistrationId 5 Register HTTPS callback 6 Sync appsettings.json / .env 7 Microsoft 365 package distribution — separate lifecycle, NOT a365 setup all Deploy & host separately | a365 publish → ZIP → admin upload → availability / approval

Source: Agent 365 CLI setup reference [32], CLI reference [9], and the pinned public DevTools source [36]. Placeholder identifiers only — no tenant data.

Step detail

# Operation Authority / actor Created or updated Persists in
1 Find or create Blueprint application (adds api://{blueprintAppId} and the access_agent_as_user delegated scope) Agent ID Developer or higher Multitenant Entra Agent Identity Blueprint application; sponsor/owner and manager relationships attempted Blueprint app ID + object ID
2 Create tenant principal, client secret, and inheritable permissions Blueprint owner / authorized caller Tenant-local blueprint service principal, a generated credential, and the blueprint inheritablePermissions policy a365.generated.config.json + Entra
3 Complete admin consent / app-role grants Global Administrator, or deferred handoff Delegated admin consent and, for S2S, application-role assignments on the blueprint principal Blueprint principal grants (or Action Required)
4 Create child agent identity Authorized operator Child microsoft.graph.agentIdentity service principal linked to the blueprint agenticAppId (child SP object ID)
5 Register the agent Operator with registration permission Agent 365 registration record linking blueprint and identity agentRegistrationId
6 Optional (--m365): register the HTTPS messaging callback Operator Associates blueprint + tenant + endpoint through the Microsoft 365 messaging platform Generated endpoint state
7 Normal path (skipped by --agent-registration-only or when no supported project is found): synchronize runtime configuration Local CLI process Writes .NET appsettings.json or Node/Python .env in the project path, or the a365 config-file directory as fallback Project or config-file directory
Staged, not strictly linear. The blueprint-interior work (identifier URI, scope, principal, secret, inheritance) is grouped, and re-runs reconcile or skip parts — do not read the seven steps as a fixed chronology. --aiteammate provisions only the blueprint and permissions during setup; it does not by itself create a mailbox, Teams presence, or full user-backed experience (later AI-teammate workflow, Frontier preview). --authmode obo (default) keeps a human token subject; s2s uses application permissions; both configures each. Agentic-User is a separate user-backed scenario, not a spelling of OBO or S2S [4].

Object & ID binding — how the code binds to the Blueprint

The customer question — “how does it bind a custom agent to the Entra Blueprint?” — is answered by these identifiers. Setup writes them into runtime configuration whenever a supported project is detected (the conditional write described above); a365 publish later stamps one into the package manifest.

ID / property What it is Where it binds
agentBlueprintId Blueprint application (client) ID Runtime Connections.ServiceConnection.Settings.ClientId and AgentId, the token audience, and manifest.json agentIdentityBlueprintId (written later by a365 publish)
agentBlueprintObjectId Directory object ID of the app registration Application operations — credentials, owners
agentBlueprintServicePrincipalObjectId Tenant-local service-principal object ID Permission grants and app-role assignments target this principal
agenticAppId Child agent identity SP object ID returned/stored by the current CLI (despite the property name — not the blueprint client ID) Written by the current CLI into the generated Observability AgentId config value, and used for the child identity’s own grants and inheritance. That generated mapping is not the validated runtime identity contract: ingestion binds every span’s gen_ai.agent.id to the agent’s authenticated appId / OAuth client_id (the token appid/azp), never an Entra object id. Verify the configured value resolves to the identity appId before trusting it — a written config does not prove the exported identity is correct (observability identity contract, §07 ingestion, [19]).
agentRegistrationId Agent 365 registration-record ID Registration lookup and reuse — neither the blueprint ID nor the identity object ID
clientAppId The CLI’s human-operator management client-app ID Signs the operator in and calls management APIs — not the runtime agent identity
tenantId Entra tenant Principal, identity, grants, registration, and the runtime authority endpoint
messagingEndpoint HTTPS callback, usually ending /api/messages Only with --m365: routes Microsoft 365 traffic for this blueprint + tenant — not a generic, automatic URL binding

The endpoint is a routing destination for the named blueprint, tenant, and identity; the hosted app must expose and adopt the expected SDK-validated messaging route, not arbitrary generated logic. See §03 Identity and §04 Token flows. Source [4].

Runtime configuration written by setup

Not a production recipe — harden before external traffic. The exact writers are language-specific. For .NET the pinned source sets TokenValidation["Enabled"] = false and applies EnableAgent365Exporter ??= false at the config root — the exporter flag is written only when it is missing or null, so an explicit existing true/false is preserved. For Node.js and Python it sets ENABLE_A365_OBSERVABILITY_EXPORTER=false, replacing the first case-insensitive matching KEY= line or appending it. Either way the runtime secret lands in plaintext in .env / appsettings.json (the generated a365.generated.config.json secret is DPAPI-protected only on Windows; plaintext elsewhere). Before any external traffic, deliberately enable and configure token validation, wire real instrumentation, and use managed secret storage, or replace shared-secret authentication with a supported managed-identity / federated-credential configuration (conditional, not automatic). These generated values change behavior only if the app actually consumes them: a written config file or an Agent 365 registration does not prove the SDK, auth middleware / token validation, or trace exporter is installed or active. Setup does not provision a host or install the SDK, and the CLI warns not to commit these files. Runtime configuration source.

Keys the CLI updates (placeholder identifiers only) — Credential protection source:

Key Value / note
Connections.ServiceConnection.Settings AuthType, AuthorityEndpoint (tenant), ClientId and AgentId = blueprint app ID, ClientSecret (plaintext when synchronized; protect in deployment), Scopes
ConnectionsMap Maps every service URL to the connection
TokenValidation Audiences = blueprint app ID, TenantId. Enabled is written false (.NET only)
Agent365Observability The pinned helper copies agenticAppId into AgentId, falling back to agentBlueprintId when absent. Verify or resolve the agent identity’s appId for runtime ingestion; neither this copy nor its fallback proves the authenticated identity matches. AgentBlueprintId is separate blueprint metadata; ClientId and TenantId configure authentication.
EnableAgent365Exporter .NET: EnableAgent365Exporter ??= false (set only when missing/null; explicit values preserved). Node/Python: ENABLE_A365_OBSERVABILITY_EXPORTER=false replaces the first matching key or is appended

Permissions — three separate layers

Layer What it does
1 · Declaration Setup computes the needed resources/scopes from built-in Graph requirements, ToolingManifest.json (MCP audiences), Observability, Power Platform, an optional Messaging Bot, and customBlueprintPermissions. This grants nothing by itself.
2 · Inheritable permissions Configures the blueprint so child agent identities can inherit allowed scopes and app roles. A correct inheritance policy can still have nothing effective to inherit.
3 · Grants / admin consent Delegated admin consent (and, for S2S, app-role assignments) against the blueprint principal. A Global Administrator can complete this during setup; a non-GA receives consent URLs and an Action Required handoff.

An authorized developer can build much of the structure, but only a tenant admin turns intent into tenant-wide consent. Work IQ / MCP scopes declared in the manifest are not granted — run a365 setup permissions mcp after approval (§06 MCP tooling); the runtime code still loads the tools separately.

Representative Microsoft Graph calls

Representative of the setup path in the pinned source — not the complete call set (lookups, OAuth-grant inspection, app-role assignment, and endpoint registration also occur). Several live operations use Graph beta; do not rewrite them as v1.0 equivalents. This does not change the §09 endpoint catalog.

Operation Method & path Surface
Create blueprint application POST https://graph.microsoft.com/beta/applications beta
Create tenant blueprint principal POST https://graph.microsoft.com/v1.0/serviceprincipals/graph.agentIdentityBlueprintPrincipal v1.0
Add client secret POST https://graph.microsoft.com/v1.0/applications/{blueprintObjectId}/addPassword v1.0
Configure inheritable permissions POST https://graph.microsoft.com/beta/applications/microsoft.graph.agentIdentityBlueprint/{blueprintId}/inheritablePermissions beta
Create child agent identity POST https://graph.microsoft.com/beta/servicePrincipals/Microsoft.Graph.AgentIdentity beta
Register the agent POST https://graph.microsoft.com/beta/copilot/agentRegistrations beta

Source: pinned public DevTools setup path [36]; Graph method references [12] [13] [14] [15]; CLI setup reference [32].

What setup all does not do

Out of scope for setup

  • Upload, host, or run the agent’s code, or deploy it to Azure/AWS/GCP
  • Invent a production URL, or register every URL on a domain
  • Add the SDK, auth middleware / token validation, or register MCP tools into arbitrary app code
  • Grant tenant-wide consent when the operator lacks the admin role, or treat a Work IQ request as approved consent
  • Create an Agentic-User / mailbox by default, or make an agent discoverable just because the blueprint exists
  • Upload manifest.zip, approve it, or create a Teams instance

Microsoft 365 package distribution — a separate lifecycle

Setup’s registration is programmatic only. Three outcomes are distinct and do not imply one another:

  • Registration creates a management / inventory record and identity references — it does not by itself guarantee every end-user UI surface shows the agent.
  • Package distribution — a365 publish → manifest.zip → admin-center upload → availability / approval → instance / hire — is what lights up the applicable Microsoft 365 experiences; instance / hire applies only where the agent type supports it.
  • Runtime authentication and telemetry are the hosted app’s own responsibility.

Deploy and host the runtime separately. See §08 Administration.

Documentation drift. The current pinned source treats infrastructure provisioning as removed / no-op for the default externally-hosted path, while the Learn setup page still lists an Azure subscription prerequisite. Treat Azure hosting as optional here, not mandatory: Hosting is independent. For Microsoft 365 messaging, register the deployed HTTPS callback with --m365 or the endpoint-only command. See §10 Caveats. Sources [32] [36].

Re-running, validating & recovering

Setup uses targeted reuse and reconciliation, not universal atomic idempotency. It reuses the blueprint by display name, revalidates and replaces invalid/expired secrets, verifies the stored agentRegistrationId before reuse, and saves state before later steps so partial progress survives. Preserve a365.generated.config.json — do not delete objects to “retry.” Review the final Action Required block for pending consent, and recover narrowly with --agent-registration-only (registration) or setup blueprint --endpoint-only (callback).

# READ-ONLY -- inspects, never mutates a365 --version a365 setup all --help a365 query-entra blueprint-scopes a365 query-entra inheritance a365 query-entra instance-scopes
# TENANT-MUTATING -- run deliberately, do not auto-run a365 setup all --agent-name "ExampleAgent" a365 setup permissions mcp a365 setup blueprint --endpoint-only --messaging-endpoint https://agent.example.com/api/messages

What changes in my code?

Agent 365 does not take ownership of your executable or automatically intercept everything it does. Registration establishes a management record linked to its identity. Your application then uses that identity for supported resource access and emits activity telemetry. Additional capabilities require their own runtime integration and tenant configuration.

What changes in your code when adopting Agent 365 A top-to-bottom architecture in three zones. Provisioning creates a blueprint, agent identity, grants, and registration, not your executable. Identity and configuration references flow to your customer-hosted application. Your business logic remains, with four integration responsibilities: acquire resource tokens as the intended agent; validate tokens and route messaging activities when needed; emit identity-bound spans through an authenticated exporter; and optionally call governed tools and enforce policy decisions with the required runtime and tenant configuration. A shared service hosting multiple agent instances resolves the intended identity per request or run using trusted context. Application arrows show token requests to Entra, calls to target APIs, and spans to Agent 365 ingestion. These arrows show distinct operations, not an automatic interception layer. Provisioning / control plane · not your executable Blueprint · agent identity grants · Agent 365 registration identity / config references Customer-hosted application · your existing business logic remains Authentication Acquire resource tokens as the intended agent Messaging (if needed) Validate incoming tokens, route activities M365 callback: --m365 opt-in Observability Emit identity-bound spans via authenticated exporter Tools / DLP (optional) Call governed tools; enforce policy decisions registration does not auto-enforce Multiple agent instances on one host? Resolve identity per request / run from trusted context. Token, ingestion URL, and spans must identify the same instance; never mix agents in one export request. These integrations require application code and tenant configuration — registration does not apply them automatically. token requests API calls spans Microsoft Entra ID issues resource tokens Target resource APIs Microsoft Graph / governed tools Agent 365 ingestion identity-bound spans Application-level flows: authentication, resource access, and telemetry are separate operations.

Provisioning and runtime distinctions reviewed 2026-09-22 against the pinned DevTools source [36] and the observability identity contract [19]. Other source-review dates are unchanged. The responsibilities below are illustrative code areas, not verified files in a supplied application.

Area What you add or change Provisioned for you?
Configuration / bootstrap Load and distinguish tenant, blueprint, instance, and authentication settings. Resolve the runtime instance appId, then initialize the SDK and auth client with your chosen credential configuration. Values written to config (conditionally); the wiring is yours.
Messaging host (if needed) Expose the registered callback route, validate incoming tokens, and route activities. No host or middleware. --m365 registers the callback reference; you implement and secure the route.
Telemetry instrumentation Install and configure the exporter, enable it, and emit the root invoke_agent span bound to the identity appId. Exporter flag written (often false); you install and enable it.
Existing agent business logic Keep the existing command or task logic; run it inside an invocation observation wrapper and instrument relevant tool calls. Adopt agent credentials and policy checks where needed. Yours.
Boundary. Disabling the identity or revoking its access may restrict subsequent authenticated operations, subject to token lifetime and each resource’s behavior; it does not inherently terminate your process or unrelated operations that use other credentials. Telemetry is visibility, not enforcement. See §03 Identity, §07 Observability, and §08 Administration.
Developer / admin checklist.
  • Exact IDs recorded — tenant, blueprint app ID (+ object ID), child identity, agentRegistrationId
  • Grants effective — query-entra inheritance shows real Effective inheritance, not just policy
  • Deployed runtime config — secret in a managed store, TokenValidation enabled with correct audience/tenant
  • Callback routing — the deployed /api/messages matches the registered endpoint (only if --m365)
  • Microsoft 365 package distribution handled separately — a365 publish → admin upload → approval → instance (where the agent type supports it)
  • Observability — exporter enabled, licensing present, root invoke_agent span emitted

Read-only validation & endpoint recovery: CLI query-entra [33], messaging endpoint [35], publish [34]. All commands above are shown for reference only and are not executed by this page.

06

Governed MCP tooling & tool-call lifecycle

Tool access separates a management plane (declare + consent) from an MCP data plane (discover + execute). Declaring a server does not grant permission; a Global Administrator must separately grant the blueprint’s MCP permissions, and permissions take precedence over local configuration.

MANAGEMENT PLANEMCP DATA PLANE1Developer: a365 develop list-available thenadd-mcp-servers2ToolingManifest.json declares server uniquename, OAuth scope, audience3Admin runs a365 setup all / setuppermissions mcp; Global Admin grants tenantconsent4SDK loads the configured governed MCPservers5Orchestrator discovers tools via MCP(standard tool discovery)6Framework runtime executes the tool call viaMCP (standard invocation)7Agent 365 gateway enforces server / toolpolicy8Work IQ / M365 workload performs theoperation9OpenTelemetry spans record gateway, server,and tool execution
Protocol shape: interactions are standard MCP (tool discovery and invocation). Microsoft documentation exposes a server URL, not separate REST-style /tools/list or /tools/call product endpoints. Do not invent such HTTP paths.
Work IQ: preview and delegated-user oriented — documented for OBO or Agentic-User. The onboarding quickstart does not connect Work IQ for S2S agents.

Governance facts

  • The SDK loads MCP configuration and registers tools with the agent orchestrator; the chosen framework / runtime executes the tool calls. Server definitions are registered and published through the a365 CLI / admin, not by the SDK.
  • Blocking an MCP server in the admin center blocks it for users and agents tenant-wide.
  • A developer with the appropriate permissions can publish or submit a custom MCP server, but it stays unavailable until a tenant administrator approves it. [31]
  • Exact catalog scopes / audiences must be read from the generated ToolingManifest.json — do not hardcode them.
07

Observability & telemetry

A valid run is an OpenTelemetry span tree with a required root. Without a valid root invoke_agent span the run is invisible to the Defender agent activity view, the admin-center activity/inventory telemetry, and Purview agent experiences — though child spans remain queryable in Defender advanced hunting.

invoke_agentrequired root span for UI visibilitychat / model inferenceexecute_tooloutput_messagesgateway or MCP server execution

Ingestion requirements

  • Identity bindingEvery span’s gen_ai.agent.id must equal the authenticated token’s appid/azp (the agent’s appId / OAuth client_id) — the ingestion URL agentId, not the Entra object id or the blueprint appId. [19]
  • Per-run resolutionA shared host serving multiple agents must resolve the intended identity per request/run so the token appid/azp, the emitted gen_ai.agent.id, and the ingestion URL all match — never mix agents in one export request. A single static configured ID is valid only for a deliberate single-instance deployment. See §05A runtime integration.
  • Versionapi-version=1 is mandatory for direct ingestion.
  • Request limitDirect ingestion is capped at 1 MB per request.
  • AcceptanceA 200 OK is not proof of acceptance — inspect the response results.
  • License gateWithout an assigned Microsoft 365 E7 or Agent 365 license, telemetry can be accepted at HTTP level but rejected as tenant_not_licensed.
  • Correlationgen_ai.conversation.id identifies a conversation / thread, which may span multiple runs; a run is a span tree whose spans share one OTel traceId.
Two ingestion paths differ by auth mode — app-only uses /observabilityService/; delegated uses /observability/. Both appear in the endpoint catalog below.
08

Administration & action semantics

Identity, registration, package, runtime, Azure resources, and agent-owned data each have separate deletion and retention behavior, and no single control blocks or deletes across all of them. One documented cascade is the exception: deleting an Entra blueprint (application or principal) asynchronously soft-deletes its child agent identities and their agent user accounts.

Entra identity / blueprint• Disable / delete identity• Delete: soft-delete, 30-day restore• Blueprint delete cascades to itschild identities + agent user acctsno cascadeRegistration metadata• Delete registration• (beta, irreversible)no cascadeCopilot package (catalog)• Block package• Reassign owner• Uninstallno cascadeRuntime / Azure compute• Stop Foundry agent• Cleanup Azure App Serviceno cascadeAgent-owned M365 data• Delete instance: OneDrive /• Outlook handling then• permanent deletion

Administrator control surfaces

PlanePrimary interfaceResponsibilities
Agent catalog / governanceMicrosoft 365 admin center → AgentsInventory, requests, publishing, install/uninstall, user/group assignment, blocking, owner management, package details
Agent identityMicrosoft Entra admin center + GraphBlueprints, principals, identities, sponsors, credentials, permissions, consent, Conditional Access, identity lifecycle
Tool governanceM365 admin center → Agents and ToolsAllow/block Work IQ and custom MCP servers; review custom server registration
Threat protectionMicrosoft DefenderAgent activity views, exposure/misconfiguration risk, suspicious activity, advanced hunting in CloudAppEvents
Data security / complianceMicrosoft PurviewDLP, audit, retention, eDiscovery, communication compliance, data security posture
Runtime infrastructureAzure / FoundryDeploy, scale, start/stop Foundry compute; Azure RBAC
Copilot Studio ALMPower Platform admin centerMove agents and actions across Dev, Test, Production; environment governance
AutomationMicrosoft GraphInventory, package details, registration metadata, identity objects, selected governance actions

Action semantics — what each action does and does not mean

ActionMeansNot equivalent to
RegisterCreate inventory metadata and/or identity objectsPublish, install, consent, or deploy code
Publish to storeAdd an approved package to the organizational catalogAssigning it to users
Install / deployMake an available agent ready for selected users/groupsStarting its external runtime
Activate templatePermit scoped users to instantiate a template agentCreating every instance automatically
Approve requestAccept a request and perform the documented activation/publicationGranting every downstream API permission
Block packagePrevent organizational use through governed host surfacesDeleting source code or every identity
Disable identityIdentity-plane restriction on the selected agent identityRemoving catalog/package metadata
Stop Foundry agentDeallocate the underlying Azure deploymentBlocking a package
UninstallRemove assignment/availability for usersDeleting the source agent
Reassign ownerTransfer ownership of a shared Agent Builder or Copilot Studio agentChanging owners of every agent type, or moving identity credentials
Add / remove ownersManage owners of an Agent Builder agent; owners have equal rights and the last owner cannot be removedOwner management for Copilot Studio or other agent types
Delete registrationRemove beta registry metadata recordCascade deletion of package, runtime, identity, or data
Delete Agent Builder agentPermanently removes the agent, files, and SharePoint Embedded containerGeneral deletion behavior for all platforms
Delete Entra identity/blueprintSoft-delete the identity for 30 days; deleting a blueprint also soft-deletes its child agent identities and their agent user accountsRemoving host package or external runtime
Cleanup AzureRemove CLI-created App Service resourcesRemoving registry or Entra objects unless separately requested
09

Representative endpoint catalog

Diagram-worthy control points rather than an exhaustive API inventory. Search by function, path, or permission; filter by status. Every path marked preview or beta must be re-verified for the tenant, cloud, and scenario before use.

#Lifecycle functionMethod & pathStatusLeast-privileged permissionSource
1Create identity blueprintPOST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprintv1.0 GADelegated or application: AgentIdentityBlueprint.Create[12]
2Create blueprint principalPOST https://graph.microsoft.com/v1.0/servicePrincipals/microsoft.graph.agentIdentityBlueprintPrincipalv1.0 GAAgentIdentityBlueprintPrincipal.Create. Body uses the blueprint appId, not the application object id.[ref]
3Create agent identityPOST https://graph.microsoft.com/v1.0/servicePrincipals/microsoft.graph.agentIdentityv1.0 GAAgentIdentity.Create.All; application alternative AgentIdentity.CreateAsManager[13]
4Enable / disable or update identityPATCH https://graph.microsoft.com/v1.0/servicePrincipals/{id}/microsoft.graph.agentIdentityv1.0 GAEnable/disable: application AgentIdentity.EnableDisable.All AND AgentIdentity.CreateAsManager; broader AgentIdentity.ReadWrite.All; delegated EnableDisable.All. Custom security attribute changes need additional rights. Scopes are not uniform across all PATCH properties.[ref]
5Delete agent identityDELETE https://graph.microsoft.com/v1.0/servicePrincipals/{id}/microsoft.graph.agentIdentityv1.0 GA · soft-delete 30dDelegated AgentIdentity.DeleteRestore.All; application also requires AgentIdentity.CreateAsManager[13]
6Delete blueprintDELETE https://graph.microsoft.com/v1.0/applications/{id}/microsoft.graph.agentIdentityBlueprintv1.0 GA · soft-delete 30dAgentIdentityBlueprint.DeleteRestore.All — delete cascades: child agent identities and their agent user accounts are soft-deleted (30-day restore). [26][12]
7Register external / custom agent metadataPOST https://graph.microsoft.com/beta/copilot/agentRegistrationsPreview · not for productionAgentRegistration.ReadWrite.All, delegated or application[15]
8Read registrationGET https://graph.microsoft.com/beta/copilot/agentRegistrations/{id}PreviewAgentRegistration.Read.All or read/write permission[14]
9Update registrationPATCH https://graph.microsoft.com/beta/copilot/agentRegistrations/{id}PreviewAgentRegistration.ReadWrite.All[14]
10Delete registrationDELETE https://graph.microsoft.com/beta/copilot/agentRegistrations/{id}Preview · irreversibleAgentRegistration.ReadWrite.All[14]
11Inventory catalog packagesGET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packagesv1.0 GACopilotPackages.Read.All, delegated or application. Requires an Agent365 license.[16]
12Block packagePOST https://graph.microsoft.com/beta/copilot/admin/catalog/packages/{id}/blockBeta · delegated onlyDelegated CopilotPackages.ReadWrite.All; application not available; global commercial only.[16]
13Reassign package ownerPOST https://graph.microsoft.com/beta/copilot/admin/catalog/packages/{id}/reassignBeta · delegated onlyDelegated CopilotPackages.ReadWrite.All; application not available; global commercial only.[16]
14Ingest S2S telemetryPOST https://agent365.svc.cloud.microsoft/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1Direct OTLP/HTTP+JSONApp role Agent365.Observability.OtelWrite; audience 9b975845-388f-4429-889e-eab1ef63949c. {agentId} must equal the calling agent identity appId.[11]
15Ingest delegated telemetryPOST https://agent365.svc.cloud.microsoft/observability/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1Direct OTLP/HTTP+JSONDelegated scope Agent365.Observability.OtelWrite[11]
16Check tenant telemetry eligibilityGET https://agent365.svc.cloud.microsoft/observabilityService/tenants/{tenantId}/eligibility?api-version=1Optional S2S preflightAuth per the direct OTel guide; do not infer eligibility from licensing alone. Intended for onboarded third-party S2S agents; a 503 response is indeterminate, not a definitive ineligible.[11]
17Work IQ Mail MCP interfaceMCP https://agent365.svc.cloud.microsoft/agents/tenants/{tenantId}/servers/mcp_MailToolsPreview · MCP server URLDelegated Work IQ Mail permission on client/blueprint; exact catalog values from ToolingManifest.json. Standard MCP methods, not REST paths.[17]
18MCP Management serverMCP https://agent365.svc.cloud.microsoft/mcp/environments/{environmentId}/servers/MCPManagementPreview · MCP server URLTenant/admin configuration required; a developer with appropriate permissions can publish or submit a custom MCP server, but it stays unavailable until a tenant administrator approves it.[17]
Legacy Agent Registry warning: the older beta surface /beta/agentRegistry/agentInstances is documented with an upcoming replacement beginning May 2026 by Agent 365-powered APIs. Do not make that legacy object model the centerpiece of a new design without verifying migration status. Package Management APIs are the current direction for inventory and governance.
10

Caveats, unknowns & conflicts

This is a public architecture reference, not a deploy-ready configuration. Beta features are not supported for production. Frontier preview capabilities carry additional guardrails. Roles, OAuth permissions, licenses, and cloud availability differ by operation.

1. GA does not mean every feature is GA

Agent 365 is GA, but the Agent Registration API, Work IQ MCP, MCP Management, package block/reassign APIs, agent user accounts, and notification-dependent AI teammate scenarios carry explicit preview limits — and the documented status of connected-platform / registry sync is itself contested across public docs (see the §02A status note).

2. Built-in integration coverage evolves

Verify platform-specific guidance before adding the Agent 365 SDK to Copilot Studio or Foundry agents.

3. Two registry generations coexist

Legacy /beta/agentRegistry/agentInstances (replacement from May 2026), current package-management APIs, and preview /beta/copilot/agentRegistrations are different API models — not aliases.

4. Package vs registration APIs

Package management governs the organizational catalog; agentRegistration stores imported/managed metadata and an agent card. Different things.

5. Independent controls; one documented cascade

Identity, registration, package, runtime, Azure resources, and agent-owned M365 data have separate deletion operations and retention behavior — there is no universal cross-plane cascade. The documented exception: deleting an Entra blueprint (application or principal) soft-deletes its child agent identities and their agent user accounts (30-day restore).

6. Block behavior differs by platform

Blocking Agent Builder / Copilot Studio agents affects Microsoft Copilot and other hosts; Foundry infrastructure may keep running unless separately stopped.

7. Work IQ is not an S2S path

In the current quickstart it requires delegated context and admin OAuth consent.

8. Agent user accounts are optional

Ordinary identity, telemetry, and many tooling scenarios need no mailbox-bearing user. Frontier preview.

9. Role requirements beyond OAuth scopes

Agent ID Developer/Administrator, Agent Registry Administrator, AI Administrator, Global Administrator, Azure Contributor, and Azure AI Owner apply to different operations.

10. Graph SDKs default to v1.0

Beta endpoints require explicit beta SDK/client configuration.

11. Observability guidance has evolved

Microsoft OpenTelemetry Distro is the recommended new-integration path; existing Observability SDK integrations remain supported.

12. Narrower national-cloud availability

Checked Agent Registration and package governance beta endpoints document global commercial support, but not GCC High, DoD, or China.

11

Sources

All sources are canonical, public Microsoft Learn documentation. Accuracy reviewed 2026-09-16, with the a365 setup all and runtime-integration corrections reviewed 2026-09-22; unresolved public documentation conflicts are noted inline. The date on each entry is when the page was checked, not a claim that Microsoft updated it that day.

  1. Overview of Microsoft Agent 365 — GA 2026-05-01; control-plane purpose and licensing. Public · 2026-09-16
  2. Choose an Agent 365 integration option — built-in, registry-sync, and SDK mechanisms. Public · 2026-09-16
  3. Microsoft Agent 365 SDK overview — SDK boundary, capabilities, languages, package catalog. Public · 2026-09-16
  4. Agent 365 identity — objects, cardinality, credentials, S2S/OBO/Agentic-User, sponsors. Public · 2026-09-16
  5. Quickstart: Connect an existing agent to Agent 365 — skills onboarding, runtime modes, Work IQ restrictions. Public · 2026-09-16
  6. Agents for Microsoft 365 Copilot (declarative) — declarative-agent architecture and build interfaces. Public · 2026-09-16
  7. Governance and lifecycle actions for agents — install, uninstall, block, delete, owners, Foundry start/stop. Public · 2026-09-16
  8. Agents admin guide for Microsoft 365 — custom ZIP upload, assignment, deployment, publication. Public · 2026-09-16
  9. Agent 365 CLI reference — exact command families and boundaries. Public · 2026-09-16
  10. Agent management in Microsoft 365 admin center — template activation and instance management. Public · 2026-09-16
  11. Direct OpenTelemetry integration — exact ingestion and eligibility endpoints; two-step S2S. Public · 2026-09-16
  12. Create agentIdentityBlueprint — v1.0 method and permissions. Public · 2026-09-16
  13. Create agentIdentity — v1.0 method and permissions. Public · 2026-09-16
  14. Agent Registration API overview — beta CRUD surface. Public · 2026-09-16
  15. Create agentRegistration — exact beta endpoint, schema, permissions. Public · 2026-09-16
  16. Agent 365 Package Management API overview — package inventory and governance operations. Public · 2026-09-16
  17. Work IQ MCP overview — preview status, MCP server URLs, governance, clients. Public · 2026-09-16
  18. Graph API for Agent Registry and agent details — current Agent 365 admin API direction. Public · 2026-09-16
  19. Agent 365 observability concepts — identity binding, scopes, limits, downstream surfaces. Public · 2026-09-16
  20. Install and use the Agent 365 CLI — installation, authentication application, WAM/device-code. Public · 2026-09-16
  21. Add and manage tools — ToolingManifest, CLI configuration, consent, BYO MCP lifecycle. Public · 2026-09-16
  22. Understand Shadow AI in the Microsoft 365 admin center — Frontier public-preview unmanaged-agent discovery, detection/blocking, prerequisites and roles. Public · 2026-09-15
  23. Use Agent Map in the Microsoft 365 admin center — visual agent inventory, clusters, filters, summary cards, licensing and roles. Public · 2026-09-15
  24. Connected platforms in the Microsoft 365 agent registry — connect/authenticate, admin-triggered Sync agents, sync monitoring, metadata-only import. Public · 2026-09-15
  25. Ecosystem partner agents available in Agent 365 — ready-to-deploy agents vs agent factories; coming-soon and Frontier-only qualifiers. Public · 2026-09-15
  26. Understand agent identity deletion (Microsoft Entra Agent ID) — deleting a blueprint application or principal asynchronously soft-deletes its child agent identities and their agent user accounts; 30-day restore; restoring the parent after cleanup does not restore descendants. See also how to delete an agent identity. Public · 2026-09-16
  27. Choose an integration option — describes Registry sync as a preview integration path; page updated 2026-08-13. Public · 2026-09-16
  28. Microsoft 365 Roadmap item 559615 — connected-platform / registry sync capability. Public · 2026-09-16
  29. Microsoft Agent 365 service description — capability listing; page updated 2026-09-15. Public · 2026-09-16
  30. Agent user OAuth flow (Microsoft Entra Agent ID) — user_fic on-behalf-of chain: blueprint token T1, agent identity credential T2, resource token whose subject is the agent’s own user account. Public · 2026-09-16
  31. a365 develop-mcp CLI reference — a developer with appropriate permissions can publish or submit a custom MCP server, which stays unavailable until a tenant administrator approves it; page updated 2026-09-04. Public · 2026-09-16
  32. Agent 365 CLI setup reference — exact setup all / setup blueprint flags and boundaries; page updated 2026-09-01. Public · 2026-09-16
  33. CLI query-entra reference — read-only blueprint-scopes, inheritance, and instance-scopes checks. Public · 2026-09-16
  34. CLI publish reference — builds manifest.json + manifest.zip — a separate lifecycle from setup. Public · 2026-09-16
  35. Agent messaging endpoint — opt-in HTTPS callback registration, deferral, and endpoint-only recovery. Public · 2026-09-16
  36. Public Agent 365 DevTools source at pinned commit 08e48a9 (2026-09-11) — the setup implementation traced for this section; NuGet 1.1.221 exposes no reliable source-commit mapping, so behavior is current public source, not guaranteed for every installed binary. Public · 2026-09-16