Agent Inventory

Sign in to your Microsoft tenant

Works for any Microsoft Entra tenant. We use your identity to read agents from Teams, Power Platform, Azure AI Foundry, SharePoint and Entra. Token forwarding only — nothing is stored server-side.

Read-only by design. The default scopes are read across every workload — that's the whole point: see every agent in the tenant without changing anything. For full governance actions (delete agents, replace owners, mutate service-principal config) the matching ReadWrite scopes have to be added and admin-consented. Inventory + risk analysis work entirely from the read scopes.
Don't have an App Registration yet?

Create one manually in the Entra portal:

  1. Open Entra ID → App registrations and click New registration.
  2. Name: anything (e.g. Agent365Free).
  3. Supported account types: Accounts in this organizational directory only (Single tenant) is fine for your own tenant.
  4. Redirect URI: platform Single-page application (SPA), URI https://this-app-origin (the URL you're reading this page from).
  5. On the new app's API permissions page, add the delegated scopes listed in the "What permissions does this need?" section below.
  6. Click Grant admin consent for the tenant (needs Global / Application / Privileged Role Administrator).
  7. Copy the Application (client) ID from the app's Overview tab and paste it into the box above.
What permissions does this need?

Agent365Free is delegated-only: it acts as you, never as an app. The App Registration can be single-tenant or multi-tenant — multi-tenant is only needed if accounts from other tenants will sign in to the same app registration. The scopes below are admin-consented in your tenant once: the first sign-in triggers a standard Microsoft consent prompt, a Global Administrator approves once, and every user in that tenant can then sign in normally.

Read-only by default. Inventory, risk analysis, every export, every drill-through — all run on the .Read.* scopes below. The two ReadWrite scopes that unlock the per-agent Delete buttons live in a separate section at the end of this list and are not included in the default admin-consent flow. Opt-in only.

Microsoft Graph (delegated, read-only)

ScopeUsed for
User.ReadSign-in / profile
User.ReadBasic.AllResolve agent owners → name / email
Group.Read.AllTeams app catalog group membership
AppCatalog.Read.AllTeams agent inventory
AuditLogsQuery.Read.AllAudit view + per-agent activity
AuditLog.Read.AllService-principal sign-in → dormant detection
Directory.Read.AllSP type, privileged roles, federated creds
Policy.Read.AllConditional Access coverage map
AgentIdentity.Read.All previewEntra Agent identities source
Files.Read.AllSharePoint Agents — read .agent files
Sites.Read.AllSharePoint deep-scan beyond search index
InformationProtectionPolicy.ReadReal Purview sensitivity-label names

For full governance — opt-in

Read-only inventory + risk analysis runs entirely on the scopes above. To unlock the per-agent Delete buttons in the side panel (Teams catalog removal, SharePoint agent removal), two additional ReadWrite scopes have to be added to the app reg and consented. These are NOT part of the default admin-consent flow — you opt in by running the provisioning script with -IncludeDeleteScopes (PowerShell) / --include-delete-scopes (Bash) and re-consenting. Tenant-wide write across the Teams catalog and all files is a heavy grant; only add it if you truly need the delete actions.

ScopeUsed for
AppCatalog.ReadWrite.All governanceDelete Teams agent from the org catalog
Files.ReadWrite.All governanceDelete SharePoint .agent file

Azure Service Management (delegated)

user_impersonationAzure AI Foundry project enumeration

Azure Machine Learning Services (delegated)

user_impersonationAzure AI Foundry data-plane — agent instructions / tools / runs

Power Platform API (delegated)

ResourceQuery.Resources.ReadPP Inventory — primary Copilot Studio agent fetch
EnvironmentManagement.Environments.ReadEnumerate Power Platform environments
CopilotStudio.MinimalBot.ReadPer-env Copilot Studio bot list
CopilotStudio.MakerOperations.ReadMaker-context bot / agent metadata

Dynamics CRM / Dataverse (delegated)

user_impersonationPer-env Dataverse: bot, appmodule, systemusers tables

Roles the signed-in user must hold

OAuth scopes alone aren't enough — these are role assignments. The app degrades gracefully per source: missing a role only hides one source / one signal, never breaks sign-in.

RoleRequired for
Agent ID Administrator OR Agent ID Developer (Entra)Entra Agent identities source
System Administrator OR System Customizer (Dataverse, per env)Copilot Studio bots + Model-driven apps
Azure AI Developer (Foundry — at subscription scope covers all projects)Foundry agents + tools + instructions
Power Platform AdministratorCross-environment PP Inventory results
Global Administrator OR Application AdministratorAdmin-consent the app the first time

Something not working? Email us at agent365registry@syskit.com