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 → From an app manifest
- Select your workspace and click Next
- Choose YAML and paste the following manifest:
- Click Next, review the summary, and click Create
What each scope does
What each scope does
| Scope | Purpose |
|---|---|
channels:history | Read message history from public channels |
channels:join | Allow bot to join public channels for indexing |
channels:read | View basic channel information |
files:read | Download text files attached to messages |
groups:history | Read message history from private channels the bot has been added to |
groups:read | View basic info for private channels the bot has been added to |
im:history | Read direct messages sent to the bot |
usergroups:read | View user groups in the workspace |
users:read | View user profiles for author information |
users:read.email | View user email addresses for identity matching |
Step 2: 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 3: Enable Real-Time Updates (Optional)
To receive near real-time indexing of new messages and files, enable Socket Mode:- Go to Socket Mode in your Slack app settings
- Enable Socket Mode, and copy the App Level Token displayed
Step 4: Add Bot to Channels
During sync, the bot automatically joins all public channels. For private channels, you must manually add the bot:- Open the private 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: Connect in Omni
- Navigate to Settings → Integrations in Omni
- Find Slack and click Connect
- Enter your Slack Client ID, Client Secret, Bot User OAuth Token, and optionally the App-Level Token for real-time updates
- 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 three 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) |
| Real-Time | Receives events via Socket Mode for near real-time indexing (up to ~10 min delay). Requires app-level token. |
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 token in Omni via Settings → Integrations → Slack
- 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
What’s Next
Search Your Data
Learn how to search across Slack messages
AI Assistant
Ask questions about your Slack conversations
Add More Connectors
Connect additional data sources