Skip to content

Slack

Slack is the highest-signal source for collaboration context — what you discussed, with whom, and what was decided. It’s also the most privacy-sensitive, so DevRecall is conservative about what it stores.

Terminal window
devrecall auth slack

This opens a browser for OAuth. Slack does not support localhost redirect URIs, so the flow goes through relay.devrecall.dev — the relay forwards the auth code to your local agent and then deletes its copy. The relay never sees the token.

Tokens are stored in ~/.devrecall/tokens/slack.json (0600).

Many workspaces require admin approval for OAuth apps. If your workspace has “Approved Apps” enabled, your admin will see the request and need to approve DevRecall before you can finish connecting.

The DevRecall OAuth app requests user-token scopes — it acts as you, not as a bot in the workspace.

ActivityWhat
Messages you sentChannel, timestamp, text, thread parent
Threads you participated inFull thread context
Reactions you gaveEmoji + target message (lightweight signal)
Channel activityWhich channels you were active in

Not collected by default: other people’s messages outside threads you participated in, DMs (opt-in only), file contents.

You control how much of your Slack activity is stored, per channel or globally:

ModeWhat’s storedUse when
full (default)Full message textWant accurate standups
summaryLLM-generated thread summaries onlyWant privacy + utility
metadataChannel, time, participants — no textMaximum privacy

DMs default to metadata.

{
"slack": {
"default_mode": "full",
"channel_overrides": {
"private-leadership": "metadata",
"general": "summary"
}
}
}
ScopePurpose
channels:historyRead public-channel messages
channels:readList public channels
groups:historyRead private channels you’re a member of
groups:readList private channels
users:readGet profiles for identity resolution
users:read.emailGet emails for cross-source identity merge
reactions:readTrack reactions you gave
search:readEfficient “find my messages” queries

im:history (DMs) is not requested by default.

Slack uses tiered rate limits (20–100 req/min depending on endpoint). DevRecall uses search.messages to find your own messages in one call across all channels — a daily sync is typically 10–30 requests.

Run devrecall auth slack again for each workspace. Each token is stored separately.