# Agent Control Pro Fundamentals
Govern your Copilot agent estate before it sprawls. 🛡️
Agent Control Pro is a Microsoft 365 Copilot declarative agent built for IT administrators. It joins your tenant's Copilot agent catalog (Microsoft Graph) with your Copilot usage report and Power Platform consumption report (both admin-uploaded CSVs) and answers governance questions in plain English: what agents do I have, which overlap, which are ready to promote, which should I retire, and what are they costing.
# How it works
Agent Control Pro is built around natural-language interaction. Instead of exporting CSVs and pivoting in Excel, you ask a question and get ranked, classified, deduplicated recommendations directly inside Microsoft 365 Copilot.
It reads inventory live from Microsoft Graph (/copilot/admin/catalog/packages) and adoption data from the latest usage CSV you uploaded. No conversations, prompts, or response contents are ever read. Only metadata (agent definitions) and counts (active users, response volumes) are used.
# Who is it for?
| Profile | Value |
|---|---|
| IT Administrator | Inventory every Copilot agent in your tenant. Spot duplicates and dormant agents. Decide which agents to standardize, promote, or retire. |
| CIO / IT Leader | Get visibility on Copilot adoption across the organization without building a custom report stack. Use it as a leading indicator of Copilot ROI. |
| Copilot Center of Excellence | Standardize a governance ritual (monthly review, quarterly cleanup) backed by data already inside your tenant. Coach builders toward fewer, better agents. |
# Interactive results in Copilot Chat
Catalog answers are not plain text. When you ask an inventory, search, or top-N question in Microsoft 365 Copilot Chat, the results render as an interactive Fluent 2 carousel with a master-detail layout: up to 20 agent cards, sorted by most recently modified, with the carousel header reflecting any build-type filter you asked for, for example only Agent Builder agents.
Click any card to open a per-agent detail view. The click also sends a follow-up prompt on your behalf, so the assistant retrieves the agent's full record (long description, element definitions, and who is allowed to use it) without you typing anything.
# Where you can use it
Agent Control Pro is registered with Microsoft 365 in two complementary ways:
- Copilot Chat: the branded Agent Control Pro assistant, with its persona, instructions, and the six conversation starters below.
- Host-agnostic agent connector: the same catalog and usage tools are also discoverable by other Microsoft 365 hosts, including Microsoft 365 Copilot Cowork and the Teams Channel Agent. You can ask governance questions from those surfaces without switching to Copilot Chat.
In Cowork, Agent Control Pro also ships a dedicated agent governance reporting skill. Ask Cowork something like "Give me a governance report on our Copilot agents" and it produces a full written report from live tenant data: an executive summary, inventory by build type, adoption highlights, duplicate findings, org-wide promotion candidates, retirement candidates, and a prioritized list of recommendations. Every table row carries the agent id so you can act on it directly.
# Acting on this in Microsoft Agent 365
Every Agent Control Pro response closes with a short "Acting on this in Microsoft Agent 365" section: one to three bullets pointing you to the right surface to act on what was just said, such as the Agents pages in the Microsoft 365 admin center (Registry and Agent Map), Microsoft Entra Agent ID and Conditional Access, Microsoft Purview, or Microsoft Defender.
# Reviewing the reports you uploaded
The admin portal shows the latest of each report on one View report page, split into two tabs: Usage report and Billing report.
- The Usage report tab lists each agent with its creator type, licensed and unlicensed active users, responses, and last activity date.
- The Billing report tab lists each agent with its product, billable feature, channel, environment, and its billed and non-billed credits.
Each tab names the file, who uploaded it, when, and how many rows it holds, so you can confirm which report the assistant is answering from. If a report has never been uploaded, its tab says so and links to the matching upload page.
# Conversation starters
Agent Control Pro ships with six conversation starters, each mapped to a common governance question.
# Starter 1: 🗂️ Top Agent Builder agents
Prompt text:
Show me the most-used agents authored in Agent Builder, sorted by adoption.
What it does: Lists the Agent Builder authored agents with the highest active-user count and response volume, drawn from the latest uploaded usage report.
Useful when:
- Identifying which builder-led agents to highlight as best practice
- Briefing leadership on what is working
- Deciding which agents to feature in internal newsletters or Copilot Center of Excellence reviews
# Starter 2: 🔍 Find overlapping agents
Prompt text:
Find agents in my catalog that look similar to each other.
What it does: Compares agent names, descriptions, and instructions across your tenant catalog and surfaces clusters of agents that look like they serve the same purpose.
Useful when:
- Auditing the catalog for redundancy
- Onboarding into a new tenant and trying to understand the landscape
- Preparing a consolidation plan before encouraging more agent creation
# Starter 3: 💸 Cost vs adoption
Prompt text:
Which agents cost the most but have the least adoption?
What it does: Cross-references Power Platform credit spend against active-user adoption, so you see which agents consume the most credits while serving the fewest people. Spend comes from the billing report you uploaded and adoption comes from the usage report, so upload both to get a complete answer.
Useful when:
- Building a FinOps case for retiring or consolidating an expensive agent
- Deciding where to invest enablement effort instead of more credits
- Preparing a cost review with finance or the Copilot Center of Excellence
# Starter 4: 🔀 Consolidation candidates
Prompt text:
Which agents look ready to become a single, official version?
What it does: Identifies shared-link agents that look similar enough, and adopted enough, to merge into one tenant-wide deployment.
Useful when:
- Planning a quarterly cleanup
- Reducing duplication before tenant-wide policy enforcement
- Sponsoring an "official" version owned by IT or a business unit
# Starter 5: 🌐 Org-wide candidates
Prompt text:
Which shared agents have enough adoption to be promoted tenant-wide?
What it does: Filters the catalog to shared-link agents with 50 or more active users: agents that have proven their value organically and are now strong candidates for official LOB (line-of-business) deployment in the Agent Store.
Useful when:
- Promoting bottom-up successes into the official catalog
- Justifying tenant-wide deployment to security or compliance teams
- Replacing fragile shared links with a discoverable Agent Store entry
# Starter 6: 💤 Unused agents
Prompt text:
Which agents in my catalog had no usage in the last 30 days?
What it does: Lists dormant agents (those with zero recorded activity over the last 30 days) so you can investigate ownership and retire what is no longer needed.
Useful when:
- Running an end-of-quarter catalog cleanup
- Reducing the surface area before a security or compliance review
- Reclaiming names and descriptions before they get reused inconsistently
# Prompt ideas for everyday use
You can also ask freeform questions to drill into any specific agent or population.
# Inventory and ownership
- Which agents has the finance team built?
- Show me all sideloaded agents older than six months
- Who is allowed to use the Travel Booking agent?
- List every agent built in Copilot Studio
# Duplicates and overlap
- Show me duplicate agents where both copies have active users
- Why did you flag this duplicate?
- Show me the peer agents you matched against this one
- Are there agents with the same name across multiple deployments?
# Adoption and retirement
- Which agents have growing adoption month over month?
- Which dormant agents have a known owner I can ask before retiring?
- Show me agents that exist as both
sharedandlob(promotion in progress)
# Cost
- Which agents cost the most in credits?
- Break down our Copilot spend by environment
- What is the Travel Booking agent costing us?
# Prompting tips
- Ask naturally. No special syntax or filter language is required.
- Name agents by their display name when drilling into a specific case.
- Use follow-ups to refine: "now only the ones with more than 50 users", "exclude sideloaded ones", "sort by responses".
- Ask "why" to surface the matching reasons behind a classification. Agent Control Pro explains which signals it used.
- Re-upload the usage and billing CSVs when the reminder email arrives so adoption-based and cost-based answers stay accurate.
# Best practices
- Treat Agent Control Pro as a governance ritual: schedule a monthly review using the six built-in starters.
- Ask for active duplicates as a freeform question, then pair the answer with a stakeholder conversation before retiring anything. Data finds the pattern; humans resolve the politics.
- Use Org-wide candidates as the input to your quarterly Copilot Center of Excellence promotion meeting.
- Cross-reference Unused agents against your owners list before deletion. Dormancy is not the same as abandonment.
- Keep usage CSVs in a shared admin location so anyone on the governance rotation can re-upload.
# Cost and FinOps answers
Once you upload a billing report, Agent Control Pro answers cost questions in chat instead of sending you back to a spreadsheet. Three tools sit behind those answers, and the assistant picks the right one for the question you ask.
| Tool | What it answers |
|---|---|
get_agent_cost | Cost for one agent, or a ranked list. Name an agent and you get its total credits, split into billed and non-billed, with breakdowns by feature, channel, environment, and product, plus a best-effort match back to the catalog record. Ask without naming an agent and you get every agent ranked by total credits, highest first. |
list_billing_rows | The raw billing rows behind the totals, returned page by page so a large report stays readable. There is one row per agent, feature, channel, and tool combination, each with its billed and non-billed credits. |
get_billing_summary | A tenant-wide rollup: total billed and non-billed credits, how many distinct agents appear in the report, the top agents by cost, and cost broken down by environment, product, and feature. |
All figures are reported in the credits used by the source report. Agent Control Pro applies no currency conversion, so the numbers you get in chat line up with the report you exported from the Power Platform admin center. When no billing report has been uploaded, each of these answers tells you the report is missing rather than estimating a number.
Ask these in plain English. "What is the Travel Booking agent costing us?" uses the per-agent view, "Which agents cost the most in credits?" returns the ranked list, and "Break down our Copilot spend by environment" uses the tenant-wide rollup.
# Key concepts
# Agent vs package
Microsoft Graph refers to Copilot agents as packages. The two terms are interchangeable in Agent Control Pro answers.
# Build type and platform
How an agent was authored. Agent Control Pro classifies each agent using the Graph platform, type, and elementTypes fields:
| Build type | Description |
|---|---|
| Agent Builder | Declarative agents authored in Microsoft's Agent Builder UI |
| Copilot Studio | Custom-engine agents authored in Microsoft Copilot Studio |
| Sideloaded | Developer deployments via the Microsoft 365 Agents Toolkit (not store-discoverable) |
| LOB (line of business) | Admin-deployed, tenant-wide, discoverable in the Agent Store |
| First-party / third-party | Microsoft- or partner-built agents installed in your tenant |
# Deployment scope
Where the agent is published and how users discover it:
- LOB: admin-deployed tenant-wide; discoverable in the Agent Store
- Shared: user-published with a link; discoverability depends on sharing settings
- Sideloaded: developer-side deployment via Agents Toolkit; not store-discoverable
# Classifications
What Agent Control Pro assigns to each agent in its analysis:
| Classification | Meaning |
|---|---|
| Active | Used in the last 30 days |
| Dormant | No activity in the last 30 days |
| Active Duplicate | Similar agents, both have active users (high-priority consolidation) |
| Orphaned Duplicate | Similar agents, only one has users (low-effort consolidation) |
| Catalog Duplicate | Similar agents, neither has users (cleanup candidates) |
| Fragmented Deployment | Same agent name appears across multiple rows / deployments |
| Scope Promotion | The same agent exists as both shared and lob (promotion in progress) |
| Org-Wide Candidate | Shared agent with 50 or more active users, ready for official LOB promotion |
# Thresholds
Conservative defaults. Agent Control Pro errs toward false negatives so you can trust the classifications:
| Setting | Default |
|---|---|
| Active / dormant cutoff | 30 days of activity |
| Org-Wide Candidate threshold | 50 or more active users |
| Similarity matching | Deterministic match on name and description (multilingual / embedding-based matching is on the roadmap) |
# Common workflows
# Monthly governance review
- 1
Surface this month's backlog
- Run 🔍 Find overlapping agents, then ask "Show me duplicate agents where both copies have active users".
- Drill into any flagged pair with "Why did you flag this?" to see peers and matching reasoning.
- 2
Decide and act
- Choose which agents to consolidate or retire.
- Act in the Microsoft 365 admin center.
Symptom this solves: the catalog keeps growing and nobody knows what is in it.
# Promote a successful shared agent to org-wide
- 1
Find the candidates
- Run 🌐 Org-wide candidates to find shared agents with 50 or more active users.
- Confirm the agent is currently
shared.
- 2
Promote it
- In the Microsoft 365 admin center, change the scope to a tenant-wide LOB deployment.
- Communicate to users, then retire the original shared link.
Symptom this solves: a bottom-up agent has caught on, but it lives behind a shared link.
# Clean up unused agents
- 1
List the dormant agents
- Run 💤 Unused agents to list agents dormant for 30 days or more.
- For each, ask "Who is allowed to use [agent name]?" to identify owners.
- 2
Retire what is obsolete
- Coordinate with the owners you identified.
- Delete obsolete agents in the Microsoft 365 admin center.
Symptom this solves: the catalog is cluttered with prototypes that are no longer used.
# Review what your agents cost
- 1
Upload the consumption report
- In the Power Platform admin center, go to Billing, then Licenses, and export the Entitlement consumption - per agent details report as a CSV file.
- Upload it in the Agent Control Pro admin portal under Upload billing.
- 2
Review the spend
- Run 💸 Cost vs adoption, then drill into the most expensive agents.
- Cross-reference expensive agents against the duplicate and dormant findings.
Symptom this solves: Copilot consumption is growing and you cannot attribute it to specific agents.
# Limits
Agent Control Pro applies a small number of caps to keep answers fast and trustworthy: a catalog paging cap, a separate free-trial catalog cap, latest-upload-only report retention, and no per-user role gating.
See the dedicated Agent Control Pro limits page for the full list and what each one means for your answers.
# Data privacy and trust
- On-behalf-of (OBO) authentication. Every Microsoft Graph call is made using the signed-in administrator's delegated permissions, never a service principal.
- Tenant isolation. Every record that belongs to your tenant is stamped with your tenant identifier (
tid) and every query against those records is automatically filtered by that tenant. - Read-only by design. Agent Control Pro never modifies, deletes, or sends anything in your environment; recommendations only.
← Get Started ! Q&A →