How to build and launch a bot on Slack
The only comprehensive guide you will ever need!
Originally written by Siddharth Shekhawat on Venture Beat.
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 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,
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. We had a great time using it. There are other frameworks like Wit.ai, Api.ai, orLuis.ai which are equally awesome. Choose wisely!
Technology Stack:
Bots are very different than 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 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
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 it 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.
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 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.
User Onboarding:
Your users will love you for a simple and easy to understand onboarding flow. Don’t take 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.
The Launch:
Slack has made it very easy to publish your bot on their App store. They have a 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 the bot to get approved, if you get it right in the 1st try, or else it could go for couple of months depending on how fast you are in getting the fixes done.
Quick tip for approval in 1st try — Do not ask for unnecessary permissions from users if your bot won’t need it. The amount of data and permissions you need from the Slack team depends on your bot use case, but people end up asking for more permissions and authorizations just for the sake of it and end up confusing the user. Be wise!
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 hacks,
· Create a landing page and get yourself listed on botlist.co.
· Join Slack communities like dev4slack and chatbotsgroup.
· Follow chatbotsmagazine on medium.
· Join Bots group on facebook.
Good Luck!
Siddharth Shekhawat is the CEO of Engazify, a bot which lets you appreciate your peers with emojis inside Slack.
Please tap or click ♥ to help promote this piece to others.