Slack Bot Access Requirements & Setup Guide

Slack Bot Setup Guide

Moveworks aims to accelerate and autonomously resolve IT tickets. To do this, Moveworks needs access to the Slack environment. This document walks through the steps to successfully implement and integrate the Moveworks Bot in Slack. The exact access requirements are outlined under step 3 in the manifest JSON file.

Account Needs:

Moveworks requires the bot token and signing secret for your bot created by an admin on your Slack production environment.

Bot Creation:

  1. Navigate to https://api.slack.com/, click Create New App and choose From an app manifest

  2. Select the appropriate workspace

  3. Copy the code block on the following page into the JSON tab. If you know the name of your bot already, change the values for display_information.name and features.bot_user.display_name.There are three URLs that are set as placeholders (https://app.moveworks.ai/Bxxxxx/slack/*). These will be updated in the next step after the bot is created to generate the Bot ID.

    {
        "_metadata": {
            "major_version": 1,
            "minor_version": 1
        },
        "display_information": {
            "name": "MoveworksBot",
            "description": "I'm MoveworksBot an AI trained by the IT team"
        },
        "features": {
            "app_home": {
                "home_tab_enabled": false,
                "messages_tab_enabled": true,
                "messages_tab_read_only_enabled": false
            },
            "bot_user": {
                "display_name": "MoveworksBot",
                "always_online": true
            }
        },
        "oauth_config": {
            "scopes": {
                "bot": [
                    "im:history",
                    "chat:write",
                    "im:read",
                    "im:write",
                    "team:read",
                    "users:read",
                    "users:read.email",
                    "app_mentions:read",
                    "users.profile:read",
                    "channels:history",
                    "channels:read",
                    "groups:history",
                    "groups:read",
                    "reactions:read",
                    "reactions:write",
                    "emoji:read",
                    "mpim:history",
                    "mpim:read",
                    "files:read"
                ]
            }
        },
        "settings": {
            "event_subscriptions": {
                "request_url": "https://app.moveworks.ai/Bxxxxx/slack/events",
                "bot_events": [
                    "message.im",
                    "member_joined_channel",
                    "member_left_channel",
                    "message.channels",
                    "message.groups",
                    "message.mpim",
                    "reaction_added",
                    "reaction_removed"
                ]
            },
            "interactivity": {
                "is_enabled": true,
                "request_url": "https://app.moveworks.ai/Bxxxxx/slack/actions",
                "message_menu_options_url": "https://app.moveworks.ai/Bxxxxx/slack/select_options"
            },
            "org_deploy_enabled": true,
            "socket_mode_enabled": false,
            "is_hosted": false
        }
    }
    
  4. Reveal the Signing Secret and save this to share with your Moveworks CS Team over a secure channel such as encrypted email.

  5. Only If installing on Slack Enterprise Grid, click on Org Level Apps and opt-in to the Org apps program if not already opted in. Next, click Install App. This will direct you to an Authorize page if you are properly logged in as an admin. Click on Authorize to continue.

  6. After authorizing the bot app, two tokens will appear under OAuth & PermissionsTokens for Your Workspace. The Bot User OAuth Access Token is the required bot token to share with your Moveworks CS team.

    1. Please note that the token must start with xoxb and NOT xoxp.
    2. If you are installing the bot in a single workspace, it will say Access Level: Workspace under the token.
    3. If installed in Slack Enterprise Grid, it will say Access Level: Org.
  7. Under Interactivity & Shortcuts, configure the Request URL (https://app.moveworks.ai/Bxxxxx/slack/actions) and the Options Load URL (https://app.moveworks.ai/Bxxxxx/slack/select_options ) making sure to replace Bxxxxx from the template URL with the bot ID of your bot.

    1. Make sure to click "save changes" so that updates are retained.
  8. Under Event Subscriptions, enter the Request URL e.g: https://app.moveworks.ai/Bxxxxx/slack/events

📘

Note: If you are configuring Moveworks for GovCloud, EU, or any other environment be sure to update the base URLs from https://app.moveworks.ai to the correct URL based on your environment

US Commercial Region: https://app.moveworks.ai
US GovCloud Region: https://app.moveworksgov.ai
EU Region: https://app.am-eu-central.moveworks.ai
Canada Region: https://app.am-ca-central.moveworks.ai

Additional Steps for Slack Enterprise Grid customers

  1. Navigate to the Slack Admin console and select which workspaces to install the bot in. Select Default for future workspaces so all new workspaces will have access to the app.
  2. Confirm by clicking Add App

FAQ

Q: Can I grant access to single-channel guests and/or multi-channel guests in addition to my full members?
A: Yes, Moveworks will ingest all active members and guests from your workspace/org, provided they have access to the Slack app itself. Learn more about Slack guest policies for apps here

Q: Can I make the Moveworks bot a default app that shows in all user's sidebars, instead of having them search for it?
A: Slack does not allow admins to set default "starred" apps in user's Slack client sidebars. We recommend leveraging the Employee Communications platform to send campaigns reminding users to "star" the Moveworks bot, so it always shows up in the sidebar.