Skip to content

AI Agent Inventory

The question it answers: Which AI agents exist in the tenant, who built and owns them, and which ones have an owner who left or is disabled?

Every AI agent in the tenant in one list: who built it, who owns it, where it lives and whether it is published. Agents are merged when two sources describe the same one (for example a Copilot Studio agent that also has an Entra agent identity and a catalogue entry). Agents whose owner has left or is disabled come first. Nobody maintains them, yet they may keep running and keep their access to data.

Where in the appTenant › Teams Voice, Power Platform & Copilot › AI Agent Inventory
WorkloadTenant
KindTable · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceMicrosoft Agent 365 for the Copilot catalogue. Copilot Studio / Agent Builder agents come from the Power Platform inventory (no extra licence).
Report id (API and MCP)tenant.collaboration.ai-agent-inventory
ColumnKeyType
StatusSeverityStatus
AgentNameLink
SourceSourceText
Also listed inAlsoListedInText
KindKindText
CreatorCreatorLink
OwnerOwnerLink
Owner statusOwnerStatusText
SponsorsSponsorsText
StateStateText
LocationLocationText
CreatedCreatedDate
Published / changedLastChangedDate
FindingFindingText
FilterKey (API)On when the page opens
Hide agents built by Microsofthide-microsoftYes
Only agents that need attentionattentionNo

Licence: Microsoft Agent 365 for the Copilot catalogue. Copilot Studio / Agent Builder agents come from the Power Platform inventory (no extra licence).

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
CopilotPackages.Read.AllMicrosoft GraphRead all packages informationCopilot catalogue
AgentIdentity.Read.AllMicrosoft GraphRead all agent identitiesEntra Agent ID
Application.Read.AllMicrosoft GraphRead all applicationsEntra Agent ID
User.Read.AllMicrosoft GraphRead all users’ full profilescreator and owner names, cached
User-LifeCycleInfo.Read.AllMicrosoft GraphRead all users’ lifecycle informationwith
User.Read.AllMicrosoft GraphRead all users’ full profileswith

Roles and other setup:

  • Azure RBAC Reader at Tenant Root (Foundry, Resource Graph)
  • Azure AI User on Foundry projects (unpublished Foundry agents)
  • Entra role Global Reader or AI Reader (Power Platform inventory)
Data sources it reads
  • POST management.azure.com/providers/Microsoft.ResourceGraph/resources (PowerPlatformResources: microsoft.copilotstudio/agents)
  • GET /v1.0/copilot/admin/catalog/packages
  • GET /v1.0/servicePrincipals/microsoft.graph.agentIdentity + owners / sponsors ($batch)
  • POST management.azure.com/providers/Microsoft.ResourceGraph/resources (Foundry projects)
  • GET {project endpoint}/agents?api-version=v1 (Foundry data plane)
  • GET .../projects/{p}/applications, POST .../applications/{a}/listAgents (ARM, 2026-01-15-preview)
  • GET /v1.0/users (cached)
GET /ir-api/v1/reports/tenant.collaboration.ai-agent-inventory?size=100
GET /ir-api/v1/reports/tenant.collaboration.ai-agent-inventory?filter=hide-microsoft

An AI assistant reads it with the MCP tool get_report and the id tenant.collaboration.ai-agent-inventory. The client needs the Read grant for Tenant. See Using the API.