Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Slack (Deprecated)

With only three steps you can turn your Autopilot-powered Assistant into a Slackbot:

  1. Create a new public Slack channel
  2. Create new outgoing webhook integration in Slack
  3. Add your Assistant's custom webhook to the Slack URLs field

Let's walk through the steps you'll need to complete now.

Create a new Public Slack Channel

On the left sidebar of your Slack client, click the "circle plus sign" (highlighted below) next to the Channels header.

create channel in slack

Set your channel to public (private channels won't work), give it a name, and click the green Create Channel button:

Create a new public Slack channel

Create new outgoing webhook integration in Slack

An outgoing webhook Slack integration sends POST request containing message details to a URL of your choosing. We'll use this integration to connect our Assistant with Slack.

Visit the custom integrations page for your Slack team:


Substitute <slack-team-name> with your Slack team name to get to your custom integrations.

From this Custom Integrations page, click Outgoing Webhooks. If you don't see Outgoing Webhooks as an option, click Apps, then Browse, and search for "Outgoing Webhooks" in the search box.

On the Outgoing Webhooks page, click the green Add Configuration button.

On the Add Configuration page, click the green Add Outgoing WebHooks Integration button at the bottom of the page.

Scroll down to the section titled Integration Settings. Select the name of the public channel that you created for your bot. Leave the Trigger Words field empty (you can read more about trigger words at the bottom of this page).

Leave the URLs field blank for a moment -- we'll come right back to it.

Give your bot a Custom Name, which you'll see everytime it replies in the channel. And if you wish, choose a Custom Icon for your bot.

Add your Assistant's custom webhook to the Slack URLs field

The custom Slack webhook for your Assistant takes this form:<ACCOUNT_SID>/<ASSISTANT_SID>/slack

As you can see, you'll need two pieces of information from Twilio to complete this URL:

  1. Account SID
  2. Assistant SID

You can find your Account SID in the Twilio Console


You can find your Assistant SID in the Assistant List:

Find your assistant&#39;s unique SID in the console

Again, here's the the URL template:<ACCOUNT_SID>/<ASSISTANT_SID>/slack

Use this URL template to:

  • Replace the <ACCOUNT_SID> and <ASSISTANT_SID> with your own.
  • Paste your custom URL into the URLs field in the Slack configuration screen.
  • Click the green Save Settings button at the bottom of the page.

Set the URL for your Autopilot-powered Slack bot

That's it! Now go back to your Assistant's Slack channel, and type "Hello!" to see what happens.

More on Trigger Words

Trigger words prevent your Slack bot from responding unless a specific word is used in a message. Slack offers the option of indicating a trigger word in their settings, but it is best if you do not use Slack's trigger words on the Outgoing Webhooks Slack page, as it will prevent Assistant from working correctly when you ask followup questions.

Instead, if you'd like to use a trigger word, you can include it in the Assistant webhook as a URL parameter. For instance, if you wanted your trigger word to be "slackbot", you enter:<ACCOUNT_SID>/<ASSISTANT_SID>/slack?TriggerWord=slackbot

This will allow Autopilot to distinguish a new conversation from an existing one.

Autopilot URL Parameters

Parameter Description

A string representing the unique name of the destination Task. If no TargetTask is provided, the destination task is determined by the natural language understanding.

TargetTask is useful when you want to control what task a user is routed to.


A string representing the Trigger word (if one is used) to invoke the bot on the Slack Channel.


Lets you send Inbound Context to Autopilot. Should be a JSON string containing key-value pairs to insert into the Autopilot memory before starting a dialogue with the bot.

Useful for passing data stored in third party systems like a CRM into Autopilot

Example 1: Using TargetTask parameter at the end of the URL<ACCOUNT_SID>/<ASSISTANT_SID>/slack?TargetTask=handle_appointment_confirmation

Any message sent to number or messaging service configured with this URL will land in the handle_appointment_confirmation task.

Example 2: Passing Inbound Context with Memory<ACCOUNT_SID>/<ASSISTANT_SID>/slack?Memory={"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"}

Any message sent to a bot with this URL will insert CarModel, CarMake and CarYear into the Autopilot Memory.

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.