Skip to main content
Nia’s Slack Search lets you connect Slack workspaces, index message history, and run semantic or keyword searches across all your conversations. It supports two connection models:
  1. Direct OAuth — Connect your own Slack workspace via the Nia dashboard
  2. BYOT (Bring Your Own Token) — Register any Slack bot token via the API, designed for enterprise customers who need to index their end-users’ workspaces
All indexed data is stored in isolated, org-scoped namespaces. Real-time message events keep the index fresh after the initial backfill.
After the initial full index, new messages are indexed automatically in real-time via Slack’s Events API. Sends, edits, and deletes in indexed channels are reflected within seconds.

Getting Started

1

Connect a Workspace

Connect via OAuth from the Nia dashboard, or register a bot token via the API (BYOT).
2

Configure Channels

Choose which channels to index — all channels, or a specific subset.
3

Index

Trigger a full indexing job. Nia fetches all message history from configured channels, embeds, and stores everything in a vector index.
4

Search

Run semantic or keyword searches across indexed messages via the API or MCP tools.

Connecting a Workspace

Option 1: OAuth (Dashboard)

Generate an OAuth URL and redirect the user to authorize:
After authorization, Slack redirects back and the installation is created automatically.

Option 2: BYOT (Bring Your Own Token)

Register an external Slack bot token directly. The workspace owner creates a Slack app, installs it, and provides the bot token to you. No OAuth flow needed.
The installation_id is used in all subsequent operations.

Managing Installations

List Installations

Configure Channels

List available channels:
Index all channels except specific ones:
Or index only specific channels:

Disconnect


Indexing

Trigger a full indexing job that fetches all message history from configured channels:

Check Progress

Indexing speed depends on the Slack app’s rate limit tier:
For BYOT, the customer’s Slack app rate limits apply. Initial indexing of large workspaces (10k+ messages) may take 30-60 minutes on Tier 1. After the initial index, real-time events keep it current with no rate limit concerns.

Searching

Run semantic search across indexed Slack messages with AI synthesis:
You can combine Slack with other indexed sources like repositories:
Streamed response:

Keyword Search (Grep)

BM25 full-text keyword search over indexed messages:

Read Channel Messages (Live)

Fetch recent messages directly from the Slack API (live, not from the index):

MCP Integration

Slack workspaces are searchable via Nia’s MCP tools once indexed:

Enterprise Multi-Tenant Model (BYOT)

For enterprises managing multiple customer workspaces, BYOT provides a clean multi-tenant architecture:
How it works:
1

Get an API Key

Sign up for Nia and get your API key from app.trynia.ai.
2

Collect Bot Tokens

Each customer creates a Slack app in their own workspace and shares the bot token with you.
3

Register Each Token

Register each token via POST /v2/slack/install/token. Each workspace gets its own isolated namespace.
4

Search Any Workspace

Search any workspace by passing the installation_id, or search multiple at once:
Privacy guarantees:
  • Each workspace is stored in a separate vector namespace scoped to your organization
  • Customers never interact with Nia directly
  • Customers can revoke access by uninstalling their Slack app at any time
  • Bot tokens are encrypted at rest (Fernet AES-128-CBC)

Required Slack Bot Scopes

When customers create their Slack app, they need these bot token scopes:
Minimum required: channels:read, channels:history, users:read. The other scopes are optional but recommended for full coverage.

Need Help? Join our Discord community or reach out through app.trynia.ai for support.