Slack Bots Are the Best Chat Bots

The Lunch Table Theory

What makes a chat bot experiences on websites bad? What do Slack bots do correctly? How can developers learn from the Slack Bot API to make better chat experiences?

Slacking Off with Friends

Slack bots interface with groups of people, not individuals.

This distinction is important. It’s akin to public speaking in front of a crowd, vs having a private conversation.

Slack bots are just another stakeholder in conversation of many people. They don’t hold all the knowledge, and they don’t need to. They’re also not expected to “host the party”.

Slack bots are just there to add value when they’re needed.

If a message isn’t relevant, the natural response of people in a group chat is to ignore it. On websites, chatbots intrusively try and find a response to any type of reply from the user. It’s as if someone interjected constantly with useless info (um, actually…).

Slack bots can be trained to sit quietly in wait until the context is right.

Here is an example from the GIF above. All messages in the #stenography will be ignored unless the message is a code block.

…vs chatbots

Website owners add chatbots to their site because they predict that they’ll close more deals if the site can have a “conversation” with customers.

I personally believe this is an extension of the thought process that online shopping should mirror shopping in real life. If Stripe is the register, the chatbot is the robot customer service representative.

Unfortunately, as many come to find out, chatbots don’t have the range, interest, or up to date contextual knowledge that real human representatives have.

Chatbots end up a nuisance, leaving users frustrated. They add noise and take away signal from the website, both in terms of UX and actually answering user questions.


Don’t attempt to write chatbots that try to predict any/everything a person may do when they visit your site.

Use event based programming to create chatbots that surface helpful info when it is needed, and fades into the background when it’s not.