Ask Me Bot, a Slack bot to answer your questions

As part of a hackathon project at General Assembly, I decided to spend some time trying to solve a recurring problem I was observing with new hires.

With any company, it takes some time to fully onboard and feel confident in the lingo. As GA went through a hiring craze, I noticed that we didn't have a great tool for helping new hires ask common questions, such as:

  • What's the wifi password?
  • How do I connect to the printer?
  • Where can I find the brand assets?
  • etc...

Research

I did some asking around, and gained some insights on the problem.

  • New hires were nervous about asking "dumb" questions on Slack.
  • Most of our FAQs were hidden deep in Confluence.
  • Onboarding documents lacked mention of common questions/answers.

The Solution

Since bots don't judge you, and with improvements in NLP, I figured it would be a good idea to create a Slack bot to field these questions (since that's where we spend most of our time).

The bot, dubbed 'AskMeBot', would help alleviate the confusion of being a new hire at GA by providing guidance and direction.

Powered by a Confluence table database, I started a prototype and tested my hypothesis. The bot consumes a table from a page on Confluence and uses Logistic Regression Classifiers to return the most accurate response to the end-user.

Screenshot using AskMeBot on Slack
Sample of the Classifier Table on Confluence

How it works

  • Step 1: Hear the phrase that was sent to the bot.
  • Step 2: See if we have a cached response from Confluence we can send back.
  • Step 3: If not, loop over our classifier table and pull out the response with the most confidence.
  • Step 4: If we don't have a response with a confidence greater than 80%, fail with a sadface.

Conclusion

AskMeBot has seen 4+ years of service and has answered thousands of questions over its lifetime. Shortly after I released it, I added in the ability for the bot to refresh its own cache of FAQs, this way I could crowdsource the population of the database. AskMeBot currently fields over 60 different questions and has improved the onboarding for all new hires and existing employees looking for a quick answer.