Overview
What Gets Indexed
| Source | Content |
|---|---|
| Channel Messages | Messages from public and private channels (where bot is a member) |
| Threads | Full thread conversations with all replies |
| Text Files | Text-based file attachments (.txt, .md, .json, etc.) |
How It Works
- A Slack bot is installed in your workspace with read-only permissions
- The connector syncs messages from channels where the bot is a member
- Messages are grouped by date and thread for efficient indexing
- 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
- Go to Slack API Apps
- Click Create New App
- Choose From scratch
- Enter app name:
Omni Search - Select your workspace
- Click Create App
Step 2: Configure Bot Token Scopes
- In your app settings, go to OAuth & Permissions
- Scroll to Scopes → Bot Token Scopes
- Add the following scopes:
| Scope | Purpose |
|---|---|
channels:history | Read message history from public channels |
channels:read | View basic channel information |
groups:history | Read message history from private channels |
groups:read | View basic private channel information |
users:read | View user profiles for author information |
files:read | Download text files attached to messages |
Step 3: Install App to Workspace
- Go to OAuth & Permissions
- Click Install to Workspace
- Review and authorize the permissions
- Copy the Bot User OAuth Token (starts with
xoxb-)
Step 4: Add Bot to Channels
The connector can only index channels where the bot is a member. To add the bot:- Open the channel you want to index in Slack
- Click the channel name to open details
- Go to Integrations tab
- Click Add apps
- Find and add Omni Search
Step 5: Configure Omni Environment
Add the following to your.env file:
Step 6: Connect in Omni
- Navigate to Settings → Integrations in Omni
- Find Slack and click Connect
- Enter your Slack workspace details
- Click Connect
- 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 Settings → Integrations → Slack to view:- Last sync time
- Number of indexed messages and files
- Any sync errors
Sync Modes
The Slack connector supports two sync modes:| Mode | Description |
|---|---|
| Full | Syncs all messages from all channels (used for initial sync) |
| Incremental | Syncs only new messages since last sync (used for updates) |
Adding More Channels
To index additional channels:- Add the Omni bot to the new channel (see Step 4)
- The next sync will automatically include the new channel
Removing the Integration
- Navigate to Settings → Integrations → Slack
- Click Remove
- Optionally, uninstall the Omni app from your Slack workspace
Troubleshooting
Messages not appearing in search
Messages not appearing in search
Common causes:
- Bot is not a member of the channel
- Sync has not completed yet
- Channel permissions don’t allow the user to see results
Bot token validation failed
Bot token validation failed
The token may be expired or revoked.Solution:
- Go to your Slack app settings
- Regenerate the Bot User OAuth Token
- Update the
SLACK_BOT_TOKENin your.envfile - Restart the Slack connector service
Rate limiting errors
Rate limiting errors
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.
Private channel messages not indexed
Private channel messages not indexed
The bot must be explicitly invited to private channels.Solution: Open the private channel, go to Integrations → Add apps, and add the Omni bot.
Files not being indexed
Files not being indexed
Only text-based files are indexed. Binary files (images, PDFs, etc.) are skipped.Supported file types:
text/*, application/json, application/xmlSecurity 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