Microsoft 365 Copilot Administration: Complete Practical Course — Managing Copilot in Your Microsoft 365 Tenant
As an admin, your role is not to configure the LLM itself — that is managed by Microsoft — but to control who has access, what data Copilot can reference, what compliance policies apply to Copilot interactions, what agents and extensions are available, and how adoption is measured. This guide covers all of those responsibilities with practical PowerShell, Graph API, and admin centre configurations.
🗺️ Course Module Map
Copilot Admin Overview
Admin portals, licensing model, how Copilot works, Microsoft 365 Copilot vs Copilot in Windows vs Bing Chat
Licensing & User Enablement
Microsoft 365 Copilot licence, prerequisites, assigning licences, phased rollout strategies
Data Security & Privacy Controls
How Copilot accesses data, data residency, privacy commitments, overshared content risk
Copilot in Microsoft 365 Apps
Copilot in Word, Excel, PowerPoint, Outlook, Teams, Loop, OneNote — admin controls per app
Microsoft 365 Copilot Chat
Copilot Chat (formerly Business Chat), work vs web grounding, meeting intelligence, Pages
SharePoint & Content Management for Copilot
Restricting Copilot search scope, SharePoint Advanced Search (SACS), oversharing remediation
Copilot Studio
Custom copilots, declarative agents, agent builder, publish and govern agents in Microsoft 365
Agents & Extensions
First-party agents, Graph connectors, API plugins, Teams message extensions, agent governance
Adoption & Usage Analytics
Copilot Dashboard, Microsoft Viva Insights for Copilot, usage reports, adoption maturity model
Information Protection & Copilot
Sensitivity labels in Copilot interactions, DLP for Copilot, information barriers, audit logging
Purview AI Hub & Data Security Posture
AI Hub dashboard, overshared files, DSPM for AI, sensitive data in Copilot interactions
Certification & Readiness Alignment
MS-102 Copilot topics, MS-4005 user readiness, admin governance checklist, readiness framework
🏠 Module 1: Microsoft 365 Copilot Admin Overview
Microsoft 365 Copilot is an AI assistant that combines the power of Large Language Models (LLMs) with your organisation’s data in Microsoft Graph. Every prompt is grounded in the data the signed-in user already has permission to access — Copilot does not give users access to content they couldn’t already reach; it simply makes existing access faster and more intelligent.
Where Copilot Is Managed
| Admin Task | Management Location | Access Path |
|---|---|---|
| Assign Copilot licences | Microsoft 365 Admin Center | admin.microsoft.com → Billing → Licences → Microsoft 365 Copilot |
| Enable/disable Copilot features per app | Microsoft 365 Admin Center → Copilot | admin.microsoft.com → Copilot → Settings |
| Manage Copilot agents & plugins | Microsoft 365 Admin Center → Copilot → Agents | admin.microsoft.com → Copilot → Agents |
| Data governance & AI security | Microsoft Purview → AI Hub | purview.microsoft.com → AI Hub |
| Usage & adoption analytics | Microsoft 365 Admin Center → Reports → Copilot Dashboard | admin.microsoft.com → Reports → Microsoft Copilot Dashboard |
| Custom Copilot agents | Microsoft Copilot Studio | copilotstudio.microsoft.com |
| SharePoint content governance for Copilot | SharePoint Admin Center | admin.sharepoint.com → Advanced search settings |
Copilot Product Family — Disambiguation
| Product | What It Is | Data Access | Licence |
|---|---|---|---|
| Microsoft 365 Copilot | AI assistant in M365 apps (Word, Excel, Teams, Outlook, etc.) — grounded in org data via Graph | User’s M365 data only — respects existing permissions | Microsoft 365 Copilot add-on (~$30/user/month) |
| Microsoft Copilot (free) | Consumer/Bing-powered AI — web-grounded only when not signed into a work account | Public web data only | Free / Bing licence |
| Microsoft Copilot with Entra ID work account | Copilot.microsoft.com with work account — web + limited M365 data (tenant boundary respected) | Limited M365 data + web — not the same as M365 Copilot licence | Included with M365 E3/E5 (limited features) |
| Copilot Studio | Low-code tool to build custom AI agents (copilots) for specific business scenarios | Connectors to internal and external data sources | Copilot Studio licence (message-based billing or per-user) |
| Security Copilot | AI for security operations — integrates with Defender XDR, Purview, Entra, Intune | Security data only from connected Defender products | Microsoft Security Copilot (SCU-based billing) |
🏗 Module 2: Licensing & User Enablement
Microsoft 365 Copilot requires a Microsoft 365 Copilot add-on licence assigned on top of an eligible base Microsoft 365 or Office 365 licence. The base licence must be M365 Business Premium, E3, E5, F3, or equivalent — Copilot is not available as a standalone purchase without an eligible base plan.
Microsoft 365 Copilot Prerequisites
| Prerequisite | Requirement | Why Required |
|---|---|---|
| Base licence | Microsoft 365 Business Premium, E3, E5, F3, or equivalent Office 365 plans | Copilot is an add-on; requires existing M365 apps and services |
| Entra ID account | Work/school Entra ID account — personal Microsoft accounts not supported for M365 Copilot | Copilot grounding uses Microsoft Graph which requires Entra ID identity |
| Microsoft 365 Apps (desktop) | Microsoft 365 Apps for Enterprise or Business (the Office desktop apps) — must be current channel or monthly enterprise channel | Copilot in Word, Excel, PowerPoint requires desktop app version 16.0.16827+ (Current Channel) |
| Exchange Online mailbox | Exchange Online plan with mailbox — Copilot in Outlook requires active mailbox | Copilot in Outlook reads email and calendar for meeting summaries and email drafting |
| Teams licence | Microsoft Teams licence required for Copilot in Teams (meeting summaries, transcription) | Copilot in Teams requires transcription enabled; transcription requires Teams licence |
Assign Microsoft 365 Copilot Licences & Verify Prerequisites
Assign Copilot licences to a pilot group, verify that all prerequisite licences are in place, and identify users who have the Copilot licence but are missing a required prerequisite.
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All" # Get the Microsoft 365 Copilot SKU and available seat count Get-MgSubscribedSku | Where-Object {$_.SkuPartNumber -like "*COPILOT*"} | Select-Object SkuId,SkuPartNumber,ConsumedUnits,@{N="Available";E={$_.PrepaidUnits.Enabled - $_.ConsumedUnits}} | Format-Table -AutoSize # Assign Copilot licence to a user $CopilotSkuId = (Get-MgSubscribedSku | Where-Object {$_.SkuPartNumber -eq "Microsoft_365_Copilot"}).SkuId $UserId = (Get-MgUser -Filter "UserPrincipalName eq 'pilot@contoso.com'").Id Set-MgUserLicense -UserId $UserId ` -AddLicenses @{SkuId = $CopilotSkuId} ` -RemoveLicenses @() Write-Host "Copilot licence assigned." # Get all users with Copilot licence Get-MgUser -All -Property DisplayName,UserPrincipalName,AssignedLicenses | Where-Object {$_.AssignedLicenses.SkuId -contains $CopilotSkuId} | Select-Object DisplayName,UserPrincipalName | Format-Table -AutoSize
🔒 Module 3: Data Security & Privacy Controls
The most important thing for administrators to understand about Microsoft 365 Copilot’s data model is that Copilot only accesses data the user already has permission to see. It uses the user’s own identity and permissions when querying Microsoft Graph — Copilot does not have elevated privileges and cannot access content the signed-in user cannot access through normal M365 experiences.
How Copilot Accesses Data — The Permission Model
| Data Source | How Copilot Accesses It | Admin Control |
|---|---|---|
| Exchange Online email & calendar | User’s own mailbox only — via Exchange Online REST API with user identity | No admin disable per-app; licence controls access |
| SharePoint Online & OneDrive | Files and sites the user has explicit permission to access — respects SharePoint permissions model | SharePoint permissions + SharePoint Advanced Content Search (SACS) to restrict scope |
| Microsoft Teams chats & channels | Chats and channel messages the user is a member of — Private channels excluded if user is not a member | Teams meeting Copilot requires transcription enabled in meeting policy |
| Microsoft 365 Search (Graph) | Semantic index of all content the user can access — cross-app M365 search grounding | Restrict content from Copilot using SharePoint site-level search visibility settings |
| External data (Graph connectors) | Third-party data ingested via Microsoft Graph connectors — appears as search results in Copilot | Admin enables/disables specific Graph connectors; Copilot respects connector-level ACLs |
⚠️ The Oversharing Risk — Copilot Amplifies Existing Permission Issues
Copilot does not create new data access paths — but it dramatically accelerates the discovery of content the user could already access. If a user has access to 10,000 SharePoint documents they never actively browse (because of overly broad group memberships or “Everyone” permissions), Copilot can surface and summarise all of that content in seconds. This is why fixing oversharing before Copilot rollout is critical. Use the Purview AI Hub and SharePoint site permission reviews to identify and remediate overshared content before enabling Copilot at scale.
💻 Module 4: Copilot in Microsoft 365 Apps
Microsoft 365 Copilot is embedded directly into the desktop and web versions of the core Microsoft 365 apps. Each app provides Copilot capabilities specific to that app’s context — drafting in Word, data analysis in Excel, presentation generation in PowerPoint, email summarisation in Outlook, and meeting intelligence in Teams.
Copilot Capabilities Per App (2025–2026)
| App | Key Copilot Capabilities | Admin Controls |
|---|---|---|
| Word | Draft from prompt, rewrite sections, summarise document, extract key points, change tone/length | Licence control only; no granular disable; requires M365 Apps Current Channel |
| Excel | Natural language data analysis, formula suggestions, chart creation, data insights without pivot tables | Licence control; Python in Excel integration requires enabling via admin center |
| PowerPoint | Generate presentation from prompt or Word document, add slides, reformat, summarise | Licence; Brand Kit requires SharePoint Organisational Asset Library configured |
| Outlook | Draft email reply, summarise email thread, coaching on email tone, meeting scheduling insights | Licence; requires Exchange Online mailbox; Copilot in new Outlook only (not classic Outlook) |
| Teams | Meeting summaries (requires transcription), real-time Q&A during meetings, chat summarisation, action items | Transcription must be enabled in Teams meeting policy (AllowTranscription = $true) |
| OneNote | Summarise pages, generate content from prompts, organise notes, create plans | Licence control only |
| Loop | Draft Loop components, summarise workspaces, generate content for collaborative spaces | Loop must be enabled for the tenant (Loop admin settings in M365 Admin Center) |
| Forms | Generate form questions from a topic prompt, analyse form responses with Copilot | Licence control; Forms admin settings in M365 Admin Center |
Configure Copilot Settings in M365 Admin Center via Graph API
Query and update Copilot admin settings — including enabling web search grounding for Copilot Chat and managing connected agents — using Microsoft Graph PowerShell.
Connect-MgGraph -Scopes "OrgSettings.ReadWrite.All","Reports.Read.All" # Get Copilot usage report (last 28 days) Invoke-MgGraphRequest -Method GET ` "https://graph.microsoft.com/beta/reports/getMicrosoft365CopilotUsageUserDetail(period='D28')" ` -OutputFilePath "CopilotUsageReport.csv" Write-Host "Copilot usage report exported." # Get per-app active user counts for Copilot $Summary = Invoke-MgGraphRequest -Method GET ` "https://graph.microsoft.com/beta/reports/getMicrosoft365CopilotUsageSummary(period='D28')" $Summary.value | Select-Object ReportDate, WordAiAssistanceEngagedUserCount, ExcelAiAssistanceEngagedUserCount, OutlookAiAssistanceEngagedUserCount, TeamsAiAssistanceEngagedUserCount | Format-Table -AutoSize # Count all Copilot-licensed users in the tenant $CopilotSkuId = (Get-MgSubscribedSku | Where-Object {$_.SkuPartNumber -like "*Copilot*"}).SkuId $Licensed = Get-MgUser -All -Property DisplayName,AssignedLicenses | Where-Object {$_.AssignedLicenses.SkuId -contains $CopilotSkuId} Write-Host "Total Copilot-licensed users: $($Licensed.Count)"
💬 Module 5: Microsoft 365 Copilot Chat
Microsoft 365 Copilot Chat (formerly Microsoft 365 Business Chat / BizChat) is the cross-app AI assistant available at m365.cloud.microsoft and within Microsoft Teams — it provides a unified conversational AI experience grounded in the user’s entire M365 data estate including emails, files, Teams messages, calendar, and connected Graph data.
Copilot Chat Key Capabilities
| Feature | Description | Admin Control |
|---|---|---|
| Work mode (Graph grounding) | Copilot Chat answers questions grounded in the user’s M365 data — emails, files, Teams messages, calendar | Always on when Copilot licence is assigned; no disable per user |
| Web mode (Bing grounding) | Copilot Chat answers questions using public web data via Bing — no M365 data referenced | Admins can disable web search grounding in M365 Admin Center → Copilot → Settings |
| Pages (collaborative canvas) | Copilot Chat responses can be saved as M365 Pages — collaborative AI-generated documents in Loop/OneDrive | Requires Loop enabled for tenant; no individual disable |
| Meeting intelligence | Summarise recent Teams meetings, extract action items, answer questions about what was discussed | Requires meeting transcription enabled in Teams meeting policy |
| File analysis | Upload files to Copilot Chat for analysis, summarisation, or Q&A — file processed in session only | Governed by DLP policies; no separate admin disable |
📁 Module 6: SharePoint & Content Management for Copilot
Copilot’s ability to surface SharePoint content depends on the Microsoft 365 semantic index (formerly the BING enterprise semantic index) — which crawls and understands all SharePoint content the user can access. Admins can restrict Copilot’s SharePoint content access at the site level using SharePoint Advanced Content Search (SACS) — marking specific sites as excluded from Copilot search while keeping them accessible in SharePoint itself.
Restrict Copilot’s Access to SharePoint Sites via SACS
Exclude sensitive SharePoint sites from the Microsoft 365 Copilot semantic index so their content is not surfaced in Copilot responses, while keeping the site accessible to authorised users in SharePoint.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # Exclude a sensitive site from Copilot semantic index Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/ConfidentialLegal" ` -IsDataAccessRestricted $true Write-Host "Site excluded from Copilot semantic index." # Get all sites currently restricted from Copilot Get-SPOSite -Limit All | Where-Object {$_.IsDataAccessRestricted -eq $true} | Select-Object Url,Title | Format-Table -AutoSize # Pre-rollout sharing audit: sites with external sharing enabled Get-SPOSite -Limit All | Where-Object {$_.SharingCapability -ne "Disabled"} | Select-Object Url,Title,SharingCapability,StorageUsageCurrent | Export-Csv -Path "SiteSharingAudit.csv" -NoTypeInformation
🤖 Module 7: Copilot Studio
Microsoft Copilot Studio (copilotstudio.microsoft.com) is the low-code platform for building custom AI agents — declarative agents that can be embedded in Microsoft 365 Copilot, deployed as standalone bots in Teams, or published to websites. It replaces the older Power Virtual Agents product.
Copilot Studio Agent Types
| Agent Type | What It Does | Where It Runs |
|---|---|---|
| Declarative agent | Custom Copilot that focuses on specific data sources (SharePoint sites, Graph connectors) or follows specific instructions — sits within Microsoft 365 Copilot experience | Within Microsoft 365 Copilot Chat; Teams |
| Custom engine agent | Full agent built with your own AI logic, LLM, and orchestration — Copilot Studio provides the channel and UX | Teams, websites, Direct Line API, custom channels |
| Classic chatbot (legacy) | Rule-based or PVA-style conversation tree — predecessor to modern agents | Teams, websites — migrating to new agent architecture |
💡 Governing Copilot Studio Agents in Your Tenant
Admins control which Copilot Studio agents are available to users via the M365 Admin Center → Copilot → Agents blade. You can: (1) block all user-created agents from being shared in the tenant, (2) require admin approval before agents are published to Microsoft 365 Copilot, or (3) allow specific pre-approved agents only. Copilot Studio is licensed separately from Microsoft 365 Copilot — it requires a Copilot Studio per-user or per-message (capacity) licence to build agents, but users can use published agents within Microsoft 365 Copilot without a Copilot Studio licence.
📊 Module 8: Agents & Extensions
Microsoft 365 Copilot can be extended with first-party Microsoft agents, third-party agents from the M365 app marketplace, and custom agents built in Copilot Studio. Graph connectors bring external data into the M365 semantic index, making it available to Copilot alongside native M365 content.
Agent & Extension Types
| Type | Examples | Admin Management |
|---|---|---|
| First-party Microsoft agents | Copilot in SharePoint, Teams Phone Agent, Researcher, Analyst, Interpreter | M365 Admin Center → Copilot → Agents → Manage agents |
| Third-party Copilot agents | ServiceNow Copilot, Salesforce agent, Jira Copilot (from Microsoft 365 app store) | M365 Admin Center → Copilot → Agents → Block/allow specific agents |
| Microsoft Graph connectors | Confluence, ServiceNow, Salesforce, Azure DevOps, Jira, enterprise search connectors | M365 Admin Center → Settings → Search & Intelligence → Data sources |
| API plugins | Custom connectors that give Copilot access to external REST APIs during conversations | Deployed by developer; admin approves via app consent or admin consent workflow |
📊 Module 9: Adoption & Usage Analytics
The Microsoft Copilot Dashboard (available in Viva Insights and the Microsoft 365 Admin Center) is the primary tool for measuring Copilot adoption — tracking active users, per-app usage rates, and self-reported productivity sentiment from users who respond to Copilot usage surveys.
Copilot Adoption Maturity Model
| Stage | Description | Key Admin Actions |
|---|---|---|
| 1. Enabled | Licences assigned, users can access Copilot — adoption may be zero | Assign licences; verify prerequisites; deploy to pilot group |
| 2. Onboarded | Users have received training and are actively trying Copilot in daily work | Run onboarding campaigns; assign Copilot Champions; share scenario cards |
| 3. Integrated | Users regularly use Copilot as part of workflows — habit formed in key apps | Monitor Copilot Dashboard for app-specific usage; identify low-usage apps and run targeted training |
| 4. Optimised | Teams have built custom agents and workflows; measurable productivity impact | Enable Copilot Studio for power users; connect Graph connectors for key business data; measure ROI |
🔒 Module 10: Information Protection & Copilot
Microsoft Purview information protection capabilities apply to Copilot interactions — ensuring that sensitive data is protected when users interact with AI. Sensitivity labels applied to files are honoured by Copilot — Copilot will label outputs based on the most restrictive label of the source content referenced.
Audit Copilot Interactions in the Microsoft Purview Audit Log
Search the unified audit log for Microsoft 365 Copilot interaction events to investigate specific Copilot usage, detect potential data exposure, and support compliance investigations.
Connect-IPPSSession -UserPrincipalName admin@contoso.com # Search audit log for all Copilot interaction events (last 7 days) Search-UnifiedAuditLog ` -StartDate (Get-Date).AddDays(-7) ` -EndDate (Get-Date) ` -RecordType CopilotInteraction ` -ResultSize 5000 | Export-Csv -Path "CopilotAuditLog.csv" -NoTypeInformation Write-Host "Copilot audit log exported." # Count Copilot interactions per user (last 30 days) Search-UnifiedAuditLog ` -StartDate (Get-Date).AddDays(-30) ` -EndDate (Get-Date) ` -RecordType CopilotInteraction ` -ResultSize 5000 | Group-Object UserIds | Select-Object Name,Count | Sort-Object Count -Descending | Format-Table -AutoSize
🧠 Module 11: Purview AI Hub & Data Security Posture
The Microsoft Purview AI Hub (purview.microsoft.com → AI Hub) provides a dedicated dashboard for monitoring and governing AI-related data risks in your tenant — specifically focused on Microsoft 365 Copilot and Azure OpenAI Service usage.
AI Hub Key Capabilities
| Capability | What It Shows | Admin Action |
|---|---|---|
| Sensitive data in Copilot prompts | Number of Copilot interactions where users submitted sensitive data (credit cards, SSNs, etc.) in prompts | Create DLP policies scoped to Copilot to warn or block sensitive data submission |
| Overshared files accessible to Copilot | Files that Copilot can access (and surface in responses) that have overly broad permissions — shared with “Everyone” or very large groups | Review and restrict permissions on flagged files; use SACS to exclude over-shared sites |
| Sensitivity label coverage | Percentage of content accessible to Copilot users that has a sensitivity label applied — unlabelled content has no protection if surfaced by Copilot | Deploy auto-labeling policies to increase label coverage before full Copilot rollout |
| DSPM recommendations | Data Security Posture Management recommendations for improving AI data security — ranked by risk impact | Action each recommendation systematically — highest-impact items first |
🎓 Module 12: Certification & Readiness Alignment
Deploy and Manage a Microsoft 365 Tenant
Copilot licensing assignment, prerequisite verification, app update channel requirements (Current Channel for M365 Apps), Copilot admin settings in M365 Admin Center — Modules 1, 2
Manage Security and Threats
SharePoint SACS restrictions, Copilot data access model (permissions-bounded), oversharing remediation before rollout — Modules 3, 6
Manage Compliance
Sensitivity labels in Copilot outputs, DLP for Copilot interactions, Copilot audit log search, AI Hub DSPM — Modules 10, 11
Implement and Manage Identity and Access
Copilot respects existing permissions (no privilege escalation), Information Barriers and Copilot, agent governance and approval workflows — Modules 3, 8
✅ Copilot Admin Best Practices Checklist
- Before rollout: Run the Purview AI Hub oversharing report; remediate any sites with “Everyone” or very broad access that contain sensitive content
- Before rollout: Verify Microsoft 365 Apps are on Current Channel (not Monthly Enterprise or Semi-Annual) for all Copilot users; Copilot requires recent app versions
- During rollout: Start with a pilot group of 100–300 users who are enthusiastic; measure usage weekly via the Copilot Dashboard
- During rollout: Assign Copilot Champions in each department — peer-led adoption is significantly more effective than top-down mandates
- Ongoing governance: Enable Copilot audit logging and review monthly; set up alerts for DLP policy matches in Copilot interactions
- Ongoing governance: Use SACS (
IsDataAccessRestricted) to exclude sites containing highly sensitive content that should never be surfaced by Copilot - Agent governance: Configure admin approval requirement for Copilot Studio agents before they can be shared in the tenant; review and approve agents quarterly
- For regulated industries: Enable sensitivity label inheritance in Copilot outputs — ensure Copilot-generated content inherits the highest label from source materials
📚 References
- 🔗 Microsoft 365 Copilot Overview — Microsoft Learn
- 🔗 Copilot Data Privacy & Security — Microsoft Learn
- 🔗 Adopt Microsoft 365 Copilot — Microsoft Learn
- 🔗 Microsoft Copilot Studio — copilotstudio.microsoft.com
- 🔗 Microsoft 365 Admin Center → Copilot — admin.microsoft.com