← All Platforms

PLATFORM

Slack Migration Tool

MigrationFox migrates Slack workspaces to Microsoft Teams with full message history, threaded replies, file attachments, and channel membership preserved. Whether you're consolidating on Microsoft 365 or retiring a Slack Free workspace before the 90-day message limit kicks in, MigrationFox handles the conversation data in a single job.

Channel Migration

Every public channel in your Slack workspace is enumerated during discovery. Private channels are included when the bot token has the required scopes. You can select individual channels or migrate the entire workspace in one pass.

For each Slack channel, MigrationFox creates a matching channel in the target Microsoft Teams team. Channel names are sanitized to fit Teams' naming rules (no slashes, no leading dots, max 50 characters) and collisions are resolved by appending a numeric suffix.

Message History with Threads

Slack messages are paginated using the conversations.history API with cursor-based iteration, so MigrationFox handles workspaces with millions of messages without hitting rate limits. Threaded replies are fetched per parent message using conversations.replies and attached beneath the parent in the destination.

Message formatting — bold, italics, code blocks, mentions, and emoji — is translated from Slack's mrkdwn syntax to Teams' HTML message format. User mentions are mapped using email address matching against the target tenant.

Attachments and Files

Files uploaded to Slack channels are downloaded using the Slack file API and re-uploaded to the corresponding Teams channel's SharePoint-backed file store. Each file is linked from the original message so the conversation context is preserved.

Large files use chunked upload sessions against Microsoft Graph. Files that exceed the Teams per-file size limit are logged to the skipped-items report with their original Slack URL so you can handle them manually.

Member Migration

Channel membership is read from the Slack conversations.members endpoint and mapped to the target tenant using email matching. Users that exist in both workspaces are added to the corresponding Teams channel automatically. Users without a match are logged so you can invite them or skip them during cutover.

Authentication

MigrationFox authenticates with Slack using a bot token from a custom Slack app that you install into your workspace. The required OAuth scopes are documented in the job setup screen and include channels:read, channels:history, groups:read, groups:history, files:read, and users:read.

The bot token is encrypted at rest with AES-256 and is only used for the duration of the migration job. You can revoke it in the Slack admin console the moment the job completes.

Supported Migration Paths

Slack to Microsoft Teams

The primary supported path. Channels, messages, threads, files, and members are mapped end-to-end during a single job.

Pricing

Slack migrations are billed at $0.50 per GB transferred (measured by the total size of message JSON plus attachments). Your account starts with 2 GB free — no credit card required. Discovery scans are always free and unlimited.

Migrate Slack to Teams today

2 GB free. No credit card required.

Start Free →