Slack connector

Index Slack channels and threads. Two flavours: Slack App OAuth (recommended for workspaces) and Bot token(for managed Slack Enterprise Grid orgs that don't allow the OAuth flow).

Option A — Slack App OAuth (recommended)

  1. In the Gigamcp admin console, open Connectors → Add → Slack.
  2. Click Add to Slack. You will be bounced to your workspace's Slack OAuth consent screen. Approve the requested scopes:
    • channels:read, groups:read — list channels.
    • channels:history, groups:history — read message history (RAG ingest).
    • users:read — resolve user ids to display names.
    • search:read — workspace-wide search (requires Slack to approve your app for this scope; falls back gracefully when missing).
  3. Slack returns you to /api/oauth/slack/callback; the credential is stored KMS-encrypted in the per-tenant connector_credentials row.
  4. Invite the Gigamcp bot to each channel you want indexed: in Slack, type/invite @Gigamcp in that channel.

Rotation: the OAuth refresh-token flow keeps the bot token fresh automatically. Disconnecting the connector revokes the install on the Slack side.

Option B — Bot token paste

  1. Install your Slack App manually (via theapi.slack.com/apps/<app>/install-on-team page) and copy the resulting xoxb-… bot token.
  2. In the Gigamcp admin console, paste the token under Connectors → Add → Slack → bot token paste.
  3. Optionally pin a SLACK_TEAM_ID when the same app spans multiple workspaces under one credential.

Channel allowlist

The optional allowlist constrains which channel ids the connector exposes to MCP tools and the RAG crawler. Empty = every channel the bot is a member of. Format is comma-separated channel ids (C…); copy them from the Slack URL of each channel.

What gets indexed

  • Top-level channel messages from channels the bot has been invited to.
  • Thread replies, when the parent message is in scope.
  • User permalinks, so RAG-search results can deep-link the answer back to the source message.

What does not get indexed

  • Direct messages or group DMs (private to the participants).
  • Channels the bot is not a member of (workspace-wide listing is intentionally out of scope for v1).
  • Slack files / attachments (the message text is indexed; binary content is not).
  • Channels containing user PII that you exclude via the allowlist or have not invited the bot to.

Audience visibility

Each channel can be configured as a separate knowledge source with its own audience. Public engineering channels typically map to a Group: Engineering audience; the all-hands channel maps to Whole tenant; an executive channel might be Group: Leadership.

For personal-OAuth installs (DM-style "my own Slack"), the audience is fixed to user:<you> — see Personal connectors.