Slack

Slack Search indexes messages and threads each connected member can access. Public and private channels are included by default; one-to-one and group DMs are opt-in. A Studio organization admin installs the organization's Slack app, then each teammate authorizes their own account for indexing.

Install the official app

When Install Studio Search is available, use the official app:

  1. A Studio organization admin opens Settings → Studio Search in Slack → Install Studio Search, selects the Slack workspace, and approves the installation. Slack may require workspace-admin approval.
  2. The admin opens Settings → Sources → Add source → Slack, chooses channel and DM settings, and selects Add channels or DMs. If Slack is already listed, open it, select Activate if needed, then Add channels or DMs. Keep Connected members under More options → Sync documents with.
  3. If needed, invite teammates through Settings → Members → Invite using their Slack email addresses. App installation does not add people to the Studio organization.
  4. Each member opens Integrations, selects Connect for Slack, and authorizes their own account using the same email as their verified Studio account.

Members use the admin's settings without selecting channels again. Public and private channels are included by default; DMs are opt-in. The bot installation alone does not enable Slack as a source or authorize access to members' messages.

Each organization uses one Slack app and workspace for member indexing. Enterprise Grid-wide installation is not supported. Content becomes searchable after indexing; Integrations shows connection status. Both the web Assistant and Slack bot apply the current member's access permissions.

  • DM Studio Search, or mention it in a channel it has joined.
  • Use /query [question] to start a private DM thread. Channel invocations keep personalized answers and account details in DMs.
  • Use /connect [provider], or Home → Connect sources, to open your personal Integrations in Studio. OAuth begins only after you click Connect there.
  • Follow source links to the original messages. Use Slack's Stop control to cancel the active answer and queued follow-ups.

Existing custom apps stay in place. Switching requires removing the old Slack connections and app setup, installing the official app, and having members reconnect. See Manage connections below.

The instructions below describe setting up a custom app when the official app is unavailable.

Before you start

You need a Studio organization admin and permission to create and install an app in the target Slack workspace. Ask a Slack workspace admin for approval when app installation is restricted. Use the same email address for Slack and your verified Studio account.

Self-hosted Studio requires a public HTTPS app URL; Slack cannot send events to localhost.

Set up the organization's Slack app

Skip to Connect the source if the organization already has a verified Slack app for member accounts.

Open provider settings

Open Settings → Sources → Add source and select Slack. Complete Set up Slack app before choosing messages to index. If Slack is already listed, open it and select Set up Slack app.

Configure an app in Slack

Select Install Studio Search to open setup. In Create Slack app, select Create app and choose the target workspace. Studio supplies a manifest with the required scopes, redirects, events, and interactivity URL. Keep Token Rotation disabled.

You can also open this wizard from Settings → Studio Search in Slack → Set up.

Return to Studio and select Continue. In Slack app credentials, paste Client ID, Client Secret, and Signing Secret from the new app’s Basic Information → App Credentials:

Select Continue, then Install in Slack. Approve the installation in Slack. Studio saves the bot connection and opens Settings → Studio Search in Slack. Complete any required Slack administrator approval before continuing.

Verify and continue

Return to Settings → Sources → Slack → Set up Slack app. Select Verify and add and authorize member access for the installed app. Allow popups if the authorization window does not open.

Member connections use one configured Slack app and workspace per organization. Installing another bot does not change that configuration. Changing the verified app requires members to reconnect.

After verification, select Add channels or DMs on Slack’s provider page to choose what to index. A connected bot alone does not mean Slack messages have been indexed.

Connect the source

Open Add channels or DMs on Slack's provider page. Choose Channel Messages, Direct Messages, Channels, and Earliest Message Date. Open More options for exclusions, archived channels, metadata tags, and Sync documents with. Keep Connected members for the usual setup.

FieldBehavior
Channel MessagesIncluded by default. Select Exclude for a DM-only source.
Direct MessagesExcluded by default. Include to index one-to-one and group DMs the connected member can access.
ChannelsLeave blank for all accessible public and private channels, or choose channel names/IDs.
Excluded ChannelsNames or IDs to omit; exclusions override included channels.
Archived ChannelsIncluded by default. The picker lists active channels; use manual names/IDs to select archived channels.
Earliest Message DateOptional UTC date (YYYY-MM-DD). Applies to the thread's first message; replies are included with that thread.

Select Add channels or DMs. Each person opens Integrations in the main sidebar, selects Connect for Slack, and approves the configured app. They use the admin's settings; they do not re-enter channel filters. Creating the source or verifying the Slack app does not authorize teammates automatically.

The Slack app's Home → Connect sources opens this same Integrations page.

To send a Slack connection request, open Settings → Sources → People, filter by Slack, then select Request connections. This requests an external account connection; it does not invite the recipient to the Studio organization.

You can instead select an existing account under Sync documents with to supply message content centrally. Members still connect their own accounts to establish access. The selected account must itself be able to read the selected channels.

Admins open Settings → Sources, open Slack, then open the source to inspect Documents, edit Settings, or review Sync history. Search reads indexed content, so source changes appear after background syncing. Slack retention and API limits determine how much history is available.

Manage connections

  • Members: Slack appears once in Integrations, even when several channel selections are configured. Use Reconnect when requested. Disconnect in the account menu removes that account from all Slack connections in the organization, including workflows using it.
  • Source admins: Open a Slack connection to edit filters, review sync history, or use Sync now, Pause syncing, and Resume syncing. Indexing normally runs automatically; successful manual syncs have a one-minute cooldown. Remove connection removes that indexed connection; it does not uninstall the Slack app.
  • Bot admins: Under Settings → Studio Search in Slack, the app's actions offer Reconnect, Disable or Enable, and Remove from Search. These control the Slack bot; they do not remove indexed Slack connections.

To switch apps, first remove Slack connections under Settings → Sources → Slack, then select Remove app setup on that page. Remove the old bot's Search binding under Settings → Studio Search in Slack → Remove from Search. Install the replacement app and have members reconnect. Workflow integrations retain their own app configuration.

Permissions reference

New Search member connections request these read-only User Token Scopes. DM scopes are requested even when DM indexing is off; the source settings determine what is indexed. Bot scopes are separate and allow Studio to receive and answer questions in Slack.

PurposeUser scopes
Public channelschannels:read, channels:history
Private channelsgroups:read, groups:history
Direct messagesim:read, im:history, mpim:read, mpim:history
Identityusers:read, users:read.email

The generated manifest includes these redirect URLs under OAuth & Permissions → Redirect URLs, using your Studio origin:

https://<your-studio-domain>/api/knowledge/slack/oauth/callback
https://<your-studio-domain>/api/credential-groups/slack-managed-users/callback
https://<your-studio-domain>/api/credential-groups/oauth/slack/callback

Compare OAuth & Permissions → Scopes → User Token Scopes with the table above. If scopes change, update the Slack app and have members reconnect. Do not change a shared production app's credentials to configure a separate test installation.

Existing workflow account pools retain their configured permissions; preserve those scopes when updating the shared app.

See Slack's app manifest reference and user token access model.

Troubleshooting

ProblemNext step
Setup keeps asking for a Slack appFinish Verify and add in the Slack setup; approval alone is insufficient.
Redirect mismatchCheck all three redirect URLs above against your Studio origin.
App or workspace mismatchUse the App ID and client credentials from the same app, and the ID of the workspace being authorized.
Missing scopesCompare User Token Scopes with the table above, update the Slack app, reinstall as Slack requires, and reconnect. In workspace setup, select Search documents in both setup screens.
Missing private-channel resultsConfirm the member is in the channel and it is within the source filters. With an indexing account, confirm that account can read it too.
Slow initial indexingCheck sync status and Slack rate limits. A large history can take multiple background runs.