Finance teams need to track Copilot adoption and usage to manage licensing costs and measure return on investment. Without exportable data, you cannot analyze per-user activity or identify unused licenses. Microsoft provides two official methods to export Copilot usage data: the Microsoft 365 admin center reports and the Microsoft Graph API. This article explains how to use both methods to get the raw data your finance department requires.
Key Takeaways: Exporting Copilot Usage Data
- Microsoft 365 admin center > Reports > Usage > Copilot for Microsoft 365: Provides a prebuilt table of active users and actions that can be exported as a CSV file.
- Microsoft Graph API > reports > getCopilotUsageDetail: Lets you programmatically export detailed per-user data for custom finance reports and dashboards.
- Export filters and date ranges: Both methods allow you to select a date range and filter by user or activity type before downloading.
What the Finance Department Needs from Copilot Usage Data
Copilot usage data for finance includes the number of active users, total Copilot actions performed, and the breakdown of actions per Microsoft 365 app. This data helps finance teams calculate cost per active user, identify underutilized licenses, and forecast future licensing needs. The data is available from two sources: the prebuilt admin center report and the raw telemetry accessible via the Graph API. Both sources cover Copilot in Word, Excel, PowerPoint, Outlook, Teams, and Loop. The admin center report is suitable for quick monthly reviews. The Graph API is required for custom integration with finance systems like Power BI or ERP platforms.
Data Fields Available in the Copilot Usage Report
The exported CSV from the admin center includes these fields: Report Refresh Date, User Principal Name, Last Activity Date, Total Copilot Actions, Actions in Word, Actions in Excel, Actions in PowerPoint, Actions in Outlook, Actions in Teams, and Actions in Loop. The Graph API returns the same fields plus the user’s display name and the license SKU. Finance teams can use the Total Copilot Actions field to calculate average actions per user per month.
How to Export Copilot Usage Data from the Admin Center
The admin center method does not require any coding. You select a date range, view the report, and download a CSV file. Follow these steps exactly.
- Sign in to the Microsoft 365 admin center
Go to admin.microsoft.com and sign in with an account that has the Global Admin or Reports Reader role. - Navigate to the Usage reports
In the left navigation pane, select Reports and then select Usage. - Select the Copilot report
Scroll down the list of reports and click Copilot for Microsoft 365. The report loads a table showing user activity for the last 7 days by default. - Set the date range
Click the date range filter at the top of the report. Choose a custom range that matches your finance reporting period, such as the last 30 days or a specific calendar month. - Export the data
Click the Export button located above the table. The browser downloads a CSV file named CopilotUsageDetail.csv. - Open the CSV file
Open the downloaded file in Excel or a text editor. The file contains one row per user with all the data fields described earlier.
How to Export Copilot Usage Data Using the Microsoft Graph API
The Graph API method is necessary if you need to automate exports, combine data from multiple tenants, or import directly into a finance dashboard. You must have an app registration in Azure AD with the correct permissions. The steps below assume you have basic familiarity with PowerShell and Azure AD app registrations.
Prerequisites for the Graph API Method
Before running the script, prepare these items:
- An Azure AD app registration with the Reports.Read.All application permission granted and admin consent provided.
- A client secret or certificate for authentication.
- PowerShell 7 or later with the Microsoft Graph PowerShell SDK installed. Install it by running
Install-Module Microsoft.Graph -Scope CurrentUser.
Run the PowerShell Export Script
- Open PowerShell as an administrator
Press the Windows key, type PowerShell, right-click Windows PowerShell, and select Run as administrator. - Connect to Microsoft Graph
Run the following command, replacingYOUR_TENANT_ID,YOUR_CLIENT_ID, andYOUR_CLIENT_SECRETwith your actual values:Connect-MgGraph -TenantId "YOUR_TENANT_ID" -ClientId "YOUR_CLIENT_ID" -ClientSecret (ConvertTo-SecureString "YOUR_CLIENT_SECRET" -AsPlainText -Force) -NoWelcome - Request the Copilot usage data
Run the following command to get the usage data for the last 30 days:$report = Get-MgReportCopilotUsageDetail -Period "D30"The
D30parameter requests data for the last 30 days. You can also useD7orD90. - Export the data to a CSV file
Run the following command to save the data to a file on your desktop:$report | Export-Csv -Path "$env:USERPROFILE\Desktop\CopilotUsageGraph.csv" -NoTypeInformation - Verify the exported file
Open the file CopilotUsageGraph.csv on your desktop. It contains the same fields as the admin center export plus the display name and license SKU.
Common Problems When Exporting Copilot Usage Data
The Export Button Is Grayed Out or Missing
This happens when the signed-in account lacks the Reports Reader role or the Usage Summary Reports role. Ask your Global Admin to assign the Reports Reader role to your account in the Microsoft 365 admin center under Roles > Role assignments.
The Graph API Returns an Access Denied Error
The app registration must have the Reports.Read.All application permission, not the delegated permission. Delegated permission requires a signed-in user and often fails in automated scripts. Go to your Azure AD app registration, select API permissions, add Reports.Read.All under Application permissions, and click Grant admin consent.
The CSV File Contains Zero Rows
Zero rows indicate that no users were active in the selected date range. Verify that at least one user in your tenant has a Copilot for Microsoft 365 license assigned and has used Copilot within the date range. Also confirm that the date range uses the correct format. For the admin center, use the date picker. For the Graph API, use D7, D30, or D90.
Admin Center Export vs Graph API Export: Key Differences
| Item | Admin Center Export | Graph API Export |
|---|---|---|
| Skill level required | None | PowerShell and Azure AD app registration |
| Data fields | 11 fields including user principal name and per-app actions | Same 11 fields plus display name and license SKU |
| Automation possible | No | Yes, via scheduled scripts |
| Date range options | Custom date picker | D7, D30, D90 only |
| Best for | One-time or monthly manual exports for finance review | Recurring exports for Power BI dashboards or ERP integration |
You can now export Copilot usage data using either the admin center report or the Graph API. Start with the admin center export for a quick monthly finance review. If you need recurring automated exports, set up the Graph API script and schedule it with Windows Task Scheduler. For advanced analysis, import the CSV into Power BI and use the license SKU field to calculate cost per active user per app.