# slacrawl
> Mirror Slack workspace data into local SQLite databases

## Summary
Mirrors Slack workspace data into SQLite with full-text search, enabling offline search, querying, and archival independent of Slack's retention policies.

## Capabilities
- Sync Slack channels, users, and messages to SQLite
- Full-text search via SQLite FTS5
- Incremental API syncing
- Thread reply backfill
- Socket Mode live tailing
- Desktop-local metadata ingestion
- Raw SQL access for analysis
- Multi-workspace support

## When to Use
- You need to search Slack history beyond retention limits
- You want offline access to Slack messages
- You need to run SQL queries against Slack data
- You want to back up Slack workspace data locally

## When NOT to Use
- You only need real-time Slack notifications
- You don't have a Slack API token

## Key Flags
- `init`: Initialize a new slacrawl database
- `sync`: Sync workspace data from the Slack API
- `search`: Full-text search across messages
- `sql`: Run raw SQL queries against the database
- `tail`: Live-tail messages via Socket Mode

## Usage Patterns
### Initialize and sync
```
slacrawl init && slacrawl sync
```
Set up the database and pull Slack data

### Search messages
```
slacrawl search "quarterly report"
```
Full-text search across all synced messages

### Run SQL query
```
slacrawl sql "SELECT * FROM messages WHERE channel_name='general' ORDER BY ts DESC LIMIT 10"
```
Query the SQLite database directly

## Input / Output
- **stdout**: Search results, message data, SQL query output

## Installation
- **homebrew**: `brew tap vincentkoc/homebrew-tap && brew install slacrawl`

---
Source: https://littlescripts.sh/tools/slacrawl
