> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onyx.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack Federated

> Set up the Slack Federated connector

## Jan 2026 Update

In June 2025, Slack introduced ToS and API changes that restricted customers from indexing their own data.
Onyx introduced the Slack Federated connector that uses the Search APIs as an alternative to the indexing connector.
However, Slack has recently reversed these API restrictions, which allows the indexing connector to work again.

We have found that the Indexed Connector performs signficantly better than the Slack Search APIs at finding relevant
results. We strongly recommend using the [Slack Indexed Connector](/admins/connectors/official/slack/slack_indexed)
if possible.

## Setting up

### Authorization

<Steps>
  <Step title="Prerequisite">
    You must be an admin of the Slack workspace to set up the connector.
  </Step>

  <Step title="Open Slack apps">
    Navigate and sign in to [https://api.slack.com/apps](https://api.slack.com/apps).
  </Step>

  <Step title="Create new 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**.

    <img className="rounded-image" src="https://mintcdn.com/danswer/24Ocig51qMqahMaT/assets/admins/connectors/slack/SlackApp.png?fit=max&auto=format&n=24Ocig51qMqahMaT&q=85&s=34db1121037811370fb9b3cf38985fa8" alt="Slack app creation flow with manifest option selected" width="1137" height="862" data-path="assets/admins/connectors/slack/SlackApp.png" />
  </Step>

  <Step title="Paste manifest">
    Select the "YAML" tab, paste the following manifest into the text box, and click **Next**:
  </Step>
</Steps>

```
display_information:
  name: Onyx Search Assistant
  description: Search your Slack data as yourself
  background_color: "#4A154B"

oauth_config:
  redirect_urls:
    - https://<YOUR_ONYX_DOMAIN>/federated/oauth/callback
  scopes:
    user:
      - channels:read
      - groups:read
      - im:read
      - mpim:read
      - search:read
      - channels:history
      - groups:history
      - im:history
      - mpim:history
      - users:read

settings:
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false
```

<Info>
  For Onyx Cloud, the `redirect_urls` value should be `https://cloud.onyx.app/federated/oauth/callback`.
</Info>

<Warning>
  We do not currently support token rotation, so `token_rotation_enabled: false` is necessary.
</Warning>

<Steps>
  <Step title="Create app">
    Click the **Create** button.
  </Step>

  <Step title="Open Basic Information">
    In the app page, navigate to the **Basic Information** tab under the **Settings** header.
  </Step>

  <Step title="Copy client credentials">
    Copy the **Client ID** and **Client Secret**. Store those somewhere safe for the next step.
  </Step>
</Steps>

<img className="rounded-image" src="https://mintcdn.com/danswer/24Ocig51qMqahMaT/assets/admins/connectors/slack/FederatedSlackCredentials.png?fit=max&auto=format&n=24Ocig51qMqahMaT&q=85&s=de58b86acbc816be26c5c2c43603a901" alt="Slack Basic Information page with Client ID and Client Secret" width="2094" height="1034" data-path="assets/admins/connectors/slack/FederatedSlackCredentials.png" />

### Indexing

<Steps>
  <Step title="Open Slack connector">
    Navigate to the Connector Dashboard and select the **Slack** Connector.
  </Step>

  <Step title="Enter client credentials">
    Enter the **Client ID** and **Client Secret** from step 7.
  </Step>

  <Step title="Configure search scope">
    Configure the search scope for the federated connector. The following configuration options are available:

    **Channel Selection:**

    * **Search All Channels**: Enable to search all accessible channels. When enabled, the Channels field is disabled.
    * **Channels**: Specify which channels to search (only used if Search All Channels is disabled). Supports glob patterns (e.g., `general`, `eng*`, `product-*`).
    * **Exclude Channels**: Exclude specific channels from search. Supports glob patterns (e.g., `secure-channel`, `private-*`, `customer*`).

    **Message Types:**

    * **Include Direct Messages**: Include user direct messages (1:1 DMs) in search results.
    * **Include Group Direct Messages**: Include multi-person direct messages (MPIMs) in search results.
    * **Include Private Channels**: Include private channels in search results (user must have access).

    **Search Parameters:**

    * **Default Search Days**: Maximum number of days to search back (default: 30).
      Increasing this value may degrade answer quality.
    * **Max Messages Per Query**: Maximum number of messages to retrieve per search query (default: 25).
      Higher values provide more context but may be slower.

    Once configured, click the **Create/Update** button.

    <img className="rounded-image" src="https://mintcdn.com/danswer/24Ocig51qMqahMaT/assets/admins/connectors/slack/SlackFederatedConnectorSetting.png?fit=max&auto=format&n=24Ocig51qMqahMaT&q=85&s=55db3fde4fdd278446a9dce75048b219" alt="Onyx Slack Federated connector settings showing client credentials" width="1808" height="2502" data-path="assets/admins/connectors/slack/SlackFederatedConnectorSetting.png" />
  </Step>

  <Step title="Complete OAuth">
    Head back to the main Chat page and go through the OAuth flow!
  </Step>
</Steps>

<Info>
  Every user will need to go through this OAuth flow. The searchable content depends on:

  * The connector configuration settings (channels, DMs, private channels, etc.)
  * The OAuth scopes granted during setup
  * The user's individual access permissions in Slack

  If certain OAuth scopes are missing (e.g., `mpim:read`, `im:history`),
  the connector will gracefully continue searching other available channel types and log warnings about the missing
  scopes.
</Info>

<img className="rounded-image" src="https://mintcdn.com/danswer/24Ocig51qMqahMaT/assets/admins/connectors/slack/FederatedSlackOauth.png?fit=max&auto=format&n=24Ocig51qMqahMaT&q=85&s=d85eb92cf76cec8c464e290530a403e9" alt="Slack OAuth consent screen for Onyx Search Assistant" width="3448" height="1794" data-path="assets/admins/connectors/slack/FederatedSlackOauth.png" />
