Browse the docs

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

  1. Navigate to Connectors in the Buddhi AI dashboard
  2. Click Connect Slack
  3. Authorize the Buddhi Slack App
  4. Select channels to monitor

2. Configure Events

Buddhi AI receives events via Slack's Events API:

POST /api/webhooks/slack

3. Message Processing

EventAction
messageCapture decisions and context
reaction:thumbsupMark as consensus
thread_replyCapture discussion context

What Gets Ingested

Buddhi AI stores Slack as conversations, not single lines. A line like "going with the second one" means nothing on its own; the conversation around it does.

  • A conversation is a run of messages in a channel with no more than 30 minutes of silence between them. It also ends at fixed 3-hour marks, so a busy day becomes several memories.
  • A thread (the first message and every reply) is one memory.
  • Each memory is a transcript with people's names, links to its first message, and is dated by its last one.
  • A conversation or thread is stored once it is over (30 minutes without a new message), not after every message, so a busy channel costs one memory per conversation. If a thread picks up again later, it is stored again, whole, and replaces the earlier version.
  • Only channels the Buddhi AI bot has been added to are read.

Filtering

  • Messages from bots, join notices and questions addressed to Buddhi AI are left out.
  • A conversation with almost no text ("ok", 👍) is not stored.
  • Each conversation is then judged as a whole: greetings, thanks and jokes are dropped; decisions, plans, status updates, numbers and owners are kept.

History

When a channel is first synced, Buddhi AI walks back through its history (up to SLACK_BACKFILL_DAYS, one year by default), as far as one sync allows. Sync now and the scheduled sync continue from where the last one stopped. After that, new conversations appear within about 45 minutes: 30 minutes of quiet, then the next scheduled sync (every 15 minutes). A new message in the channel also stores any conversation it ends straight away.

Scope Assignment

Slack-sourced memories default to engineering scope. Override per-message:

@buddhi:scope=product We decided to prioritize the mobile app.

Message formatting

Anything Buddhi AI 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

  1. Navigate to Connectors in the dashboard
  2. Find Slack
  3. Click Disconnect