Slack Bot Integration

Some of our customers demand a direct channel to the organizational knowledge without the uncertainty that an AI decides to use your secure and precise organizational search for knowledge questions or just the web. Therefore, you can integrate the Retrieval Suite’s query pipelines directly into Slack.

Good to know: You can set up multiple Slack bot integrations against different query pipelines, if you need to.

However, as of now, we avoid any decision making in the Retrieval Suite on which pipeline to use so that the generated search results stay highly deterministic. Therefore, you need to set up 1:1 relationships between Slack apps and query pipelines.

Please note that Slack integrations do not work hand in hand with Microsoft Search - due to the authentication flows involved. Slack integrations work however perfrectly with Azure AI Search, OpenSearch, Elasticsearch and more.

Slack Bot Registration

Our bot integration uses Slack events. This allows it to operate on premises and still to receive messages from Slack. The bot listens to mentions and to direct messages.

  1. Go to https://api.slack.com/apps and click on create new app

  2. Click at create from scratch

    image-20250915-103313.png
  3. Give it a name and choose your workspace

    image-20250915-103351.png
  4. Basic

    1. Make a note of the signing secret

      image-20250915-103445.png
    2. Scroll to App-Level-Token

    3. Click on Generate Tokens and Scopes

      image-20250915-113501.png

    4. In the popup, give it a name and choose connections:write

    5. Click on Generate

    6. Afterwards, make a note of the app token

  5. Socket Mode

    1. In this dialog, you need to enable socket mode

      image-20250915-115610.png
  6. Event subscriptions

    image-20250915-115713.png
    1. Here enalble events

    2. And subscribe to the following bot events:

      1. app_mention

      2. message.im

  7. Oauth and permissions

    1. Under scopes add the following bot token scopes

      1. im:history

      2. im:write

      3. im:read

      4. chat:write

      5. app_mentions:read

      6. users:read

      7. users:read.email (needed for secure search)

        image-20250915-115747.png
    2. Make a note of the Bot User OAuth Token

      image-20250915-113343.png

    3. If not done yet, install the bot application to your tenant by clicking on the Reinstall button.

  8. App Home

    1. Under app home, scroll down and enable messages tab

    2. And enable allow users to send slash commands and messages from the messages tab

      image-20250915-104050.png

Besides of the configured app, now you should have an app token, a bot user token and the signing secret. The app allows for socket mode and allows for subscribing to two bot events, app_mention and message_im.

Retrieval Suite Configuration

With this information, we can now configure the RheinInsights Bot.

image-20250915-115926.png

  1. Open the Retrieval Suite’s admin interface

  2. Go to Search UX > Bot Integrations

  3. Click add to add a new bot

    1. Bot type. Choose Slack

    2. Query pipeline. Please choose one of the query pipelines.

    3. App token. Add the app token from the Slack app definition above.

    4. Bot token. Add the bot token from the Slack app definition above.

    5. Signing secret. Add the signing secret from the Slack app definition above.

  4. Click on validate and save

Testing

Once you click on save, the new bot definition starts to listening for messages from Slack. Unfortunately, validation options are very limited and parameter misconfigurations generally lead to unanswered Slack messages.

In order to debug your bot configuration in such a case, first double check the log messages for any warnings. If this is not the case, then a misconfiguration on Slack app side might be the cause or wrongly added configuration parameters in the RheinInsights configuration.