Slack
Slack
Configuration
Slack source connector using federated search.
Instead of syncing all messages and files, this source searches Slack at query time using the search.all API endpoint. This is necessary because Slack’s rate limits are too restrictive for full synchronization.
Authentication
This connector uses OAuth 2.0 authentication. You can connect through the Airweave UI or API using the OAuth flow.
Supported authentication methods:
- OAuth Browser Flow (recommended for UI)
- OAuth Token (for programmatic access)
- Auth Provider (enterprise SSO)
Configuration Options
This connector does not have any additional configuration options.
Data Models
The following data models are available for this connector:
SlackMessageEntity
Schema for Slack message entities from federated search.
Federated Search
Real-Time Search Without Syncing
The Slack connector uses federated search to query your Slack workspace in real-time at search time, rather than syncing all messages into Airweave’s database. This approach:
- Avoids hitting Slack’s strict rate limits
- Keeps your data in Slack (nothing synced to Airweave)
- Returns fresh, up-to-date results at query time
- Searches across all channels you have access to
When you search in Airweave, your query is automatically sent to Slack’s search API, and results are merged with data from your other connected sources.
How It Works
- Connect your Slack workspace using OAuth (one-time setup)
- Search in Airweave - your queries are automatically sent to Slack’s search API in real-time
- Results are merged with data from your other sources using intelligent ranking
No data is synced or stored in Airweave - everything happens at search time.
Prerequisites
- Access to a Slack workspace where you have permissions to add apps
- Administrator access to your Airweave instance
Setup Steps
Option A: Production Setup (OAuth Flow)
When running Airweave in production (non-localhost), simply:
- Navigate to your Airweave collection
- Click “Add Source” and select “Slack”
- Follow the OAuth flow to authorize Airweave
- That’s it! Your Slack workspace is now searchable
The OAuth flow will request the search:read
user scope, which allows Airweave to search on your behalf.
Option B: Local Development Setup (Manual Token)
Slack does not allow OAuth2 flows for http://localhost
, so for local development you’ll need to manually create a token.
1. Create a Slack App
- Go to https://api.slack.com/apps
- Click the “Create New App” button
- Choose “From scratch”
- Enter a name for your app (e.g., “Airweave Local Dev”)
- Select the workspace you want to connect
- Click “Create App”

2. Configure OAuth Permissions
- In your Slack app settings, navigate to “OAuth & Permissions” in the sidebar
- Scroll down to the “Scopes” section
- Under “User Token Scopes”, add the following scope:
search:read
(required for federated search)

Scope Requirements
For federated search, you only need the search:read
user scope. This allows Airweave to search Slack on your behalf at query time.
If you see scopes like channels:history
, channels:read
, users:read
in older documentation, those were for the legacy sync-based approach and are no longer needed.
3. Install the App to Your Workspace
- Scroll back to the top of the “OAuth & Permissions” page
- Click the Install to Workspace button
- Review the permissions and click “Allow”
- After installation, you’ll be redirected back to the app settings
- Copy the “User OAuth Token” (it starts with
xoxp-
)

4. Add the Token to Airweave
- In your Airweave application, navigate to the integrations section
- Select “Slack” from the available integrations
- Choose “Direct Token Injection”
- Paste the User OAuth Token you copied in the previous step
- Save your changes

Verification
After completing these steps, try searching in your Airweave collection. Your search query will be automatically sent to Slack, and relevant messages will appear in your search results alongside data from your other sources.
Troubleshooting
- No Slack results appearing: Verify the token was copied correctly and hasn’t expired
- Permission errors: Ensure you’ve added the
search:read
user scope to your Slack app - Authentication failed: Try regenerating the token in Slack and updating it in Airweave