How it works
The Slack connector indexes all public channels for a given workspace. To index private channels, add the Slack App to the private channel. For Slack Enterprise Grid orgs, a single install covers every workspace in the org. See Enterprise Grid setup below.Setting up
Authorization
Admin requirement
Navigate to Slack Apps
Create new Slack app
- Click the Create New App button in the top right.
- Select From an app manifest option.
- Select the relevant workspace from the dropdown and click Next.

Configure app manifest
Create the app
Navigate to OAuth permissions
Copy OAuth token
Indexing
Navigate to connector
Provide credentials

Set workspace ID and connect
Note: The first indexing pulls all of the public channels and takes longer than future updates.
Enterprise Grid setup
If your Slack instance is an Enterprise Grid org with multiple workspaces, you go through the app-creation flow once at the org level and use a single org-level bot token in Zortex. Slack still requires the org admin to choose which workspaces the bot is deployed to (it is not auto-deployed to every workspace just because the app is approved at the org level). Zortex detects Grid automatically from the bot token and indexes every workspace the bot has been deployed to.What changes vs the single-workspace setup
- The app manifest must enable org-level deploys and include the
team:readscope. - You install the app to the organization once (a single OAuth approval as Org Admin), but you must also pick which workspaces in the org the bot is deployed to — Zortex can only index the workspaces the bot is actually a member of.
- Channel links in indexed documents resolve to the correct per-workspace URL.
- Document permissions for public channels are scoped to the users in the workspaces the channel is shared into (not the entire org), so a user in Workspace A cannot see Workspace B’s public channel documents in Zortex.
Authorization (Grid)
Create a new Slack app
Use the Grid manifest
org_deploy_enabled: true and the added team:read bot scope:Install to the organization
Deploy the bot to each workspace you want indexed
https://<your-org>.enterprise.slack.com/admin) → Apps → Zortex Connector,
and select the workspaces the bot should be deployed to.
Without this step auth.teams.list returns zero workspaces and Zortex will only see the workspace the app was
developed in.Copy the org-level bot token
xoxb- just like a regular bot token but carries org-level permissions.Indexing (Grid)
The connector setup in Zortex is identical to the single-workspace flow — paste the bot token and click Connect. Zortex inspectsauth.test() on the token; if enterprise_id is present it switches to Grid mode automatically:
- Enumerates workspaces via
auth.teams.list - Lists channels per workspace via
conversations.list?team_id=...and dedupes org-shared channels - Resolves the per-workspace URL via
team.infofor channel link building - Builds per-workspace user-email sets for public-channel permission scoping
Permission scoping behavior
Troubleshooting (Grid)
Validation error: missing `team:read` scope
Validation error: missing `team:read` scope
team:read to enumerate workspaces. Add the scope to the manifest,
reinstall the app to the organization, and copy the new bot token into Zortex.Zortex only indexes channels from one workspace
Zortex only indexes channels from one workspace
auth.teams.list only returns workspaces the bot has been added to.
Open the Grid org admin panel → Apps → Zortex Connector and add it to every workspace you want indexed,
then trigger a new index attempt.A user from another workspace can search a workspace's public-channel content
A user from another workspace can search a workspace's public-channel content
5000.
Above that limit Zortex falls back to marking the doc public so it stays accessible;
the same fallback applies when none of the channel’s workspaces are in Zortex’s cache (for example a workspace added
to the Grid org after the connector was set up). Re-saving the credential re-builds the workspace cache.