Slack
Slack Chatbot Setup Guide
Moveworks is an Agentic AI Platform that gives your employees one AI Assistant that can find answers, automate tasks & boost productivity. To do this, Moveworks needs access to the Slack environment. This document walks through the steps to successfully implement and integrate the Moveworks AI Assistant in Slack. The exact access requirements are outlined under step 3 in the manifest JSON file.
Note: Bot will refer to Slack specific steps and AI Assistant is used for Moveworks steps.
Account Needs:
Moveworks requires the bot token and signing secret for your AI Assisant created by an admin on your Slack production environment.
Bot Creation:
-
Navigate to https://api.slack.com/, click Create New App and choose From an app manifest
-
Select the appropriate workspace
-
Copy the code block on the following page into the JSON tab. If you know the name of your AI Assistant 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": "MoveworksAIAssistant", "always_online": true } }, "oauth_config": { "scopes": { "bot": [ "im:history", "chat:write", "chat:write.customize", "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 } }
-
Reveal the Signing Secret and save this to share with your Moveworks CS Team over a secure channel such as encrypted email.
-
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.
-
After authorizing the bot app, two tokens will appear under OAuth & Permissions → Tokens for Your Workspace. The Bot User OAuth Access Token is the required bot token to get all the required information for later chatbot setup.
- Please note that the token must start with
xoxb
and NOTxoxp
. - If you are installing the bot in a single workspace, it will say Access Level: Workspace under the token.
- If installed in Slack Enterprise Grid, it will say Access Level: Org.
- Please note that the token must start with
-
Retrieve Bot information
- Get an API querying tool like Postman or prepare to query Slack APIs with curl from a terminal interface
- Query the following endpoint to get your bot information:
curl --location 'https://slack.com/api/auth.test' \ --header 'Authorization: Bearer xoxb-bot70k3N'
- You will get a response like the following, note the values as they will be needed later during the AI assistant setup.
{ "ok": true, "url": "https://org.slack.com/", "team": "org", "user": "ai-assitant-name", "team_id": "T123MW45" OR "E123MW45", "user_id": "U123MW45", "bot_id": "Bxxxxx", "is_enterprise_install": false or true }
- If your team_id starts with an E, you are using Enterprise Grid and will need to make an additional call:
curl --location 'https://slack.com/api/auth.teams.list?limit=1000' \ --header 'Authorization: Bearer xoxb-bot70k3N'
- It will respond similar to this:
{ "ok": true, "teams": [ { "id": "T123MW45", "name": "org" } ] }
- Note the team ID, this will be needed later when setting up the AI assistant config.
-
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.- Make sure to click "save changes" so that updates are retained.
-
Under Event Subscriptions, enter the Request URL e.g: https://app.moveworks.ai/Bxxxxx/slack/events making sure to replace
Bxxxxx
from the template URL with the bot ID of your bot.- The link will not be editable in the display field. Click the change button to display the change field.
- Copy the existing link or the example above into the change field
- Ensure that you change the placeholder with your Bot ID
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
- Navigate to the Slack Admin console and select which workspaces to install the AI Assistant. Select Default for future workspaces so all new workspaces will have access to the app.
- Confirm by clicking Add App
AI Assistant setup
You will need access to Moveworks setup. If you have not already created an SSO connection to your org, please contact your customer success team.
Slack Connector and Identity Setup
-
In Moveworks Setup navigate to Connectors -> System Connectors
-
Click Create New and find the Slack option to create a new connector
-
In the credentials step
- Name the connector slack
- Add a new workspace by clicking the plus button
- In the first field under Workspace Team ID input the Team ID you got from the Slack API call earlier
- In the second field under Workspace Specific Bot Token, input your bot token that starts with xoxb
- Save the connector
-
In the left hand navigation menu proceed to User Identity -> Import Users
- If you do not already have your primary identity service set up, please refer to the documentation for it.
- Edit the import user config, in the next page add a new entry by clicking the + Add Source button
- In the dropdown that appears add the connector you just created called Slack.
- Proceed through the steps and save user import with your slack connector as a new source of user identity.
Chatbot Setup
- In the left hand navigation menu, proceed to Manage Chatbots
- Click create new
- In the Channel dropdown choose slack
- In the connector dropdown choose your slack connector (hopefully also called slack)
- In BotID paste the Bot ID you got from https://slack.com/api/auth.test
- In Bot Name, input the name of the bot where org is your instance's cannonical name
- You can confirm your org name in 2 ways:
- Referring to the subdomain of your moveworks url when logging into myMoveworks (org.moveworks.com)
- The redirect url of your myMoveworks sso configuration
- You can confirm your org name in 2 ways:
- Bot Friendly Name can be any string, but must be filled in, this is the name your end users will use to interact with it.
- In the Channel Configurations drop down choose Slack Vars
- Fill in the subsequently populated information from the auth test api or your slack app page at api.slack.com
- Choose commercial for environment
- Click save, name your chatbot after your Bot Name
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 AI Assistant, so it always shows up in the sidebar.
Updated 3 days ago