← Back to Blog

From Microsoft Teams to Google Chat: what moves into Spaces and what stays behind

  • Chat
  • Admin console
  • Drive
From Microsoft Teams to Google Chat: what moves into Spaces and what stays behind

Say a 30-person design studio is leaving Microsoft 365. Mail has a date, the files have an owner, and then someone asks the question that stalls the plan for a week: what happens to four years of Teams conversation? Most of what that studio ever decided lives in channel threads, not in documents.

The honest answer has two halves, and people are usually wrong about both. Google's data import tool does move Microsoft Teams channel messages into Google Chat spaces, from the Admin console, with no third-party product in the middle. What it does not move is the half everyone assumes is the safe part: the attachments, the reactions, the tables and the code blocks. Knowing where that line falls before you roll anything out is the difference between a quiet Monday and a week of people asking where their file went.

Below is what the import actually produces, what stays behind, and the order we run it in on client projects. Every capability statement here comes from Google's own data migration pages, checked 28 October 2026.

What the import turns into what

Two conversions happen at once, and the second one is the surprise. Channels become spaces, which is what people expect. Chats also become spaces, which is not.

  • A Teams channel becomes a Google Chat space. The space name is built from the team and channel names joined by a hyphen. Google's own example: a channel called General in a team called My team arrives as General-My team.
  • The channel's owner or manager becomes the space manager. If a team had several owners, only one of them becomes manager and the others arrive as ordinary members.
  • One-to-one, group and meeting chats all import as group chats. An imported one-to-one chat is labelled as a direct chat between the two members; a group or meeting chat carries its member list.
  • Existing Google Chat spaces and messages are left alone. The import adds; it does not overwrite what your team has already started in Chat.

Formatting survives in a narrow band: plain text, bold, italics, strikethrough, quotes, hyperlinks and standard emojis. A GIF arrives as a link back to wherever it came from rather than as the image.

In Microsoft TeamsIn Google Chat after the import
Channel and its messagesA space named from the team and the channel, joined by a hyphen
Team owner or channel managerSpace manager, one only; any other owners become members
One-to-one chatA group chat, labelled as a direct chat between the two members
Group or meeting chatA group chat, named from the original group chat name
Bold, italics, strikethrough, quotes, links, standard emojisKept
GIFA hyperlink to the source, not the image
Attachment, reaction, table, code snippet, bot messageNot imported; a table or code snippet leaves placeholder text such as Missing_Table

What stays behind, and what we do about it

Google publishes the exclusion list plainly, which is more than most migration tools manage. Read it once as a list of decisions rather than a list of losses.

  • File attachments. Anything that lived in OneDrive or SharePoint, and anything a person uploaded straight from their computer, is skipped. Pasted pictures and stickers go with them.
  • Reactions. Standard emojis typed inside a message come through. Custom emojis and emoji reactions on a message do not.
  • Tables and code snippets. These leave placeholder text in the imported message. That is actually useful: the placeholder tells you exactly which threads still need the original.
  • Bot and app messages. Anything posted by an app stays in Teams. For most small teams that is build notifications and holiday reminders.
  • Threads over 500 messages. Only 500 replies import. One long running channel thread is the usual casualty.
  • Conversations that reach outside the import. Messages to people outside your organisation or from former employees do not import, and neither does a meeting chat that an external person started.

On a real project we sort that list into two piles. The first is the threads somebody will genuinely reopen: a pricing argument, a client decision, a post-incident write-up. For those we keep the Teams export and point to it, because an imported message without its attachment is half a record. The second pile is everything else, which is most of it, and it goes into the imported space as reading material. Teams that chase a lossless import end up paying a third-party tool to rescue messages nobody reopens.

Teams files were never in Teams

The attachment gap reads like a hole in the tool, and it is not. A file shared in a standard Teams channel is stored in the team's SharePoint site, in the Documents library, inside a folder named after the channel. Private channels and shared channels each get their own separate site with their own permissions. A file sent in a one-to-one or group chat lives in the sender's OneDrive, in a Microsoft Teams Chat Files folder. Teams was always a view over those two stores.

So the files are not a chat problem, they are a file problem, and the file side of the move already covers them: SharePoint site collections become shared drives, document libraries become folders, and OneDrive content lands in the user's My Drive. Run the file import properly and the attachments people care about are in Workspace, simply no longer hanging off the message that mentioned them. We tell clients to expect exactly that before the first batch runs.

The order we run it in, and the 90-day clock

Three things have to be true before anything is worth starting.

  • A Google super administrator on the destination and a Microsoft 365 Global Administrator on the source. Both, with somebody available who can actually sign in as each.
  • Every destination user already created, licensed, and with Chat turned on. The import writes into accounts that exist; it does not create them, and an unlicensed user is a skipped user.
  • The Chat admin settings your method asks for, specifically auto-deletion and automatic acceptance of chat invitations. The default and advanced requirement pages do not ask for the same thing here, so read the page for the method you are running.

Then the sequence. This is our order, not a vendor rule.

  1. Export the Teams list to CSV, as Google recommends, and read the hierarchy before deciding anything. This is where you find the 40 abandoned teams nobody needs to carry over.
  2. If you have a legal retention obligation, take a proper Teams backup first. Google says outright that the import tool is not built for compliance, and it is right.
  3. Pick the method. The default one runs on Google's shared API quota and takes up to 1,000 teams per import. The advanced one runs on your own quota through an Azure app registration and takes up to 1,000 teams per batch, up to 10 batches at a time.
  4. Run a pilot on two or three people and one small, boring team. Open the space by hand. Do not accept the report as proof.
  5. Read the import report. Each item carries a status of success, warning, skipped or error, and failures carry a code: S001 for an Azure application or permission problem, S100 for a team with no owner, T103 for a space that already existed from an earlier run and was skipped, T107 for a Workspace user the tool cannot find. S104 is unsupported formatting, such as a custom emoji or a card, and needs no action.
  6. Fix what the codes point at, then run a delta import. A delta picks up new and changed data and retries what failed, and skips what has not changed. It does not mirror deletions: something deleted in Teams after the first run stays in Workspace.
  7. Only then roll out the spaces, and only when people are ready to see them.

Two clocks make that last step a decision rather than a formality. You cannot run a delta import once you have clicked Roll out spaces, so any gap you have not closed by then is permanent. And the whole process has to finish within 90 days of the start of the import, or the imported spaces are deleted. Before rollout, an imported space is not somewhere people can post: with the advanced method Google states that nobody can add messages to it and that later Teams messages will not arrive in subsequent imports, which is why it recommends keeping people who share a chat in the same batch, or holding the rollout until everyone has been imported.

One warning that costs real money: do not abandon an import and start a fresh one over the same scope. That is how a company ends up with two copies of the same channel history and nobody sure which space is the real one. Use a delta run instead.

What to tell people the day the spaces appear

The technical work is the easy half. The expensive failure is a team that opens Chat on Monday, finds a space called General-My team with no attachments and a thread that stops halfway, and concludes the migration broke. Three sentences in advance prevent it: the old conversations are here to read, the files are in Drive and not on the messages, and anything older or longer than the import could carry is still in the Teams archive if you need it.

We also ask clients to name one person per space as its manager on day one, because the import picks a single manager out of several Teams owners and the others arrive as members. Five minutes of that saves a month of nobody being able to edit a space.

Chat is rarely the only thing moving that week. Mail usually moves in the same window, and the authentication records are what bite after an MX change. You can check your own domain in a minute.

How Guanacos Tech helps

We run Microsoft 365 to Workspace moves end to end for small and mid-sized teams: the team inventory, the decision about what carries over and what gets archived, the pilot, the batches, the import reports read line by line, and the day-one note to staff that stops the support queue before it starts. In English and Spanish, across North America and Latin America, on Workspace projects since 2018, as an independent consultancy with Google-certified engineers using Google's and Microsoft's own tools. If you want the chat side planned alongside the mail and the files, start with the Google Workspace migration consultants page, and the mail route is on the email migration page. A 30-minute call is enough to turn the table above into your own list: which teams move, which threads need the export kept, and what day the spaces appear.

Sources

Next step

Would you rather we did this for you?

Thirty minutes on Google Meet, free. We look at your domain or project with you, tell you what is wrong and what we would do first. If you can fix it yourself, we say so.

Book a 30-minute call or read about our Google Workspace consulting

Frequently asked questions

Do Teams file attachments import into Google Chat?

No. Google's list of what is not imported covers file attachments from OneDrive or SharePoint, files uploaded from a computer, pasted pictures and stickers. The files themselves move in the file side of the migration: SharePoint libraries become folders in shared drives and OneDrive content lands in My Drive. They just no longer hang off the message that mentioned them.

What happens to one-to-one chats?

They import, but not as direct messages. One-to-one, group and meeting chats all arrive as group chats, with an imported one-to-one chat labelled as a direct chat between its two members. With the advanced method they become shared spaces for the participants rather than entries in one person's direct message history.

Can we import messages that people send after the first run?

Only before you roll out the spaces. A delta import picks up new and changed data and retries failures, but it cannot be run once you have clicked Roll out spaces, and the whole process has to finish within 90 days of the start of the import or the imported spaces are deleted. Plan the rollout date deliberately.