When a user in a multi-geo tenant cannot sign in to Microsoft Teams or sees a provisioning error, the Teams provisioning request may be stuck in the queue. This problem usually appears after a user is moved between geographies or when the Teams service fails to process a new user. The root cause is often a mismatch between the user’s preferred data location and the Teams provisioning service. This article explains why the request gets stuck and provides step-by-step fixes for admins.
Key Takeaways: Fixing Stuck Teams Provisioning Requests in Multi-Geo
- Teams admin center > Users > Manage users > Policies: Check the effective Teams policy assignments that can block provisioning.
- PowerShell cmdlet Set-SPOTenant -PreferredDataLocation: Correct the user’s preferred data location to match the geo where Teams should be provisioned.
- Teams admin center > Org-wide settings > Teams settings: Ensure that the Teams service is enabled for the affected user.
Why Teams Provisioning Gets Stuck in a Multi-Geo Tenant
In a multi-geo tenant, each user has a preferred data location that determines which satellite geography stores their data. Teams provisioning is tied to this location. When you move a user from one geo to another, the Teams service must reprovision the user in the new location. If the preferred data location is not updated correctly or if the Teams service does not receive the change, the provisioning request can remain in a pending state.
Another cause is a licensing delay. Teams requires an active license that includes the Teams service plan. If the license is assigned after the user is created, the provisioning request may not trigger. Also, if the user was previously in a different geo and the old provisioning request is still queued, the new request may be blocked.
The Teams provisioning service runs as a background job. It checks the user’s preferred data location and the license status. If either value is inconsistent, the job fails silently and the request stays in the queue. This is why the user sees no Teams app in the Microsoft 365 portal or gets an error when launching Teams.
Steps to Diagnose and Fix the Stuck Provisioning Request
Before you start, you need the following permissions:
- Global Administrator or Teams Administrator role in Microsoft 365
- Access to the Microsoft Teams PowerShell module
- Access to the SharePoint Online PowerShell module
- Verify the user’s license includes Teams
Sign in to the Microsoft 365 admin center at admin.microsoft.com. Go to Users > Active users. Select the affected user and open the Licenses and apps tab. Confirm that the Teams service plan is enabled. If not, assign a license that includes Teams or enable the Teams plan. - Check the user’s preferred data location
Use SharePoint Online PowerShell. Run the commandGet-SPOTenant -PreferredDataLocationto see the tenant’s default. Then runGet-SPOTenantUser -LoginName user@domain.com | Select PreferredDataLocationto see the user’s value. If the location is blank or incorrect, update it withSet-SPOTenantUser -LoginName user@domain.com -PreferredDataLocation "Europe". Replace Europe with the correct geo code. - Wait for the geo move to complete
If you just moved the user, the geo move can take up to 24 hours. During this time, the provisioning request may be stuck. Wait 24 hours and then check if Teams appears for the user. - Force a new provisioning request
Connect to Teams PowerShell withConnect-MicrosoftTeams. Then runSet-MultiGeoUser -UserPrincipalName user@domain.com -PreferredDataLocation "Europe". This command triggers a new provisioning request. Wait 30 minutes and check the user’s Teams status. - Clear the stuck request manually
If the request is still stuck, use the Teams admin center. Go to Users > Manage users. Select the user and click Edit. Change the Teams setting to Off, save, then change it back to On. This resets the provisioning job. - Verify the Teams service health
Go to the Microsoft 365 admin center > Health > Service health. Look for Teams advisories. If there is an active incident, wait for it to be resolved before retrying.
If Teams Still Has Issues After the Main Fix
Teams shows “Provisioning in Progress” for more than 24 hours
This usually means the preferred data location is not set correctly. Use the SharePoint Online PowerShell command from step 2 to verify. If the location is correct, open a support ticket with Microsoft and mention the user’s UPN and the geo code.
User can sign in but sees no Teams app in the app launcher
This happens when the Teams license is assigned but the provisioning job has not run. Try step 5 to toggle the Teams setting off and on. This forces the job to run again.
Teams works in the web client but not the desktop app
The provisioning issue is resolved, but the desktop app may be using cached credentials. Have the user sign out of Teams, close the app, and sign in again. If that fails, clear the Teams cache at %appdata%\Microsoft\Teams.
Teams Provisioning in Multi-Geo: Key Differences Between Manual and Automatic Fixes
| Item | Manual Fix | Automatic Fix |
|---|---|---|
| Description | Admin runs PowerShell commands or toggles settings | Teams service reprovisions after geo move completes |
| Time to fix | 30 minutes to 2 hours | Up to 24 hours |
| Requires admin action | Yes | No |
| Risk of error | Low if commands are correct | None, but wait time is long |
The manual fix gives you immediate control. The automatic fix is ideal if you can wait. Use the manual fix when the user needs Teams right away.
After applying the fixes, the user should be able to sign in to Teams within 30 minutes. If the problem persists, open a support ticket with Microsoft and include the user’s UPN and the exact error message. You can also check the Teams admin center for any policy conflicts. A useful next step is to review the Teams service health for any ongoing incidents. For advanced troubleshooting, use the Get-MultiGeoUser cmdlet to confirm the preferred data location is applied correctly.