Slacrawl
Go-based CLI that pulls Slack workspace data — channels, threads, messages — into a local SQLite database so an agent can search and inspect history without the Slack UI.
Requirements
- Slack token. Two supported modes:
- App token (recommended): create a Slack app at https://api.slack.com/apps with
channels:history,groups:history,im:history,users:readscopes; install to your workspace; copy the user OAuth token (xoxp-…). - Cookie token (no admin needed): extract
xoxc-…token +dcookie from a logged-in Slack browser session. See slacrawl README for details.
- App token (recommended): create a Slack app at https://api.slack.com/apps with
slacrawlbinary on PATH (installed at~/.local/bin/slacrawl).
Setup
slacrawl init # create config at ~/.slacrawl/config.toml
# edit ~/.slacrawl/config.toml — add token + workspace
slacrawl auth check # verify token works
slacrawl sync --full # initial workspace sync
State
- Config:
~/.slacrawl/config.toml - Database:
~/.slacrawl/slacrawl.db
Common Commands
slacrawl status --json
slacrawl sync --incremental
slacrawl channels list --json
slacrawl messages list --channel <id> --limit 100 --json
slacrawl search "release notes" --json
slacrawl sql 'SELECT count(*) FROM messages'
Integration Notes
- Strictly local-first: token + data never leave the machine.
- Schedule
slacrawl sync --incrementalon a PaperFang cron for continuous mirroring. - For multiple workspaces, run with
--workspace <name>against separate config profiles.