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)
- In the Gigamcp admin console, open Connectors → Add → Slack.
- 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).
- Slack returns you to
/api/oauth/slack/callback; the credential is stored KMS-encrypted in the per-tenantconnector_credentialsrow. - Invite the Gigamcp bot to each channel you want indexed: in Slack, type
/invite @Gigamcpin 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
- Install your Slack App manually (via the
api.slack.com/apps/<app>/install-on-teampage) and copy the resultingxoxb-…bot token. - In the Gigamcp admin console, paste the token under Connectors → Add → Slack → bot token paste.
- Optionally pin a
SLACK_TEAM_IDwhen 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.