We’ve changed our name! API.AI is now Dialogflow. Learn more here.

Slack

Dialogflow's Slack Integration makes it easy to create your own Slack apps and bots and train them to understand natural language.

Setting Up Slack

In order to set up the Slack integration for your agent, you'll need the following:

Create a Slack App

  1. Navigate to the Slack Developer Console
  2. Enter a name for your app
  3. Choose a Team you would like the app associated with
  4. Click the Create App button

Add a Bot User

  1. Click on Bot Users in the left hand menu
  2. Click the Add a Bot User button
  3. Enter a name for your Slack bot (this is what users will see they add your bot)
  4. Enable Always Show My Bot as Online
  5. Click the Add Bot User button

Enable Event Subscriptions

  1. Click on Event Subscriptions in the left menu
  2. Click the switch to enable the option
  3. Under the Subscribe to Bot Events , click on the Add Bot User Event button

    This will reveal text field and list of events. You can enter terms into this field to search for events you want your bot to respond to. Here's a list of events we suggest adding:

    Event Name Event Description
    message.im A message was posted in a direct message channel
    message.groups A message was posted to a private channel
    message.channels A message was posted to a channel
    im\_created A DM was created

  4. Once you've added the events, click the Save Changes button at the bottom of the screen

Enabling Integration in Dialogflow

In the Slack Developer Console, click on Basic Information in the left hand menu and scroll down to the App Credentials section. Make note of the Client ID, Client Secret, and Verification Token.

  1. In Dialogflow, go to Integrations in the left hand menu
  2. Click on the Slack tile
  3. Enter the related values into the following fields:
    1. Client ID
    2. Client Secret
    3. Verification Token
  4. Click Start

Continuing Slack Setup

Now that you've set up Slack and Dialogflow, you'll enable both OAuth and Event Requests URLs, that are provided by Dialogflow.

Add OAuth URL

  1. Copy the OAuth URL from Dialogflow's Slack setting page
  2. Go to the Slack Developer Console and click on OAuth & Permissions in the left hand menu
  3. Click on the Add a new Redirect URL button and paste the OAuth URL
  4. Click Add

Add Event Request URL

  1. Copy the Event Request URL from Dialogflow's Slack setting page
  2. Go to the Slack Developer Console and click on Event Subscriptions in the left menu
  3. Click on the switch to enable Events, and paste the Event Subscription URL in to Request URL field

    After a few moments you should see a green "Verified" above the Request URL field.
  4. Once you're done updating these two settings, click the Save Changes button at the bottom of the page.

Add Your Slack Bot to a Team

  1. In the Slack Developer Console, click on Manage Distribution in the left menu
  2. Under the Share Your App with Your Team section, click the Add to Slack button
  3. On the next page, click the Authorize button to add the agent

Testing

You can test your agent without creating a public Slack bot. To do so, go to the Integrations page for your agent and click the switch on the Slack tile. In the pop-up window, click the Test In Slack button.

You'll be prompted to log in to Slack. Once logged in, navigate to the instance and locate the bot user called @dialogflow-bot. You can direct message the agent to test it or add it to channels in your instance.