How to Force a Copilot Service Re-Indexing for a Mailbox
🔍 WiseChecker

How to Force a Copilot Service Re-Indexing for a Mailbox

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 ExchangeOnlineManagement in an elevated PowerShell window.
  • Administrator role: You need the Exchange Administrator role or a custom role that includes the Start-MailboxAssistant cmdlet.
  • Mailbox identity: Know the User Principal Name or GUID of the target mailbox.

Steps to Force a Copilot Service Re-Indexing for a Mailbox

  1. Connect to Exchange Online PowerShell
    Open Windows PowerShell as an administrator. Run Connect-ExchangeOnline -UserPrincipalName admin@yourdomain.com. Sign in with an account that has Exchange Administrator privileges.
  2. Verify the mailbox exists and is active
    Run Get-Mailbox -Identity user@yourdomain.com | fl RecipientTypeDetails, IsDisabled. Confirm that RecipientTypeDetails shows UserMailbox and IsDisabled is False.
  3. Run the re-index command
    Execute Start-MailboxAssistant -Identity user@yourdomain.com -IndexOnly. The -IndexOnly parameter tells the assistant to rebuild only the search index and skip other tasks like retention processing.
  4. 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.
  5. 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.
  6. 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.