Slack Bot

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

1. Server setup

This step only applies when you're running Now Assistant in a local environment. Skip this step, if your server can be reached with a public URL.

Use ngrok as a tunnel when Now Assistant is running on a server which is not publicly accessible from the internet.

  1. Run the cmd prompt as an Administrator
  2. Type ngrok.exe http 2014 which will expose http://localhost:2014 to the internet and give you their address. For example:
    Web Interface       
    Forwarding           -> localhost:2014
    Forwarding           -> localhost:2014
  3. In the IIS Web Server under bindings for localhost:2014 app set the ngrok url.

2. Create a Slack App

Using your existing Slack account, navigate to 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

3. 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

4. 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

  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.


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

  • im:history
  • bot
  • chat:write:bot
  • users:read

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

5. 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

6. 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.

7. 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:


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.

8. 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.

Last updated: Fri 16 Mar, 2018