Command Center - Slack Guide

Setup

1. Adding the Command Center to a Slack Team

Once you have a deployed bot, go to the Advanced tab of your bot to find the Command Center. Toggle it on and click Add to Slack to add the Command Center to your Slack team. It doesn't matter which channel it automatically posts to.

Add to Slack

2. Specifying Default Invitees

Once added to your Slack team, the Command Center will create new Slack channels for every user that messages with your bot. However, the Command Center doesn't know who to invite to these channels! To finish setup, you should specify the Slack @usernames of people that you want to invite to every channel.

Add to Slack

Receiving Messages

Once your Command Center is set up, whenever your bot receives a message from a user:

Receiving a message

a new Slack channel for that user will be created:

New Slack channel

And at this point going forward, this Slack channel effectively becomes a running history of the interactions between your bot and this user:

History

Sending Messages

Your bot will continue following your dialogue script until you interrupt it. To take over from the automated dialogue, use the /dex-say Slack slash command. Use it to send a message to your user!

Dex Say

/dex-say will only work inside channels that are associated with Dexter bot users.

An Important Note

Once you use /dex-say, your bot will stop automatically responding with your written dialogue script. Anything that the user says to your bot will not be matched against any triggers. Your scripted dialogue stops because it would be confusing to your users to potentially receive two messages—one automatically from your script, and one from a human responder!

In case you're wondering, what is actually happening here is we have moved your user into a secret topic that essentially has a catch-all trigger mapped to a <noreply>. This means that it is sometimes possible to have your bot respond if you have any triggers with weights in your default topic.

Continuing The Automation

But of course, at some point you probably want your bot to take the reins again and automatically respond. You can force your user back into a particular topic in your dialogue script with /dex-topic [topic] [message].

For example, if you say, /dex-topic default The bot is now taking over!, your user gets moved into your default topic and your bot will say to your user, "The bot is now taking over!"

Additional Configurations

Channel Names

All Slack channels the Command Center creates starts with a dex- prefix. (For example, the Command Center will create a channel called #dex-lebron-james for when Lebron James gets in touch with you.) You can change this prefix under your Slack Command Center settings.

Auto-Send on Enter

By default, simply typing something into a Command Center channel inside of Slack will not do anything. This means that you're able to talk with your colleagues about your bot's user without sending them an actual message. However, if this isn't useful for you and you want to simply automatically send all messages sent in the channel without using /dex-say, you can turn on the Auto-Send option.

Accessing User Information

Sometimes you might want to find out more about a user—perhaps to see what topic they are in, or to see any data associated with them. Using the /dex-info slash command within a channel will show you all info associated with this user.

Using /dex-info is a great way to check whether someone is inside the secret noreply topic ("dex-human-bypass")

Adding Utility Bots to Your Channel

Make your command center teams even more helpful by creating additional Slack bots and adding them to your command center Slack Team.

To do so, you will need to create a separate new Dexter bot with a new Slack app -- you cannot reuse the existing Command Center Slack app.

Once you have gone through the standard "Deploy" and "Add to Slack" steps for your utility bot, your new bot can be used inside of Command Center channels to support you in crafting responses for users.

Let's say a user texts to your bot:

 Hi, I am purchasing the rare 50-year-old Yamazaki. How much does it cost?
 Sounds great! We'll have someone contact you!

Before you are ready to message the user back using /dex-say, you can ask your utility Slack bot (@rareliquorbot) to help you search up the available stock and the cost of the good in your inventory.

In the #dex-user slack channel:
 @rareliquorbot cost of yamazaki 50
 You have 1 bottle of the 50-year-old Yamazaki (2005 release), priced at $137,999.99.

Then, you can message back to the user using /dex-say:

 We do have a 50-year-old Yamazaki available at $137,999.99!
 thanks, but that's out of my price range. 😂

Responding Directly With Your Utility Bot

Alternatively, you can have your utility bot message back to the user. You would do this by including the ^dex-say() shortcode in the response of a trigger you include in the bot script of the utility bot, like so:

Now, the bot will respond with two messages:

1) One message is sent to the user's channel in your Command Center team:

  @rareliquorbot tell user price of Yamazaki 50
 Sending the user the price of Yamazaki 50.

2) The other message goes directly to the user on the original platform:

 The cost of Yamazaki 50 is $137,999.99.
 thanks, but I can't afford that right now! 😞

Troubleshooting

After messaging a user from Command Center, my bot is not sending any messages to my user anymore.

If your bot is not responding to any messages after you have used the /dex-say command, this is because your user is now in a "no-reply" dex-human-bypass topic.

To make the bot respond to your user again, you will need to make the bot return to a topic where the bot responds. Do this by using the /dex-topic command.