MIGRATION GUIDE
Migrate Microsoft Teams to Google Chat
Switching from Microsoft 365 to Google Workspace? MigrationFox moves Teams channels, messages, message attachments, and the channel's document library into Google Chat — preserving conversation history and channel structure. Files land in a dedicated Shared Drive owned by your organization, not anyone's personal Drive.
Why Migrate Teams to Google Chat?
Organizations consolidating on Google Workspace typically retire Microsoft Teams to align with the rest of their stack. Google Chat is included with every Workspace business plan and integrates natively with Gmail, Drive, Calendar, and Meet.
- Included with existing Google Workspace licenses — no separate Teams bill
- Native integration with Gmail, Drive, and Calendar
- Unified identity in Google Workspace directory
- Reduces M365 license count when leaving Microsoft 365
What Gets Migrated
- Channels — each Teams channel becomes a Google Chat space, prefixed with the source team name (e.g.
Marketing — General) so multi-team migrations stay distinguishable - Messages — text content migrated with original sender name and timestamp shown in a header quote block above each message
- Message attachments — files attached inline to messages are uploaded to a Shared Drive and referenced from the migrated Chat message as attachment cards (rendered via Drive's preview)
- Channel files — the channel's full document library (the "Files" tab in Teams, backed by SharePoint) migrates in parallel via a companion SharePoint to Google Drive job
- HTML formatting — converted to Chat's plain-text-with-emphasis format (bold becomes
*bold*, italic becomes_italic_) - User mapping — CSV bulk mapping plus auto-detection by email between Entra ID and Google Workspace
What Doesn't Get Migrated
A few Teams features don't have direct equivalents in Google Chat and are intentionally skipped:
- Emoji reactions — different reaction sets between the two platforms
- Teams tabs — pinned SharePoint pages, Forms, websites have no Chat equivalent
- System event messages — "user joined", "channel renamed", "app installed" notifications are skipped to keep the destination clean
- @mentions as live mentions — preserved as plain text in the message body but not converted to Google Chat user mentions
- Private 1:1 chats — not migrated (Google Chat's DM model differs from Teams private chat)
The Two-Job Architecture
MigrationFox spawns two coordinated jobs for a Teams to Google Chat migration:
- Chat migration job — walks Teams channels, creates Google Chat spaces, migrates messages, and stages message-attached files. This job creates the destination Shared Drive and renders attachment cards in the migrated Chat messages.
- Companion file job — auto-spawned alongside the chat job. Migrates the channel's SharePoint document library (the "Files" tab content) into the same Shared Drive under per-channel folders. Uses the proven SharePoint to Google Drive pipeline.
Both jobs target the same Shared Drive, so customers see one Drive at the destination with two organized sections: per-channel folders for the document library, and inline-attachment folders for files referenced in messages.
Step-by-Step: How to Migrate
Step 1 — Sign up for MigrationFox
Create an account at app.migrationfox.com. The first 2 GB of file attachments are free with no credit card required.
Step 2 — Prepare Google Workspace (4 prerequisites)
Google Chat migrations require a service account with domain-wide delegation. The Chat Migration wizard shows these inline before you connect, but the steps are:
- Create a service account in Google Cloud Console and download the JSON key
- Grant domain-wide delegation in Google Admin with three Chat scopes (
chat.import,chat.spaces,chat.messages) plus Drive scopes for file staging - Enable the Chat API in your Cloud project
- Configure your Chat app in the Chat API Configuration tab
The wizard walks you through each step with deep links. Full instructions are in the Google Chat setup article.
Step 3 — Connect Microsoft Teams
Go to Connections → New → Microsoft Teams and sign in as a Global Admin. Grant the Graph API permissions for ChannelMessage.Read.All, Files.Read.All, Sites.Read.All, and Team.ReadBasic.All so MigrationFox can read messages, channel files, and the team's SharePoint document library.
Step 4 — Connect Google Workspace
Upload the service account JSON file from Step 2. MigrationFox validates it can mint impersonated tokens for both the Chat API and Drive API. A single service account credential covers both surfaces because Drive scopes ride alongside Chat scopes in the domain-wide delegation grant.
Step 5 — Create the migration
Start a new Chat Migration. Pick your source team, select channels, and choose the impersonation user (the Google Workspace user the migration acts as). Optionally upload a CSV file mapping Teams user emails to Google Workspace emails for bulk user mapping.
Step 6 — Run the migration
MigrationFox creates the destination Chat spaces (prefixed with the team name), migrates messages with attachment cards, and provisions the Shared Drive. The companion file job spawns automatically and starts uploading the channel document library in parallel. Both jobs surface live progress in the dashboard.
What the destination looks like
After migration completes:
- Google Chat sidebar — new spaces appear named
<TeamName> — <ChannelName> - Each space — contains the migrated messages in chronological order. Each message has a header quote showing the original Teams sender + timestamp, followed by the message body. Files attached to messages appear as Drive attachment cards.
- Google Drive — a new Shared Drive named
MigrationFox - <TeamName>contains a folder per channel. Each folder holds the channel's document library files plus message attachments. - Domain access — the Shared Drive is granted domain-wide read access automatically so every Google Workspace user in your domain can preview migrated files via the Chat attachment cards without per-file ACL setup.
Pricing
Teams to Google Chat migrations are billed at $0.50 per GB of file data transferred (message attachments + channel document library files). Messages themselves don't count against your quota. Every account starts with 2 GB free — no credit card required. Discovery scans are always free.
Frequently Asked Questions
Do channel files migrate too, or only chat messages?
Both. Inline message attachments and the channel's broader document library both migrate — via two coordinated jobs that target the same Shared Drive. Files referenced in messages render as attachment cards on the destination Chat message; files from the document library land in per-channel folders for browsing.
Are original sender names and timestamps preserved?
The original Teams sender name and timestamp are preserved in a quote-block header above each message body. Google Chat's API doesn't allow third-party apps to post as other users, so the actual destination author is the Google Workspace service account — but the header text makes original attribution visible to anyone reading the migrated channel.
Where do channel files land at the destination?
In a new Shared Drive named MigrationFox - <TeamName>, organized into per-channel folders. Shared Drive ownership means files survive admin account churn — they don't disappear if the impersonation user leaves the org.
What about emoji reactions, Teams tabs, and @mentions?
Reactions and Teams tabs (pinned SharePoint pages, Forms, websites) are skipped — neither has a clean Google Chat equivalent. @mentions are preserved as plain text in the message body but not converted to live Chat mentions. System messages (joined, renamed, app added) are skipped to keep the destination clean.
Can I map Teams users to Google Workspace users in bulk?
Yes. The Chat Migration wizard step for users accepts a CSV upload with columns sourceEmail, destEmail (plus optional display names). MigrationFox merges CSV mappings with auto-detected email matches, then shows applied / added / skipped counts before you commit.
How long does a typical migration take?
Message migration runs at roughly 50–100 messages per second per channel after the channel's destination space is provisioned (one-time cost: ~2 seconds per space). A 10-channel team with 5,000 messages and 20 GB of files typically completes within 1–2 hours. Larger migrations scale linearly with file volume.