Building a bot has become easier than ever with so many tools and resources available online. But I still find people struggling to get started. Having successfully launched my own bot called Engazify on the Slack app store, I have a few tips that will come in handy when you are building your own bot.

So let’s get started.

1. Bot Framework

Please do not reinvent the wheel. There are many existing frameworks that you can use to get started; choose the one that best suits your use case. I would recommend using Howdy’s BotKit, Slack’s official recommendation. There are other frameworks like,, or which are equally awesome. Choose wisely!

2. Technology Stack

Bots are very different from a web or mobile app and you need to take that into consideration before deciding the tech to build it. They need to be lightweight and quick. I would recommend using the MEAN stack (Mongo, Express, Angular, Node) to build your bot. We evaluated other options too but MEAN was a clear winner and here are the reasons,

  • BotKit uses Node.js and it’s easy to integrate
  • Faster development and execution time
  • Utilizes less resources to run
  • NoSQL works better for bots

3. Bot Workflow

Don’t start coding right away. You cannot build a great application without a good design-first strategy and bots are no different. Bots might look like they are just conversations and have no UI/UX, but please don’t let that fool you. Take a sheet of paper and start chalking out how the user will interact with your bot and what are the major touch points. Be as detailed as possible. If done right, you would have won half the battle.

4. Bot Personality

For the longest time, we have been using automated programs which respond in a lifeless and boring manner. Bots are different and that’s because they can have a personality. Your bot could be witty, humorous, shy, or rude. Take a pick! This is what will make your bot interesting to users and all your bot conversations will depend on that.

5. User Onboarding

Your users will love you for providing a simple and easy to understand onboarding flow. Don’t choose the easy way out by taking the user outside of Slack to get the onboarding done. A Slack user is trying your bot and it means they want an in-slack experience and keeping them outside for too long will make them pissed. There is a very small window and try to make the most out of it. Here are a few things you should do:

  • Write down some basic things the user should know to get an understanding of your bot. Just share these with the user through a direct message after installation.
  • Let the user know that they can contact the bot anytime for more information with a simple command like ‘help’ or ‘feedback’.
  • Don’t push yourself to the rest of the team without a proper invitation or else you will end up uninstalled for being too spammy.
  • There will be times when the bot won’t understand the user and just being silent won’t cut it. Create a few messages saying you don’t understand and ask the user to rephrase what they meant or show some help commands.

6. The Launch

Slack has made it very easy to publish your bot in their App store. They have very detailed launch documentation that you can use as a checklist. Having said that, they still review your bot and don’t just approve anything that comes along. Usually it takes close to two weeks for a bot to get approved, if you get it right in the first try, or else the review process could go on for a couple of months depending on how fast you are in getting the fixes done.

Quick tip for approval on first try: Do not ask for unnecessary permissions from users if your bot won’t need them. The amount of data and permissions you require from Slack depends on your bot use case, but developers typically ask for more permissions and authorizations just for the sake of it and end up confusing the user. Be wise!

7. Growing the bot

Hooray! You have done the hard work in building and launching your bot on Slack. Now starts the fun part where you take your bot in front of the Slack community and grow your user base. You will get a lot of feedback, just keep improving by making your bot even smarter. Here are some tricks: