Slack (Live) Setup for Enterprise Search

View as Markdown

This page is for the Slack (Next Gen) connector and it can only be configured within the new enterprise search configuration experience explained below.

This connector cannot be used to set up a Chat Platform integration under Manage Chatbots in Moveworks Setup.

Please visit this documentation to learn more about Next Gen and Classic connectors.

System Overview

Slack is a collaboration platform that enables real-time communication, file sharing, and knowledge discovery across teams. Moveworks Enterprise Search integrates with Slack to enable Live Search — allowing users to securely search for Slack messages and content through Moveworks. This setup guide describes how to configure the Slack app and connect it to Moveworks using the provided app manifest.

Authentication

The Moveworks Enterprise Search Slack app uses OAuth 2.0 for authentication. During setup, Slack admins authorize Moveworks to securely access limited workspace data via read-only scopes.****

Permissions Enforcement

Moveworks adheres to Slack’s permission boundaries at all times. Search results are restricted to the authorizing user’s access level, ensuring that Moveworks only returns Slack messages and content the user is permitted to view.

Access Requirements

Moveworks connects with your Slack workspace using a dedicated Live Search Integration app. This app allows Moveworks Enterprise Search to perform secure, real-time searches on behalf of authorized users within Slack.

Pre-requisites

Before you get started, make sure you have everything you need:

  1. Admin permissions : Slack Workspace Admin or Org Admin permissions are required to create and install Slack apps in your enterprise workspace.
  2. App setup requirements : You must create one Slack application specifically for Live Search Integration (OAuth 2.0 with User Token).
    • Enables Moveworks to execute Slack searches securely using the search:read user scope.
    • Uses OAuth 2.0 credentials — Client ID and Client Secret.
    • Requires the following redirect URIs:
      https://<your-org>.moveworks.com/auth/oauthCallback
      https://www.moveworks.com/

Setup Slack Apps

Create the Live Search Integration App

  1. Visit https://api.slack.com/apps and click Create New AppFrom an App Manifest.
  2. Select your workspace and paste the following manifest, replacing {org} with your Moveworks organization name ((e.g.https://acme.moveworks.com/auth/oauthCallback ).
1{
2 "display_information": {
3 "name": "Moveworks Enterprise Search"
4 },
5 "features": {
6 "bot_user": {
7 "display_name": "Moveworks Enterprise Search",
8 "always_online": false
9 }
10 },
11 "oauth_config": {
12 "redirect_urls": [
13 "https://{org}.moveworks.com/auth/oauthCallback",
14 "https://www.moveworks.com"
15 ],
16 "scopes": {
17 "user": [
18 "search:read"
19 ],
20 "bot": [
21 "users:read",
22 "channels:read",
23 "groups:read",
24 "usergroups:read"
25 ]
26 }
27 },
28 "settings": {
29 "org_deploy_enabled": false,
30 "socket_mode_enabled": false,
31 "token_rotation_enabled": false
32 }
33}
  1. After creating the app, navigate to OAuth & Permissions:
  • Confirm that search:read is present under User Token Scopes.
  • Verify that the redirect URI matches your Moveworks org callback URL. Screenshot 2026-03-11 at 1.38.20 PM Screenshot 2026-03-11 at 1.35.30 PM
  1. Navigate to the Install App section in your Slack app’s left-hand menu and install the app to your workspace.
  2. Retrieve the Client ID and Client Secret from Basic Information section. These will be required later when setting up the Slack connector in Moveworks Setup. Screenshot 2026-03-11 at 1.29.26 PM

Testing your credentials (Optional)

You can validate access by running the following Slack API calls:

  1. Validate ChatBot Token
    Query the following endpoint using the Bot User OAuth Token (starting with xoxb-). Screenshot 2026-03-11 at 1.40.15 PM
    1curl --location 'https://slack.com/api/auth.test' \
    2 --header 'Authorization: Bearer xoxb-<bot_token>'
    If your credentials are valid, the API will return a JSON response containing your workspace and bot user information, for example:
    1{
    2 "ok": true,
    3 "url": "https://yourworkspace.slack.com/",
    4 "team": "Your Workspace Name",
    5 "user": "your-bot-name",
    6 "team_id": "T12345678",
    7 "user_id": "U12345678"
    8}
    If “ok”: true appears in the response, your bot token is active and authorized.
  2. Validate Live Search Scope
    Authorize the Live Search app for a test user, then complete the OAuth 2.0 flow to obtain a user token and validate it:
    1. Get the Authorization (Sharable) URL
      1. Go to your Live Search app in the Slack API dashboard.
      2. Under **Manage Distribution → copy the Sharable URL.
      3. It will look like this:
        https://slack.com/oauth/v2/authorize?client_id=<CLIENT_ID>&user_scope=search:read
      4. Paste this URL into your browser and authorize the app using a Slack account from your workspace. Screenshot 2026-03-06 at 4.41.48 PM
      5. After authorizing, you will be redirected to your Moveworks callback URL:
        https://www.moveworks.com
        Copy the value of <AUTH_CODE> from the URL — you’ll use it in the next step.
    2. Exchange the Authorization Code for a User Token
      Run the following cURL command to exchange the authorization code for a user token:
      1curl --location 'https://slack.com/api/oauth.v2.access' \
      2 --header 'Content-Type: application/x-www-form-urlencoded' \
      3 --data-urlencode 'client_id=<CLIENT_ID>' \
      4 --data-urlencode 'client_secret=<CLIENT_SECRET>' \
      5 --data-urlencode 'code=<AUTH_CODE>'
      You will receive a JSON response similar to:
      1{
      2 "ok": true,
      3 "authed_user": {
      4 "id": "U12345",
      5 "access_token": "xoxp-user1234567890"
      6 },
      7 "scope": "search:read",
      8 "token_type": "user"
      9}
      Copy the authed_user.access_token value — this is the user access token that Moveworks will use for search queries.
    3. Validate the Token
      Test that the token has the correct search:read scope by running:
      1curl --location 'https://slack.com/api/search.messages?query=test' \
      2 --header 'Authorization: Bearer <user_access_token>'
      If successful, a JSON response with matching messages will be returned.

Setup in Moveworks

Connector Creation

  1. Log in to your org’s MyMoveworks portal
  2. Navigate to Moveworks Setup > Connectors > Built-in Connectors
  3. Click Create New
  4. Search and Select Slack (Next Gen)
  5. Click on Next: Add Creds
  6. Input the following details and click Save
    1. Connector Name : Name this connector for your future reference. Once set, this name cannot be changed.
    2. Workspace Team ID: Paste the Team ID you copied earlier (starts with T, e.g., T12345678).
    3. Workspace-specific Slack Bot Token: Paste the Bot User OAuth token you copied earlier (must start with xoxb-).
    4. Client ID: Paste the Client ID you copied earlier from the Live Search Slack app (App Credentials).
    5. Client Secret: Paste the Client Secret you copied earlier from the Live Search Slack app (App Credentials).
    6. Region (optional): Select Commercial or GOV to match your Slack environment.

Initialising setup

  1. Log in to your org’s MyMoveworks portal
  2. Navigate to Moveworks Setup > Answers > Ingestion > Enterprise Search
  3. Click on Create New or Get Started
  4. Select Slack from the dropdown list and click on Get Started
  5. You will be redirected to the Slack ingestion overview page. In the overview page, you will find few info blocks and few configuration blocks.
    1. System Overview: This presents an overview of Slack support from Moveworks
    2. Connector Selection: In this configuration block, you are required to select the required connector to enable Moveworks to connect and fetch data

Connector selection and validation

  1. Once you click on Select Connector, a connector setup screen will appear as follows

  2. Select the connector (from the dropdown) that you have created in the Connector Creation step.

    Please note: Only the Slack (Next Gen) connectors will appear in this list.

  3. Once the connector is selected, you need to click on Start Validation to validate the connector credentials and required scope.

    Connector Validation

    This is a mandatory step in order to save the configuration and move to the next step.

    Moveworks validates the selected connector to check:

    • Channels: Moveworks validates if connector has right scopes to fetch channels information
    • Users: Moveworks validates if connector has right scopes to fetch user data
    • Groups: Moveworks validates if connector has right scopes to fetch user groups data

  4. If the connector is validated successfully, you will see a green info banner as follows.

    1. If there are any credentials or scope issues, you will receive an error message as follows. Click on View Details to identify the issue. Refer to this step-by-troubleshoot guide (link to be added) to rectify any validation errors.
  5. Once the connector is validated successfully, you will be able to Save the configuration.

  6. Input the unique configuration name and Save.

  7. Once the configuration is saved, you can view the unique configuration name at the top of the screen. You can also click the pencil 🖊️ icon to edit the configuration name.

  8. Additionally, you will see a banner at the top of the screen with an Enable Live Search button. Click it to activate the Slack Live Search feature for your Enterprise Search web application.