M365 Copilot admin & agent sync
Manage Microsoft 365 Copilot admin surfaces from AI-FW with app-only auth - agent catalog, agent registry, usage reports, and interaction export.
The M365 Copilot admin bridge connects AI-FW to Microsoft 365 Copilot admin surfaces through Microsoft Graph with application permissions (app-only, client-credentials) from your Entra app registration. No user sign-in, no delegated consent, no redirect URI.
What it manages:
- Copilot agent catalog (packages) - live inventory of agents in the organization, with per-agent details (name, type, platform, hosts, publisher, version, blocked state, deployment).
- Agent registry - create, view, update, and delete agent registrations. This is how you sync agents registered on AI-FW with M365.
- Usage analytics - per-user activity, user-count summaries, and daily user-count trends (D7 / D30 / D90 / D180).
- Interaction export - export a user's Copilot prompt and response history for review.
The Agent Registry endpoint is /beta and in preview: Microsoft states that
beta APIs are subject to change and not supported for production use. The
catalog, usage reports, and interaction export are /v1.0 (GA).
What changed#
Earlier versions of the bridge used a delegated authorization-code flow and managed the Copilot policy-settings API (allow web search, chat pinning, image generation) with drift detection and push/pull. That flow was removed: Microsoft does not support Application permissions for the policy-settings API, so those chat-level guardrails can never be managed app-only and are out of scope. Deployments on the old flow must re-provision the app registration with the application permissions below.
1. One-time setup in Microsoft Entra#
-
Register an app in Microsoft Entra (or use an existing Enterprise App) and grant the application permissions:
Permission Surface AgentRegistration.ReadWrite.AllAgent registry CopilotPackages.ReadWrite.AllAgent catalog Reports.Read.AllUsage reports AiEnterpriseInteraction.Read.AllInteraction export Complete admin consent in the Entra portal. No redirect URI is needed, app-only auth never redirects a browser.
-
In AI-FW: Settings → M365 Copilot Admin → enable the bridge and enter the Tenant ID / Client ID / Client Secret from the app registration.
-
Click Test connection. AI-FW acquires an app-only token and lists the Copilot agent catalog to prove the application permissions work.
2. Work with the M365 Copilot page#
Once connected, the M365 Copilot page shows:
- the agent catalog with per-agent details,
- the agent registry for creating and managing agent registrations, including syncing agents registered on AI-FW with M365,
- usage analytics for the selected period,
- interaction export for a user's Copilot history.
Behavior and safety#
- App-only everywhere - every Graph call carries a client-credentials token, cached until expiry. There is no user, refresh token, or redirect URI.
- Fail-closed - Graph errors abort the action and surface in the UI; the client secret is masked and never returned to the browser.
- Every registry mutation and report load is written to the audit log.
- Mock Graph routes all Graph calls to a built-in in-memory mock for demos and automated tests. It is only honored in non-production environments, so the bridge can never be silently skipped in production.
Scope note#
App-only is limited to the Copilot admin APIs Microsoft supports with
application permissions: agent catalog, agent registry, usage reports, and
interaction export. The policy-settings API (copilotPolicySetting) is
Application = Not supported per Microsoft docs, so chat-level guardrails (allow
web search, chat pinning, image generation) cannot be managed app-only and are
out of scope for this bridge.
- Identity & access - the roles that can manage the bridge
- Risk profiles & auto-block - auditing the bridge's changes