Skip to main content
The Slack connector enables Omni to index and search content from your Slack workspace, including channel messages, threads, and text files.

Overview

What Gets Indexed

SourceContent
Channel MessagesMessages from public and private channels (where bot is a member)
ThreadsFull thread conversations with all replies
Text FilesText-based file attachments (.txt, .md, .json, etc.)

How It Works

  1. A Slack bot is installed in your workspace with read-only permissions
  2. The connector syncs messages from channels where the bot is a member
  3. Messages are grouped by date and thread for efficient indexing
  4. Permission inheritance ensures users only see content from channels they can access
The connector uses read-only access. Omni cannot post messages or modify any content in your Slack workspace.

Prerequisites

Before setting up the Slack connector, ensure you have:
  • Slack workspace admin access to install apps
  • Omni deployment with the Slack connector service running

Setup

Step 1: Create a Slack App

  1. Go to Slack API Apps
  2. Click Create New App
  3. Choose From scratch
  4. Enter app name: Omni Search
  5. Select your workspace
  6. Click Create App

Step 2: Configure Bot Token Scopes

  1. In your app settings, go to OAuth & Permissions
  2. Scroll to ScopesBot Token Scopes
  3. Add the following scopes:
ScopePurpose
channels:historyRead message history from public channels
channels:readView basic channel information
groups:historyRead message history from private channels
groups:readView basic private channel information
users:readView user profiles for author information
files:readDownload text files attached to messages

Step 3: Install App to Workspace

  1. Go to OAuth & Permissions
  2. Click Install to Workspace
  3. Review and authorize the permissions
  4. Copy the Bot User OAuth Token (starts with xoxb-)
Keep your bot token secure. Anyone with access to this token can read messages from your Slack workspace.

Step 4: Add Bot to Channels

The connector can only index channels where the bot is a member. To add the bot:
  1. Open the channel you want to index in Slack
  2. Click the channel name to open details
  3. Go to Integrations tab
  4. Click Add apps
  5. Find and add Omni Search
For private channels, you must manually add the bot. For public channels, the bot can join automatically, but explicit invitation is recommended.

Step 5: Configure Omni Environment

Add the following to your .env file:
SLACK_CLIENT_ID=your-slack-client-id
SLACK_CLIENT_SECRET=your-slack-client-secret
SLACK_BOT_TOKEN=xoxb-your-bot-token

Step 6: Connect in Omni

  1. Navigate to SettingsIntegrations in Omni
  2. Find Slack and click Connect
  3. Enter your Slack workspace details
  4. Click Connect
  5. Click Sync Now to start the initial sync
Your Slack connector is now configured. Initial indexing may take a while depending on the amount of content in your channels.

Managing the Integration

Viewing Sync Status

Navigate to SettingsIntegrationsSlack to view:
  • Last sync time
  • Number of indexed messages and files
  • Any sync errors

Sync Modes

The Slack connector supports two sync modes:
ModeDescription
FullSyncs all messages from all channels (used for initial sync)
IncrementalSyncs only new messages since last sync (used for updates)
After the initial full sync, the connector automatically performs incremental syncs to capture new messages.

Adding More Channels

To index additional channels:
  1. Add the Omni bot to the new channel (see Step 4)
  2. The next sync will automatically include the new channel

Removing the Integration

  1. Navigate to SettingsIntegrationsSlack
  2. Click Remove
  3. Optionally, uninstall the Omni app from your Slack workspace

Troubleshooting

The token may be expired or revoked.Solution:
  1. Go to your Slack app settings
  2. Regenerate the Bot User OAuth Token
  3. Update the SLACK_BOT_TOKEN in your .env file
  4. Restart the Slack connector service
Slack has API rate limits. The connector handles these automatically with backoff.Solution: Wait for the connector to retry. For large workspaces, initial sync may take longer due to rate limits.
The bot must be explicitly invited to private channels.Solution: Open the private channel, go to IntegrationsAdd apps, and add the Omni bot.
Only text-based files are indexed. Binary files (images, PDFs, etc.) are skipped.Supported file types: text/*, application/json, application/xml

Security Considerations

  • Read-only access: The bot only has read permissions
  • Channel-based permissions: Users only see messages from channels they can access in Slack
  • Token security: Bot tokens should be treated like passwords
  • Audit logging: Monitor bot activity in Slack’s audit logs

What’s Next