After migrating your organization to a new Microsoft 365 tenant, you may notice that channel posts in Teams have disappeared. This problem usually appears when the migration tool did not copy the underlying SharePoint site data that stores channel messages. In this article, you will learn why posts go missing, how to verify the migration, and the exact steps to recover or restore the content.
The root cause is that Teams channel posts are stored in a SharePoint site collection, not in the Teams service itself. When you migrate mailboxes and OneDrive but skip the SharePoint sites, the posts vanish because the data was never moved. This guide walks you through checking the migration logs, restoring the missing site, and confirming that posts appear again.
Key Takeaways: Recover Missing Teams Channel Posts After a Tenant Migration
- Teams admin center > Teams > Manage teams > Channels: Check the channel list to identify which teams have missing posts.
- SharePoint admin center > Active sites: Verify that the team’s SharePoint site exists and contains the messages folder.
- Migration tool logs: Review the log files to see if the SharePoint site was included in the migration job.
- PowerShell command Get-SPOSite: Confirm the site collection URL and its status in the new tenant.
Why Channel Posts Disappear After a Tenant Migration
Teams channel posts are not stored in the Teams application database. Each team has an associated SharePoint site collection that holds the channel messages in a hidden folder named TeamsMessagesData. When you migrate to a new tenant, you must move that SharePoint site along with the team. If the migration job only copies user accounts, mailboxes, and OneDrive files, the SharePoint site is left behind, and the posts are lost.
Another common cause is that the migration tool creates a new empty SharePoint site for the team but does not copy the old content. This happens when the site URL changes during the migration, and the tool does not map the old URL to the new one. The result is that the team appears in Teams, but the channel history is empty.
A third cause involves the Teams migration API. If you use the Teams migration API, you must specify the reference to the existing SharePoint site. If you omit this reference, Teams creates a new site with no data. Always check the migration summary report for each team to see whether the SharePoint site was successfully migrated.
What Data Is Stored in the SharePoint Site
The SharePoint site for a team contains not only channel posts but also files shared in channels, meeting recordings, and wiki tabs. The TeamsMessagesData folder stores the message history in JSON format. If this folder is missing, all channel conversations are gone. The site also contains the SitePages library for wiki content and the Shared Documents library for files.
Steps to Diagnose and Restore Missing Channel Posts
Follow these steps in order to identify the cause and restore the posts. You will need access to both the source and destination tenants, plus global admin or SharePoint admin permissions.
- Check the channel list in Teams
Open Teams and go to each team. Select a channel and look at the conversation history. If the messages are missing, note the team name and channel names. This helps you focus the migration check. - Open the SharePoint admin center in the destination tenant
Go to SharePoint admin center > Active sites. Search for the team name. Confirm that the site exists and that the URL matches the expected format. If the site is missing, you need to migrate it manually. - Verify the site contains the TeamsMessagesData folder
In the SharePoint site, go to Site contents. Look for a hidden folder named TeamsMessagesData. If you do not see it, enable hidden files in the library settings. If the folder is absent, the posts were never migrated. - Review the migration tool logs
Open the migration report from your tool, such as SharePoint Migration Tool or a third-party service. Look for the entry for the team’s SharePoint site. The log should show a status of Completed or Success. If it shows Failed or Skipped, the site was not moved. - Use PowerShell to confirm the site status
Install the SharePoint Online Management Shell. RunConnect-SPOService -Url https://yourtenant-admin.sharepoint.com. Then runGet-SPOSite -Identity https://yourtenant.sharepoint.com/sites/TeamSite. Check the Status property. If it returns an error, the site does not exist. - Re-run the migration for the missing SharePoint site
If the site is missing, run the migration again. In SharePoint Migration Tool, create a new job and select the source site. Map it to the correct destination URL. Make sure to include the entire site, not just lists or libraries. - Validate the posts after migration
After the site is moved, go back to Teams. Open the same channel and refresh the view. The posts should appear. If they do not, check the TeamsMessagesData folder again and confirm that the files are present.
If Channel Posts Still Have Issues After the Main Fix
Teams Shows an Empty Channel Even After the Site Is Restored
This can happen if the Teams service cached the old site URL. Close Teams completely and sign out. Then sign back in. If the problem persists, use the Teams admin center to remove the team and re-add it with the correct SharePoint site reference. This is a last resort because it may lose other settings.
Some Channel Posts Are Missing but Others Are Present
This usually means the migration was interrupted. The TeamsMessagesData folder may be partially populated. Re-run the migration for that specific site and use the Merge option to combine the existing content with the new data. Do not use Overwrite because it will delete the current posts.
Files in the Channel Are Missing Too
Files are stored in the Shared Documents library. If files are missing, the site migration did not copy the library. Check the migration log for that library. Re-run the migration and select the entire site again.
New Teams Desktop vs Teams on the Web: Post Visibility Differences
| Item | Teams Desktop App | Teams on the Web |
|---|---|---|
| Post loading | Caches posts locally for faster display | Loads posts directly from SharePoint each time |
| Refresh behavior | May require a manual refresh after migration | Refreshes automatically when you switch channels |
| Cache clearing | You can clear the cache from the app settings | No cache to clear; a browser refresh works |
| Error visibility | Shows a generic error if the site is missing | Shows a more detailed error with the site URL |
After restoring the SharePoint site, use Teams on the web to verify the posts first. The web version does not use a local cache, so you get the most accurate view. Once you confirm the posts are there, restart the desktop app and check again.
You can now recover missing channel posts by checking the SharePoint site and re-running the migration. Start by reviewing the migration logs to confirm the site was included. Then use the SharePoint admin center and PowerShell to verify the site exists. Finally, re-run the migration for any missing sites and validate the posts in Teams on the web.
As a next step, set up a post-migration checklist that includes verifying the TeamsMessagesData folder for every team. Use the SharePoint Migration Tool’s summary report to spot failed sites before users notice the missing content. For advanced control, use the Teams migration API with the correct SharePoint site reference to avoid this issue in future migrations.