slacrawl — Slack Workspace Archive
slacrawl mirrors Slack workspace data into a local SQLite database for offline search, custom SQL queries, and inspection. Also ingests macOS Slack Desktop local data and Slack export ZIP files.
Secret Safety (MANDATORY)
- Never read, print, or send Slack tokens to LLM context.
- Never ask the user to paste tokens into chat.
- The user must set tokens in their environment or Moltis credential store manually.
- To verify credentials, only use:
slacrawl doctor.
One-Time User Setup (user runs these outside the agent)
- Create a Slack app at https://api.slack.com/apps
- Add bot token scopes:
channels:history,channels:read,groups:history,groups:read,im:history,im:read,mpim:history,mpim:read,users:read - Install the app to your workspace and copy the Bot User OAuth Token
- Set tokens:
SLACK_BOT_TOKEN— required for standard syncSLACK_APP_TOKEN— optional, for Socket Mode live tailingSLACK_USER_TOKEN— optional, for fuller thread/DM coverage
- Verify:
slacrawl doctor
Tokens can be set via environment variables or Moltis credential store (web UI → Settings → Environment Variables).
Health Check
slacrawl doctor
Sync Workspace Data
slacrawl sync
slacrawl sync --full # Full resync
slacrawl sync --channel <channel_name> # Specific channel
Live Tail (Socket Mode)
slacrawl tail
Requires SLACK_APP_TOKEN with Socket Mode enabled.
List Channels and Users
slacrawl channels
slacrawl channels --json
slacrawl users
slacrawl users --json
Search Messages
slacrawl search "query"
slacrawl search "query" --channel <channel_name>
slacrawl search "query" --limit 20 --json
slacrawl search "query" --after 2026-01-01 --before 2026-04-28
Import from Slack Export
slacrawl import /path/to/slack-export.zip
Import from Local Desktop Cache
slacrawl desktop-import
Reads the macOS Slack Desktop local IndexedDB data (may require Node.js for blob decoding).
SQL Queries
slacrawl sql "SELECT * FROM messages WHERE text LIKE '%deploy%' ORDER BY ts DESC LIMIT 10"
Saving to Memory
To archive Slack data into Moltis memory:
- Run slacrawl search with
--json - Summarize key conversations into a daily digest
- Save as
memory/slack/YYYY-MM-DD.md
# Slack — 2026-04-28
## #engineering
- Deployment of v2.1 completed successfully at 14:30 UTC
- Post-deploy metrics look healthy, no error spikes
## #product
- Decision: prioritize mobile onboarding flow for Q3
- Alice shared mockups for the new settings page
## DMs
- Bob: confirmed Friday 1:1 agenda — performance reviews
Notes
- Database:
~/.slacrawl/slacrawl.db(SQLite + FTS5). - Use
--jsonfor machine-readable output. - Use
--format logfor compact log-style output. - Threads are synced automatically when the parent message is fetched.