Just released: Developer preview of Microsoft Teams bot integration for Now Assistant. Try with your Teams ×

Slack Bot

In order to use Now Assistant as a chatbot inside Slack, please follow the instructions set out in this article.

If you're running Now Assistant in a local environment, you need to first make your web server publicly accessible.

1. Create a Slack App

Using your existing Slack account, navigate to https://api.slack.com/apps and click on Create an App

Add an App Slack Bot

On the following screen give your app a name, and select the relevant workspace you want to add the app to (provided you are part of multiple workspaces).

Create App in Slack

Click on Create to reach the settings page for your new app. In the next few steps we will need the three menus highlighted in the red box:

App Basic Information

2. Create a Bot User

The Bot User will be the identity the users will be interacting with through chat. Click on Bot Users on the left. On the next screen you can Add a Bot User

Add a Bot User

Now enter a username and Display name for your bot user. Ideally, you'll want something that reflects the name of your Now Assistant frontend, i.e. if you have branded Now Assistant with a unique name then you should re-use this name here.

Add bot user name in Slack

3. Create events and scopes

Event and Scopes is used to configure how to react to user inputs, i.e. forward text messages to Now Assistant and reply back with the search result.

First, click on Event Subscriptions on the left. On the next screen toggle 'Enable Events' to on.

Enable Slack events

To configure these, we need to enter the Request URL where Now Assistant accepts HTTP requests send by Slack.

Add Request URL

Type in the public URL of your server, and follow it with '/botslack', i.e. https://<your-server-name>/botslack. Once you entered the URL, a challenge is sent that Now Assistant will respond to. This will give us the 'Verified' message from Slack.

If you don't receive a 'Verified' message, contact your server administrator to provide you with the correct URL.

Subscribe to Bot Events section

Next we need to enter information under Subscribe to Bot Events. Please follow the next steps:

Steps to subscribe to Bot events

  1. Click Add Bot User Event
  2. Enter and select message.im
  3. Click Save Changes

We don't recommend to add multiple events, but depending on your needs you may want a different event of the 'message' category of events.

Finally let's set the permissions which are called "Scopes". Click on OAuth & Permissions.

Scopes

In the input under Select Permission Scopes start typing in message and add all the following scopes one by one:

  • bot
  • chat:write:bot
  • users:read
  • users:read.email

users:read is used to read a user's email address from Slack to match it with a user in Now Assistant.

Click Save Changes at the bottom to confirm your selection. The finished result should look like this:

Scopes filled out

4. Installing App in your Workspace

Let's bring this app into your Workspace, by clicking on OAuth & Permissions and then Install App to Workspace.

Install App Workspace

On the next screen you need to confirm the security message by Slack by clicking Authorize.

Authorize app

Now back on the OAuth & Permissions screen take a note of your Bot User OAuth Access Token for the next step.

OAuth Token

5. Add Interactive Buttons

You can give the user the option to select the same buttons in the Slack UI as you offer them on the original Now Card. To enable this feature click on Interactive Components on the left.

Interactive Actions Components

Under Request URL enter https://<your-servername>/BotSlackAction.

Should the Now Card have buttons configured they will now automatically show as interactive buttons in the Slack UI, too.

6. Configure Now Assistant bot settings

The botslack endpoint is protected from unauthorized usage, so we will have to configure the settings for it to allow our Slack bot requests provided the correct token is present.

Open your Now Assistant in the browser and go to the following address:

https://<your-server-name>/Admin/adenin.GateKeeper/GlobalSettings/adenin.GateKeeper.SlackBot

Now Assistant Bot Settings for Slack

On the Slack Bot Settings screen paste your Bot User OAuth Access Token from Step 5. Save the setting by clicking the checkmark button.

7. Test functionality

Your bot should be good to go now. Open your Slack client and add your new app. Now send your bot user a "test" message:

Test Message

We'd expect the bot to reply with "I'm sorry, I don't understand: test".

Now try a phrase that you know finds a Card in the search results in Now Assistant, for example "Show me my PTO".

Slack Response PTO

The bot will then either respond that it found a Card or shows the answer directly if the Card is configured to be "Adaptive" in the Card Designer.

If the bot replies with "Please login once to your Now Assistant before using the bot." then the current Slack user either wasn't matched with a user in Now Assistant, or hasn't logged in.