Building an active user base in Slack

Five things we learned from building HubSpot’s Growthbot

Justin Lee
Slack Platform Blog
7 min readNov 30, 2017

--

In the tech industry, we have a terrible habit: we love screwing things up. Whenever we see something new & shiny that has a glimmer of promise to be the next big technology trend, we jump on the bandwagon, building for the latest technologies without much consideration for the experience behind it.

It seems like that latest big tech trend is bots. While bots can be valuable and could revolutionize the way businesses communicate in the near future, if you’re thinking about building one, you have to ask yourself: is the problem you’re solving suitable for a conversational interface? That is a system design problem, not an engineering one.

Before you look into building a bot from scratch and finding customers to use it, we suggest using a framework to aid you in your design process. Here’s one we developed based on what we learned from scaling GrowthBot, a sales & marketing bot designed to help you grow your business (shout out to our friends at the HubSpot Marketing Blog).

1. Clearly communicate to your users what your bot does

As you set out on your journey to create a bot, think about the reason your bot exists and make sure that it actually improves on existing options. At the moment, the adoption of bots is picking up, and the public is just starting to get used to the idea of a digital assistant.

Be specific about what your bot can or cannot do, and if possible, help guide new users through a series of use cases within their first few interactions.

If you’re building a bot for the first time, try not to reinvent the wheel. Most popular bots provide users new ways to process and update information by completing manual-update tasks or answering questions through a conversational interface. Think about the tasks you want your users to complete, and decide whether chatting with a program to complete them will provide a better experience than doing it the traditional way. If not, you should rethink the the service your bot provides and the value it adds.

One of our personal favorites is Meekan, a bot which allows people to update their calendars within Slack. It allows people to be proactive about their calendar clashes or update invites without having to jump into the web browser.

This vastly improves upon the way people have traditionally managed their calendars—manually scanning through dozens of updated invites or upcoming clashes to sort events out. Meekan takes those dozens of burdensome interactions and does them for you, automatically.

2. Don’t use Slack like email

A common use case for having a bot is to deliver information to your users. In this case, it’s important to think about how urgent that piece of information might be to your target user. If it’s not time sensitive or if it’s very text-heavy, you might want to consider moving to email.

You might be tempted to send regular updates like weekly emails in Slack. If so, you might be doing it wrong. To condense your broadcasts into bite-sized bits of information that users will enjoy in Slack, remember that messaging channels require less text and greater interaction. Think about what information in your emails is crucial and actually requires user input.

Some Slack users still spend a significant amount of time on email, so map out how you want information to be disseminated to them. Do you have a big product feature update? An invitation to an event or webinar? These are all more suitable for an email inbox—where people will have much larger tolerance for long-form content—than for a bot.

3. Map out the actions your users might take

Soon after smartphones launched, the default SMS apps were almost replaced instantly by third-party messaging apps popping up everywhere outside of the US, mainly in Europe (Viber, Telegram) & Asia (WeChat, Line). These apps originally started out as clones of the SMS apps, with the only difference being that messages were counted against the data limit instead of SMS allotment.

The messaging apps soon evolved to take on more features like read receipts, add-to-calendar features and other micro-interactions. Some new APIs of the messaging apps matured and allowed developers to build for even more advanced interactions.

These enhancements allow developers to add buttons, menus and other design paradigms to messages. Not only can apps send keywords, but they can also open up webpages, do OAuth, and integrate with other external tools. All these interactive options have expanded potential use cases for bots tenfold.

One of the most obvious ways to map out a bot use case is to examine a common problem people have, and to create a conversational UI to replace this existing behavior. For example, here’s how Taco Bell’s TacoBot thinks we will be ordering food in the future:

That’s a total of 109 characters—109 taps—to tell TacoBot I want a taco. Now take a look at just opening up the website and ordering a taco from there.

That took a total of 6 taps. The concept of a bot being the perfect solution to all sorts of tasks is idealized. If your bot does not provide a much better solution to web interfaces, consider if you need to have a bot at all.

This is not unique to bot design, but if you are able to understand the user’s problems clearly, identify the problems that need to be solved constantly, refine the solution in real time, and then deliver that solution without having the users leave the app, you’ve got a real use case for a bot.

4. Feed your bot some training data by running some ads

If you’re using any of the machine learning & natural language processing libraries or services like NLTK or Dialog Flow, you will need some training data for the algorithms to get better at understanding user intent.

One way to scale the data and train the algorithms is to dedicate a bit of your budget to Adwords, which is great for driving an initial adoption and getting a group of users in to test with production data. According to Google, businesses generally make an average of $2 in revenue for every $1 they spend on AdWords.

Set your ads’ destination as your landing page or the Slack App Directory Page if you haven’t got a website. If you’re looking to get started quickly, here’s the Beginner’s Guide to PPC.

Conduct periodic check-ins with your data, and examine manually if your bot is understanding the user intent accurately. At this stage, you probably wouldn’t need to use complex NLP engines because you won’t have data to mine. Look carefully at the common themes & queries popping up with user inputs & refine your product roadmap accordingly.

5. Promote your bot in the right places

If you’re a believer of the adage “build it and they will come,” then you’re in for a disappointment. Bots are not as ubiquitous as you might imagine, so you will need to focus on the right channels to drive adoption for your creation.

Figure out your Buyer Persona

Buyer personas (sometimes referred to as marketing personas) are fictional, generalized representations of your ideal customers. Personas help us all — in marketing, sales, product — internalize the ideal customer we’re trying to attract, and relate to our customers as real humans. Having a deep understanding of your buyer persona(s) is critical to driving content creation, product development & guiding your promotion strategy.

The good news is they aren’t that difficult to create. You just need to ask the right questions to the right people, and present that information in a helpful way so the people in your business can get to know your persona(s) better than the backs of their hands.

We’ve put together an interview guide and a free template for creating buyer personas, so it’s easy as pie to do your persona research and compile it all into a presentable, palatable format.

Add your app to the Slack App Directory

Make sure you submit your app to the Slack App Directory. That’s probably the most important promotional tactic for any bot creator.

Below is the number of messages processed monthly by GrowthBot. Notice the spike in September and the upward trend that follows.

Create a dedicated, SEO-friendly landing page

It might be tempting to stop here after creating a listing on the Slack directory. After all, you’re building a bot, not a web app, right? However, most users find it frustrating that they are unable to find a dedicated website to read more information on a bot.

A dedicated landing page gives them options to read more about what value the bot can bring, and to better understand the context in which the bot can be used so they don’t have to deduce the functionality themselves.

Curious to see how GrowthBot works? Add it to Slack now.

--

--

Justin Lee
Slack Platform Blog

Marketing x Product. Heading growth for GrowthBot @HubSpot. Obsessed with economics, evolution, technology & rewiring the human brain.