When Copilot in Microsoft 365 cannot find recent emails, calendar events, or attachments from a specific mailbox, the service may be using stale indexing data. This happens when the underlying Microsoft Graph indexing for that mailbox has not refreshed after a large data import, mailbox migration, or permission change. This article explains how to trigger a re-indexing request for a single mailbox so Copilot can access the correct content. You will learn the exact steps to submit a re-indexing command using Exchange Online PowerShell and verify the result.
Key Takeaways: Force a Copilot Re-Index for a Single Mailbox
- Exchange Online PowerShell cmdlet Start-MailboxAssistant: Triggers the Mailbox Assistant to process a re-index request for a specified mailbox.
- Copilot Admin Center > Sources > Graph Connectors: Shows the indexing status of connected data sources, including mailboxes.
- Parameter -IndexOnly: Tells the Mailbox Assistant to re-index the mailbox without running other maintenance tasks.
Why Copilot Cannot Find Mailbox Content
Copilot relies on the Microsoft Graph indexing service to retrieve content from Exchange Online mailboxes. When a mailbox is first provisioned or after a migration, the indexing service builds a searchable index of all items. If the index becomes stale or incomplete, Copilot returns no results or outdated responses for queries about that mailbox.
The index is maintained by the Exchange Online Mailbox Assistant, a background process that runs on a schedule. By default, the assistant re-indexes mailboxes approximately every 24 to 48 hours. However, after bulk data imports, mailbox moves, or large permission changes, the assistant may not detect the change quickly enough. In those cases, you must force a re-index manually.
What the Re-Indexing Request Does
The re-indexing request sends a command to the Mailbox Assistant to rebuild the search index for a single mailbox. This does not affect other mailboxes or services. The process runs in the background and typically completes within 15 to 60 minutes, depending on the mailbox size and the number of items.
Prerequisites for Forcing a Re-Index
- Exchange Online PowerShell module: You must have the Exchange Online PowerShell V2 module installed. Install it with
Install-Module -Name ExchangeOnlineManagementin an elevated PowerShell window. - Administrator role: You need the Exchange Administrator role or a custom role that includes the
Start-MailboxAssistantcmdlet. - Mailbox identity: Know the User Principal Name or GUID of the target mailbox.
Steps to Force a Copilot Service Re-Indexing for a Mailbox
- Connect to Exchange Online PowerShell
Open Windows PowerShell as an administrator. RunConnect-ExchangeOnline -UserPrincipalName admin@yourdomain.com. Sign in with an account that has Exchange Administrator privileges. - Verify the mailbox exists and is active
RunGet-Mailbox -Identity user@yourdomain.com | fl RecipientTypeDetails, IsDisabled. Confirm thatRecipientTypeDetailsshowsUserMailboxandIsDisabledisFalse. - Run the re-index command
ExecuteStart-MailboxAssistant -Identity user@yourdomain.com -IndexOnly. The-IndexOnlyparameter tells the assistant to rebuild only the search index and skip other tasks like retention processing. - Check the command output
The cmdlet returns a confirmation message:Mailbox assistant started for mailbox user@yourdomain.com with operation IndexOnly. If you see an error, verify the mailbox identity and your permissions. - Monitor the indexing status in the Copilot Admin Center
Go to Microsoft 365 Admin Center > Copilot > Sources > Graph Connectors. Find the mailbox entry and check the Last Sync column. The value updates after the re-index completes. - Test Copilot response after the index refreshes
Wait at least 15 minutes. In Copilot in Outlook, ask a question about a recent email from the target mailbox. For example: Find the email from John about the budget report. If Copilot returns the correct email, the re-index succeeded.
If the Re-Index Request Does Not Complete
Copilot Still Returns No Results After Re-Indexing
If the index refresh does not resolve the issue, check the mailbox permissions. Copilot can only index items that the user has at least Read access to. Verify that the user’s mailbox permissions allow Copilot to read the content. In Exchange Online, run Get-MailboxFolderStatistics -Identity user@yourdomain.com -FolderScope All | Select Name, ItemsInFolder to confirm the mailbox contains items.
Re-Index Command Fails with a Permission Error
The Start-MailboxAssistant cmdlet requires the Exchange Administrator role. If you receive an access denied error, ask your Global Administrator to assign the Exchange Administrator role to your account. After the role is assigned, disconnect and reconnect to Exchange Online PowerShell.
Mailbox Has a Large Number of Items and the Index Takes Hours
Mailboxes with more than 500,000 items may take several hours to re-index. During this time, Copilot may return partial results. You can check the indexing progress by running Get-MailboxAssistant -Identity user@yourdomain.com. The LastSuccessfulIndexTime property shows when the last index was built. If the value is older than 24 hours, the re-index is still running.
Start-MailboxAssistant vs Manual Rebuild in Outlook: Key Differences
| Item | Start-MailboxAssistant -IndexOnly | Manual Rebuild in Outlook |
|---|---|---|
| Scope | Single mailbox on the server side | Local Outlook OST file only |
| Effect on Copilot | Updates the Microsoft Graph index used by Copilot | No effect on Copilot indexing |
| Administrator requirement | Yes, Exchange Administrator role needed | No, any user can do it |
| Completion time | 15 to 60 minutes for most mailboxes | Minutes to hours depending on mailbox size |
| Persistence | Index persists on the server | Index is rebuilt each time Outlook opens |
For Copilot to recognize new or changed mailbox content, you must use the server-side Start-MailboxAssistant method. The local Outlook rebuild only affects the client-side search experience.
Now you can force a Copilot service re-index for any mailbox in your tenant. Use the Start-MailboxAssistant -Identity user@domain.com -IndexOnly command to trigger the process. Monitor the Copilot Admin Center for the updated sync time. If the re-index does not resolve the issue, check mailbox permissions and item count. For mailboxes with over 500,000 items, allow up to 4 hours for the index to complete.