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 AppFrom an app manifest
  3. Select your workspace and click Next
  4. Choose YAML and paste the following manifest:
display_information:
  name: Omni Search
  description: Read-only bot for Omni search indexing
features:
  bot_user:
    display_name: Omni Search
    always_online: false
oauth_config:
  scopes:
    bot:
      - channels:history
      - channels:join
      - channels:read
      - files:read
      - groups:history
      - groups:read
      - im:history
      - usergroups:read
      - users:read
      - users:read.email
settings:
  event_subscriptions:
    bot_events:
      - app_mention
      - message.channels
      - file_created
      - file_deleted
      - file_changed
  org_deploy_enabled: false
  socket_mode_enabled: true
  token_rotation_enabled: false
  1. Click Next, review the summary, and click Create
ScopePurpose
channels:historyRead message history from public channels
channels:joinAllow bot to join public channels for indexing
channels:readView basic channel information
files:readDownload text files attached to messages
groups:historyRead message history from private channels the bot has been added to
groups:readView basic info for private channels the bot has been added to
im:historyRead direct messages sent to the bot
usergroups:readView user groups in the workspace
users:readView user profiles for author information
users:read.emailView user email addresses for identity matching

Step 2: 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 3: Enable Real-Time Updates (Optional)

To receive near real-time indexing of new messages and files, enable Socket Mode:
  1. Go to Socket Mode in your Slack app settings
  2. Enable Socket Mode, and copy the App Level Token displayed
This step is optional. Without an app-level token, the connector still works using scheduled full and incremental syncs. Enabling Socket Mode adds near real-time indexing with up to ~10 minute delay.

Step 4: Add Bot to Channels

During sync, the bot automatically joins all public channels. For private channels, you must manually add the bot:
  1. Open the private 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
Public channels are automatically indexed — the bot joins them during each sync. You only need to manually invite the bot to private channels you want indexed.

Step 5: Connect in Omni

  1. Navigate to SettingsIntegrations in Omni
  2. Find Slack and click Connect
  3. Enter your Slack Client ID, Client Secret, Bot User OAuth Token, and optionally the App-Level Token for real-time updates
  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 three sync modes:
ModeDescription
FullSyncs all messages from all channels (used for initial sync)
IncrementalSyncs only new messages since last sync (used for updates)
Real-TimeReceives events via Socket Mode for near real-time indexing (up to ~10 min delay). Requires app-level token.
After the initial full sync, the connector automatically performs incremental syncs to capture new messages. To enable real-time updates, provide the app-level token during setup (see Step 3).

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 token in Omni via SettingsIntegrationsSlack
  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

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