Skip to content

Setting Up the Integration

  1. Go to api.slack.com/apps
  2. Click Create New AppFrom scratch
  3. Enter app name (e.g., “NodeKAT”) and select your workspace
  4. Click Create App

The bot token is required and enables NodeKAT to read channel history and retrieve threads.

  1. In your Slack App settings, go to OAuth & Permissions
  2. Under Bot Token Scopes, add the following:
ScopeDescription
channels:historyRead messages in public channels
channels:readList public channels
groups:historyRead messages in private channels
groups:readList private channels
users:readResolve user IDs to display names
users:read.emailAccess user email addresses
Section titled “Step 3: Configure User Token Scopes (Recommended)”

The user token is optional but recommended. It enables native Slack search via the search.messages API, which is faster and returns higher-quality results than client-side channel scanning.

  1. Still in OAuth & Permissions, under User Token Scopes, add:
ScopeDescription
search:readSearch messages across the workspace
channels:readList public channels
groups:readList private channels
im:readRead direct messages
mpim:readRead group direct messages
  1. Go to OAuth & Permissions → click Install to Workspace (or Reinstall if updating scopes)
  2. After installation, copy both tokens:
TokenPrefixWhere to Find
Bot User OAuth Tokenxoxb-OAuth & Permissions → Bot User OAuth Token
User OAuth Tokenxoxp-OAuth & Permissions → User OAuth Token

For each channel you want NodeKAT to access:

  1. Open the channel in Slack
  2. Type /invite @NodeKAT (or whatever you named your app)
  3. The bot must be a channel member to read messages and search results

Provide the following credentials to your NodeKAT administrator:

  • Bot User OAuth Token (xoxb-...) — required
  • User OAuth Token (xoxp-...) — optional but recommended

Your administrator will configure NodeKAT to use these tokens.

NodeKAT uses a dual-token security model:

Bot Token (xoxb-)User Token (xoxp-)
RequiredYesNo (recommended)
Used ForChannel history, thread retrieval, user resolution, channel discoveryNative Slack search (search.messages API)
Access ScopeOnly channels the bot is a member ofAll channels visible to the authorizing user
Search ModeClient-side channel scanning (fallback)Native Slack API search (preferred)

When both tokens are configured, NodeKAT uses the user token for searching but filters results to only include bot-accessible channels. This ensures the agent never surfaces content from channels the bot hasn’t been explicitly invited to.

Without a user token, NodeKAT falls back to scanning each bot-accessible channel individually using keyword matching and optional reranking.