Skip to main content

Slack instance collision

Issue

During Slack Real Time Search (RTS) setup, Glean detected an existing custom Slack instance with a matching workspace or enterprise ID. Because custom and RTS apps share the same name and slash commands, configuration collisions will occur unless the custom app is updated. To proceed with the RTS migration, you must rename the existing custom app and add required bot token scopes.

Required bot scopes

The following scopes must be added to your custom Slack app for the migration to succeed:
  • channels:manage
  • channels:write.invites
  • groups:write
  • groups:write.invites
  • im:write
  • mpim:write

Resolution: Update the app manifest

Follow these steps to update your existing custom Slack app configuration:
  1. Log in to your Slack account.
  2. Go to your app admin panel.
  3. Select the app associated with your existing Glean custom Slack instance.
  4. In the left sidebar, navigate to App Manifest.
  5. Within the display_information section, change the name to Glean Enterprise Graph. This prevents naming and slash command collisions with the new RTS app.
  6. Locate the oauth_config section and ensure the bot scopes list includes the following:
    • channels:manage
    • channels:write.invites
    • groups:write
    • groups:write.invites
    • im:write
    • mpim:write
  7. Click Save Changes.
  8. Reinstall the app to your workspace if prompted by Slack to apply the new permissions.
  9. Return to the Glean Admin console and retry the RTS setup validation.

Example app manifest

_metadata:
  major_version: 1
  minor_version: 1
display_information:
  name: Glean Enterprise Graph
  description: Searches across all your apps
  background_color: "#343ced"
features:
  app_home:
    home_tab_enabled: true
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: Glean Enterprise Graph
    always_online: false
oauth_config:
  redirect_urls:
    - <REDIRECT URL>
  scopes:
    user:
      - links:read
      - mpim:read
      - pins:read
      - reactions:read
      - team:read
      - users.profile:read
      - users:read
      - users:read.email
      - channels:read
      - channels:history
      - groups:history
      - mpim:history
      - files:read
      - groups:read
      - im:read
      - im:history
    bot:
      - app_mentions:read
      - assistant:write
      - channels:history
      - channels:read
      - chat:write
      - chat:write.public
      - commands
      - groups:history
      - groups:read
      - im:history
      - im:write
      - links:read
      - mpim:history
      - mpim:read
      - reactions:write
      - users:read
      - links:write
      - canvases:write
      - files:read
      - files:write
      - channels:manage
      - channels:write.invites
      - groups:write
      - groups:write.invites
      - mpim:write
settings:
  event_subscriptions:
    request_url: <REQUEST_URL>
    user_events:
      - channel_created
      - channel_deleted
      - channel_history_changed
      - channel_left
      - channel_rename
      - channel_unarchive
      - file_change
      - file_created
      - file_deleted
      - file_shared
      - file_unshared
      - group_deleted
      - group_history_changed
      - group_left
      - link_shared
      - im_created
      - im_history_changed
      - member_joined_channel
      - member_left_channel
      - message.channels
      - message.groups
      - message.im
      - message.mpim
      - team_join
    bot_events:
      - app_home_opened
      - app_mention
      - link_shared
      - message.im
      - message.groups
      - message.mpim
      - team_join
  interactivity:
    is_enabled: false
    request_url: <REQUEST_URL>
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false
For additional assistance, please contact Glean Support at https://support.glean.com