Slack Workspace Import (migrate your Slack into Team Chat)
Status: In-development (gated behind slack-import unreleased feature). Reveal via Settings -> Lab -> Slack Workspace Import, or launch with AMCSHOWSLACKIMPORT=1.
What it is
Status: In-development (gated behind slack-import unreleased feature). Reveal via Settings -> Lab -> Slack Workspace Import, or launch with AMC_SHOW_SLACK_IMPORT=1.
A guided 6-step wizard that imports an entire Slack workspace into Team Chat: channels, messages, threads, reactions, pins, files, and members. It maps Slack users to existing Omniscio accounts by email, and anything unmapped is attributed to the importer. All import writes go through a Cloud Function batch relay (admin SDK); the desktop never writes import data directly to Firestore.
This is distinct from the Slack integration, which triages live Slack messages from the inbox. The import wizard is a one-time migration tool that moves historical Slack data into Team Chat permanently.
Where to find it
Reveal it from Settings → Lab → Slack Workspace Import, then use it from Team Chat's import entry.
How it behaves
How to use it
- Open Team Chat and look for the import entry point (visible only when the
slack-importfeature flag is on). - Welcome step -- confirms your workspace and identity; an "Add Token Now" shortcut navigates to Slack OAuth settings if you haven't connected yet.
- Discover -- Omniscio fetches your Slack workspace's channels and members.
- Select Channels -- toggle which channels to import (all selected by default).
- Map Users -- auto-matches Slack users to existing Omniscio accounts by email; unmapped users are attributed to you (the importer).
- Import Progress -- live progress updates via push events; cancel is available (with confirmation).
- Report -- summary of what was imported: channels, messages, threads, reactions, pins, files, members, skips, and errors.
What's built vs what's left
Built (renderer + IPC + schemas):
- Complete 6-step wizard UI (
SlackImportWizard.tsx+ step components) - IPC channels:
SLACK_IMPORT_DISCOVER,SLACK_IMPORT_START,SLACK_IMPORT_CANCEL,SLACK_IMPORT_PROGRESS(push) - Zod schemas for discover response, user mapping, import request, progress, and report
- Cloud Function batch relay schema (
slackImportBatchSchema) - Double-gating (feature flag on both the entry point and the wizard itself)
- Fresh state on every open (no stale data from a previous attempt)
- Cancel with confirmation dialog
Not yet deployed / remaining:
- Cloud Function batch relay (authored, needs deployment)
- Testing with real Slack workspace data at scale
- Manual user mapping UI (currently auto-match only, unmapped fall to importer)
Scope and limits
- Desktop only -- the wizard is a renderer-side feature inside Team Chat.
- One-time migration -- not a continuous sync; run it once to move your history.
- No undo -- a cancelled import keeps whatever was already written; start fresh to retry.
- Admin SDK boundary -- all writes are server-side via the Cloud Function relay.
For agents
How it works (for agents / engineers)
- Wizard container:
src/renderer/src/features/team-chat/slack-import/SlackImportWizard.tsx-- owns all wizard state; step components are presentational. - IPC schemas:
src/shared/ipc-schemas/slack-import.ts-- Zod schemas for all payloads. - Cloud Function: batch relay that writes via admin SDK (the desktop never writes Firestore directly for imports).
- User matching: the admin user directory provides email-based auto-matching scoped to the active org. Non-admin or large org degrades gracefully to "everyone unmapped."
- CLI parity: classified as
feature-scoped-surface(no CLI route -- wizard-only).
Related
- team-chat.md -- the Team Chat feature this imports into
- slack-integration.md -- the live Slack triage integration (separate feature)
- Contract: team-chat-slack-import-contract.md
Last verified 2026-09-23