PLATFORM · DESTINATION
Google Chat Migration Tool
MigrationFox migrates Microsoft Teams channels, messages, message-attached files, and the channel's full document library into Google Chat — with files landing in a dedicated Shared Drive owned by your organization. The current source path is Teams; additional source platforms are on the roadmap as customer demand surfaces.
What Gets Migrated
- Channels → Spaces — each Teams channel becomes a Google Chat space, named
<TeamName> — <ChannelName>so multi-team migrations stay organized - Messages — text body with original Teams sender name and timestamp shown in a header quote block above each message
- Threaded replies — reply chains preserved under their parent message
- Message attachments — files attached inline to Teams messages are staged to a Shared Drive and referenced from the destination Chat message as attachment cards
- Channel document library — the channel's "Files" tab (backed by SharePoint) migrates in parallel via a companion SharePoint to Google Drive job that targets the same Shared Drive
- HTML formatting — bold becomes
*bold*, italic becomes_italic_, line breaks preserved - User mapping — CSV bulk mapping (
sourceEmail, destEmail) plus auto-detection by email between Entra ID and Google Workspace
The Shared Drive Pattern
Files do not land in the impersonation user's personal Drive. MigrationFox provisions a dedicated Shared Drive (named MigrationFox - <TeamName>) at migration start, then organizes files into per-channel folders. This matters for three reasons:
- Organizational ownership — Shared Drives are owned by the org, not an individual. Files survive admin account churn.
- 5 TB per-file ceiling — via the Drive API, instead of the 200 MB cap that the Chat media upload endpoint enforces.
- Domain-wide access — the Shared Drive is automatically granted domain-read permission so every Google Workspace user in your domain can preview migrated files via the attachment cards without per-file ACL setup.
What Doesn't Migrate
A few Teams concepts don't have direct equivalents in Google Chat:
- Emoji reactions — different reaction sets
- Teams tabs — pinned SharePoint pages, Forms, websites have no Chat equivalent
- System event messages — channel renames, user joined/left, app installed are skipped to keep destination spaces clean
- @mentions as live mentions — preserved as plain text in the message body but not converted into Google Chat user mentions
- Private 1:1 chats — Google Chat's DM model differs from Teams private chat
Prerequisites
Google Chat migrations require four Google Workspace setup steps before connecting. The wizard shows these inline with deep links, but the high level is:
- Service Account JSON — create in Google Cloud Console
- Domain-Wide Delegation — grant in Google Admin with three Chat scopes plus two Drive scopes (file staging uses the same service account)
- Chat API enabled — in the Cloud project's API Library
- Chat app configured — in the Chat API Configuration tab
Full walkthrough with screenshots is in the Google Chat setup article.
Key Features
- Coordinated two-job architecture — chat job for messages, companion file job for the document library, both targeting the same Shared Drive
- Idempotent file mapping — the
chat_file_mappingstable tracks each source file's destination Drive ID, so retry and resume never re-upload - CSV user mapping — bulk-map up to 10,000 user pairs with row-level validation
- Resume after pause — pause/resume preserves message counts and file IDs; resuming never starts from zero
- Domain Drive access — destination Shared Drive auto-granted domain-wide read access for seamless attachment-card preview
- Honest skip reasons — system events, tab references, and reactions show up in the skip log with clear codes rather than being silently dropped
Migration Path
Full step-by-step walkthrough: Teams to Google Chat migration guide.
Pricing
Google Chat migrations are billed at $0.50 per GB of file data transferred (message attachments + channel document library). Messages themselves don't count against your quota. Your account starts with 2 GB free — no credit card required.