Slack Integration
Connect Slack to capture decisions from conversations.
The Slack connector captures knowledge from Slack conversations, turning discussions into searchable memories.
Setup
1. Install the Slack App
- Navigate to Connectors in the Cortex dashboard
- Click Connect Slack
- Authorize the Cortex Slack App
- Select channels to monitor
2. Configure Events
Cortex receives events via Slack's Events API:
POST /api/webhooks/slack
3. Message Processing
| Event | Action |
|---|---|
message | Capture decisions and context |
reaction:thumbsup | Mark as consensus |
thread_reply | Capture discussion context |
What Gets Ingested
From Slack messages, Cortex extracts:
- Decisions — Explicit choices and rationales
- Context — Problem being solved
- Consensus — Agreements (via reactions)
- References — Links to PRs, docs, issues
Filtering
Not all messages are ingested. Cortex filters for:
- Messages with decision keywords ("decided", "agreed", "let's go with")
- Messages with significant reactions (3+ 👍)
- Messages in designated "decisions" channels
Scope Assignment
Slack-sourced memories default to engineering scope. Override per-message:
@cortex:scope=product We decided to prioritize the mobile app.
Message formatting
Anything Cortex posts back to Slack — a workflow digest
or a bot reply — is converted from standard Markdown to Slack's mrkdwn
dialect before sending. **bold** becomes *bold*, -/* bullets become
•, [text](url) links become <url|text>, and numeric [1] citations are
left intact as footnote markers. This is why messages render as formatted text
instead of showing raw asterisks.
Disabling
- Navigate to Connectors in the dashboard
- Find Slack
- Click Disconnect