Software companies
Slack to Microsoft Teams migration: what happens to your Slack history
By SourceX Editorial · Updated
Short answer
In a Slack to Microsoft Teams migration, Slack history moves only as far as your export rights and migration tool carry it: channel messages and files usually transfer, while threads, reactions, edits, app messages and some private conversations are often flattened or left behind. The rule: take, check and keep a full Slack export before anything is switched off.
Key takeaways
- A migration copies selected content into Teams; it does not preserve Slack history as it was.
- Export scope depends on your Slack plan and admin role, so confirm it before setting a cutover date.
- Take a complete raw export first and store it separately from the migrated copy.
- Downgrading or closing the Slack workspace can end access to any history that was never exported.
- Incident, engineering and escalation channels are often the most useful history and the most likely to be skipped.
What actually moves from Slack to Teams?#
What moves from Slack to Teams is whatever the export contains and the migration tool can map into Teams channels and chats. Most projects move channel messages and attached files; few move the full context around them. The rest stays in Slack and drops out of reach once the workspace is closed.
Teams also stores content differently. Microsoft states that files uploaded to channels are stored in the team's SharePoint site and files shared in chats in the sharer's OneDrive, so file links inside old Slack messages often break even when both the message and the file arrive.
Files need their own step on the Slack side too. Slack's workspace export contains links to files in Slack rather than the files themselves, so the files must be downloaded while the workspace is still active, and Free plan workspaces can export links only to files from the last 90 days.
| Slack content | Typical result in Teams | What to keep in the archive |
|---|---|---|
| Public channel messages | Usually moved, sometimes as an imported archive rather than live posts | Full export with original timestamps and user IDs |
| Private channels and direct messages | Moved only if your export rights include them | Confirmed export scope and approvals |
| Threads | Kept as replies or flattened, depending on the tool | Thread identifiers linking replies to parent messages |
| Files and attachments | Copied to SharePoint or OneDrive; links in messages may break | Files plus the message IDs that referenced them |
| Reactions, edits, pins and bookmarks | Usually dropped or reduced to final text | Raw export fields as Slack provides them |
| App, bot and workflow messages | Often skipped; workflows must be rebuilt | Alert and integration messages tied to incidents |
| Slack Connect shared channels | Limited, and the other organization's messages raise rights questions | Your side of the conversation, with an ownership note |
| Canvases, lists and huddle notes | Handled separately, if at all | Separate exports where the plan allows |
Why does the original Slack export matter after migration?#
The original Slack export matters because it is the only copy that keeps history in its native structure: who said what, when, in which thread, with which edits and reactions. A migrated Teams copy is a rewrite built for continuity of work, not a record of what happened.
That structure is what legal holds, audits and any later reuse depend on. An incident channel where engineers traded hypotheses, pasted Jira links and agreed on a fix is useful because the order and the replies are intact. Flattened into one imported file, the same conversation is hard to follow and harder to verify.
Keep the user list from the export with the messages. It maps internal user IDs to names, titles and deactivated accounts, and without it messages from former employees become anonymous IDs that nobody can attribute later. The same mapping is what lets names be replaced consistently with roles if the history is ever prepared for reuse.
The archive-first rule#
The archive-first rule says a full Slack export is taken, checked and stored before any channel is migrated, any user is deactivated or the plan is downgraded. Migration tools are built to move active work; the archive protects everything else.
Treat the export as a deliverable with a sign-off, not a background task the migration vendor runs. The person who signs off should be able to say what the export covers and what it leaves out.
- Confirm your Slack plan's export options and request any approvals needed for private channels and direct messages.
- Run the full export and record the date, scope and the admin who ran it.
- Check the output: open sample channels, confirm thread replies and files, and compare channel counts with the workspace.
- Store it in company-controlled storage with restricted access and a named owner.
- Add the archive to your retention schedule so it is not deleted with the old tenant's leftovers.
- Only then start migrating channels and set the Slack shutdown date.
Export scope depends on your plan and role#
Slack export scope depends on your plan and admin role, and many teams discover the limits only when the migration vendor asks for data. Some plans export only public channels by default, while private channels and direct messages may need a higher plan or an approval process; Slack lists its Discovery API, which lets eligible customers export and archive messages and files through third-party apps, under its top Enterprise tier. Check retention settings as well: Slack keeps history for the life of a paid workspace by default, but admins can set deletion periods, and since August 26, 2024 messages and files older than one year may be deleted on a rolling basis from free-plan workspaces.
API-based migration tools add another layer, because Slack's API terms govern what third-party apps may do with workspace data. If you expect any use of the history beyond the migration itself, read those terms with counsel before an app pulls the data.
Guests, contractors and customers in shared channels complicate scope. Their messages sit in your workspace but may be covered by their own employers' confidentiality expectations, so record which channels include external participants when you take the export.
Which channels deserve the most care?#
The channels that deserve the most care are the ones that record decisions: incidents, on-call, engineering design, customer escalations and release coordination. They are also the ones most often left out, because they go quiet between events and look inactive in a usage report.
Before excluding a channel, check whether it links to other systems. Messages carrying Jira keys, GitHub pull request links or Zendesk ticket numbers tie conversation to work records, and those ties are what make internal discussion useful to auditors, new engineers and, potentially, AI developers assessing a license.
| Channel type | Migrate to Teams? | Keep in the archive? |
|---|---|---|
| Active team and project channels | Yes | Yes |
| Incident and on-call channels | Recent ones still referenced | Yes, with full threads |
| Engineering design and architecture | If discussions continue | Yes |
| Customer escalation channels | Usually not | Yes, with restricted access |
| Social and off-topic channels | Optional | As your retention policy sets |
| Slack Connect channels with customers | Recreate as shared channels if needed | Your side only, with an ownership note |
Illustrative: a software company folds into a Microsoft 365 group#
Illustrative: a fictional logistics software company is acquired by a holding group that runs on Microsoft 365, and its Slack workspace is set to close at the next renewal. The migration vendor plans to move only the channels people use every week.
The CTO applies the archive-first rule. A full export, including the private channels the company's plan allows, is checked and stored before migration starts. The check turns up years of incident channels linked to Jira and GitHub that were not on the migration list. They stay out of Teams but remain in the archive, with access limited to engineering leadership. When the group later reviews which records might be licensed, that history is still there to assess.
How SourceX looks at Slack archives#
SourceX treats a preserved Slack export as a candidate record family in the Supply step of the SourceX five-step transaction. The fit check asks about channels, years of history and links to other systems without receiving any files.
If an archive moves forward, the Rights and Preparation steps address employee notices, shared channels with other organizations and the removal of personal and confidential details, and the supplier approves each step before Delivery.
Frequently asked questions
Do Teams imports keep original authors and timestamps?
Some migration tools can import messages into Teams with original authors and timestamps; others post history as a single archive file or under a migration account. Ask your vendor exactly how each is handled, test with a sample channel, and keep the raw Slack export as the authoritative record either way.
How long should we keep the Slack export after migrating?
As long as your retention schedule requires for the record types it contains, which may differ by channel. Legal holds, customer contracts and audit needs can extend that period. List the archive as its own entry in the schedule so it is reviewed on purpose rather than deleted by default.
Can we cancel Slack once Teams is live?
Only after the export has been verified. Once a workspace is downgraded or closed, history that was not exported may become unreachable, and some export options may no longer be available. Treat cancellation as the last step of the project, not the first.
Who should own the archived export?
A named owner, usually in IT or legal, with access limited to a small group. The owner tracks where the archive is stored, who can open it and which retention rules apply. Without an owner, archives tend to sit in a departed admin's drive until someone deletes them.
Is it worth migrating old channels at all?
Often not. Moving years of quiet channels into Teams adds clutter without restoring their structure. Many companies migrate active channels only and rely on the export for older history, which keeps Teams usable and the original record intact.
Sources
- Files shared in Teams chats are stored in the sharer's OneDrive, while files uploaded to channels are stored in the team's SharePoint site. Source
- Slack's workspace export includes links to files rather than the files themselves, and Free plan workspaces can only export links to files from the last 90 days. Source
- Starting August 26, 2024, messages and file history older than one year may be deleted on a rolling basis from free-plan workspaces. Source
- By default Slack retains all messages and files for the lifetime of the workspace; admins can set custom deletion periods, and deletion is permanent. Source
- Slack's Discovery APIs let eligible customers use third-party apps to export, retain or archive messages and files, and the Discovery API is listed under Slack's top Enterprise tier. Source
Related resources
See if your company qualifies
A short company assessment. No data uploads are needed.