With only three steps you can turn your Autopilot-powered Assistant into a Slackbot:
- Create a new public Slack channel
- Create new outgoing webhook integration in Slack
- Add your Assistant's custom webhook to the Slack URLs field
Let's walk through the steps you'll need to complete now.
On the left sidebar of your Slack client, click the "circle plus sign" (highlighted below) next to the Channels header.
Set your channel to public (private channels won't work), give it a name, and click the green Create Channel button:
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:
<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.
The custom Slack webhook for your Assistant takes this form:
As you can see, you'll need two pieces of information from Twilio to complete this URL:
- Account SID
- Assistant SID
You can find your Account SID in the Twilio Console
You can find your Assistant SID in the Assistant List:
Again, here's the the URL template:
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.
That's it! Now go back to your Assistant's Slack channel, and type "Hello!" to see what happens.
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:
This will allow Autopilot to distinguish a new conversation from an existing one.
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
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
Any message sent to a bot with this URL will insert CarModel, CarMake and CarYear into the Autopilot Memory.