Back To Blog

Scoring the office with a Chatbot in Slack

Originally Posted on Ideas by Crema - Medium June 27, 2016

For the past few years, our team has been a HUGE fan of Slack. We have completely removed email from all internal communication. We either speak face-to-face, through Asana (our PM system), or through Slack. Email is only used for clients and sales. If you’re not familiar with Slack, then let me explain. Slack is basically a chat app. Companies, organizations, or groups of people set up a Slack team for quick communication regarding specific, categorized topics. It’s not all that different from Facebook Messenger, G-Chat, or Apple Messages. The primary difference is that it’s an invite only group, and you can setup any number of “channels” or topics of discussion around each team. For the developers and engineers in the room, it’s great to be able to share snippets of code, and even use command line experiences in the chat box to jump between channels, invite more people, or run custom scripts.

We have completely removed email from all internal communication.

Here’s a snapshot of our Slack channel set up:

“general” = misc. office stuff.

share_ this” = links to articles, videos, GIFs, etc.

“stand_up” = lets people know if you’re working from the office ITO (in the office), WFH (working from Home), coffee shop, or Greece.

“client_name” = each client has a project-specific channel where questions are asked, daily standups are posted, and progress is shared.

“private_channel” = chat privately or in little pop-up groups that don’t have a specific topic; basically a direct message.

“role_specific_channel”. each group is focused on a certain role and can discuss ideas about their role across projects; may include best practices, industry news, or feedback on challenges. These roles include: design, dev, strategy, project_management, growth_hacking, etc.

What is a Slackbot?

Within only a few years, Slack has had a wildly successful story of growth. Google “Slack $1B valuation,” and you’ll see. A lot of that continued success has been attributed to how they’ve positioned themselves less as a standalone chat app and more as a platform that can be extended and customized by the community. Slack opened up their API soon after launching, allowing developers to access a team’s channels and messages to create additional functionality in and around Slack’s core features. Integrations and apps were created for all types of purposes. You can get news, Google Alerts, analytics, GitHub commit comments, InVision design comps, or notifications from other apps posted into specific Slack channels.

There are also chat bots in Slack called Slackbots. Chat bots have been around for years outside of Slack, but in the last 12 months they have become a hot trend in tech startups. You may have interacted with one back in the early 2000’s when they were used on websites to chat with visitors as virtual customer service representatives. For a time, they even had animated people moving their lips as if you were chatting with a real person. (So corny!) The simple idea is that an application is looking for certain words or combinations of words that it recognizes. Then it replies with a canned response, appearing as if the app is “chatting” with you. If it doesn’t understand something, it will tell you that it can’t help or it will suggest the types of questions it can answer. Slackbots are just chatbots for Slack, but what Slack lets us do is use certain cues or data points from Slack to listen for special events to make the interaction even more customized. More advanced chatbots are now including AI (artificial intelligence) and machine learning to make their responses more intelligent and more useful to the user.

What is Scorebot?

Let’s get to the point already! We built a Slackbot with emojis!

In Slack, when you post a message, instead of responding with “Sounds good” or “Good job” or “yeah!!”, you can add a reaction. A reaction is any emoji that gets posted right on the original message instead of in a reply. Reactions are very similar to emojis in Facebook or text messages. You can add an emoji in response to anyone’s post. We’ve been using reactions since the function was a buried feature in the early days of Slack.

Ross Brown (one of our developers) thought it would be fun if you could see which team member gets the most reactions. He built a quick version of the app that we hosted on our own server which allowed us to give scores to these emojis.

:thumbsup: = 10 points

:100: = 100 points

:smiley: = 20 points

Early versions of the app required that you use /commands to ask for scores of each emoji (that we called Medals) . You can also run a /command to see a leaderboard of who had the most points from these reactions. It was a bit nerdy, but worked great!

We tested the app internally and had a blast finding the funniest videos, most witty responses, and anything we could do to earn reactions from our peers and climb our office leaderboard. We built dashboards to pit different sides of the office against each other for team points. We found issues. We broke the app several times and continued to tinker and make it better between projects and after-hours. We talked about how it would be fun to share it with others. We posted the GitHub repo so that other dev-friendly teams could install the app themselves on their own servers and enjoy what we were doing! We continued to use ScoreBot internally until it quietly died. We were unable to revive it for some time as our company began to grow through great projects and clients.

Revived Scorebot and gave it personality.

That changed in early 2016 when we hired a developer intern. Chris Walter was a UMKC student who was eager to learn and grow into a more experienced, creative developer. We tasked him to revive ScoreBot in a way that would allow other teams to enjoy the experience with us. Chris rebuilt ScoreBot on a development base that allowed easy install through an “Add to Slack” button. Now anyone with a Slack team could install the bot while we handled the hosting and maintained the app. He also took ScoreBot even further into the chatbot world allowing people to ask @scorebot questions. If you asked ScoreBot, “@scorebot Who’s winning?”, it would join the conversation with a full list of team members that had scores in order from highest to lowest. We gave @scorebot a bit of personality. When you install ScoreBot, he introduces himself and uses messages to walk through what he is capable of doing. The build was quick, but it worked. In true MVP fashion, we released the website with the “Add to Slack” button, bugs and all,, and without features we thought would be key to its success. Our aim was to get it out quickly to collect feedback and gauge user perception. We gave Scorebot a brand and positioned it as an app created by our team at Crema.

Front Page of Product Hunt

A good launch needs something to grab people’s attention and set it apart from the crowd. A landing page website has a hard time standing out against all the other “we built something” sites. After a quick brainstorm, we decided to work with our good friends at Summer House Films to put together a video introducing everyone to our new experience. Our team, led by the aforementioned Ross Brown, came up with a plan and scripted the video to describe the features of ScoreBot in a one-upmanship office environment. Summer House came through and we had our promo video. We posted the video on Facebook, YouTube, and the ScoreBot website, and promoted the page on all of our social platforms. Ross’ dry wit and the creativity for the video paid off, and we landed a few thousand views in the course of a few days!

The app went live while I was on vacation. After we got back, I woke up Saturday morning to a Product Hunt push notification on my phone. Some app called ScoreBot was at the top of Tech. I thought to myself, “You’ve got to be kidding me. Someone used our name!” Then I realized…it was our app! At the same time I had asked someone on the team to try to submit to Product Hunt, it had been picked up by someone else and submitted without our knowledge. Even better! Throughout that day ScoreBot crashed a few times due to so many teams installing and trying it out. This was far more than we had anticipated for a MVP. During the following week, we watched even more people install the app. Though we don’t have their personal information, we were able to see a lot of really exciting brands using our app. ESPN, PBSKids, NFL, and many others were having fun scoring their peers in the office.

We made a few mistakes:

how to assign emojis point values was a real challenge for users.The ‘help’ email address went to an intern who was on his honeymoon!The code was not well tested or documented.

What we did right, however:

We launched it!

The feedback has been great! In general, the social media chatter around ScoreBot has been about how fun the experience is. We have also received a lot of feature requests, most of which align perfectly with our roadmap to make ScoreBot better. We’re also looking for ways to continue to engage with users and make ScoreBot a part of their daily lives outside of Slack.

To date, over 300 teams have installed the app and nearly 2000 individualshave been scored. We’ve spent less than a few hundred dollars promoting it on Facebook. The promo video has been viewed nearly 10,000 times across YouTube and Facebook. The growth has significantly tapered in the last couple weeks since we dialed back our efforts to push it. While we want to see Scorebot grow to more teams and users, we are regrouping now to plan how to refine and enhance making it smarter, stronger, faster, and more entertaining. Our challenge is to work to create margins around billable projects to get this done. As new features come out we’ll work to better engage users and help them use their Slack team’s scores to enhance their daily team culture.

Why did we build it?

We spend a huge amount of time and effort partnering with clients to launch their products. We completely immerse ourselves in their ideas, brands, markets, and customers to create their solutions. Because of this and our innovative culture, we feel the itch ourselves. Our team has an ever-present desire to solve simple everyday problems with fun and useful solutions.

Some companies have attempted to follow the 80/20 model Google established years ago, (and has since discontinued). The basic idea is to give every employee the opportunity to use 20% of their time to explore new ideas. This practice has its merits and helped produce products such as Gmail, Google Maps, and many more. Our company, however, found that as a small business, we have to be more flexible. Internal products at Crema can happen during lunch, after hours, on the weekends, or during lulls between projects. We also host week-long rapid prototyping sprints through our Innovation Lab. During these weeks, team members collaborate internally, aside from client work, and build a completely Crema-made product. Some of those ideas have potential to generate monetary value, while others better our culture and stretch out technical capabilities. What we have learned is that creative teams will always have the desire to craft more, and that fostering an environment that allows teams to create for themselves opens a world of innovation.

Fostering an environment that allows teams to create for themselves opens a world of innovation.

Building products internally, for ourselves, makes us a knowledgeable and seasoned partner for our clients. We’ve experienced the investment and the grind that it takes to get something live. We have felt the tension between adding more features versus launching what’s currently done. We weighed our options as we decided whether to invest hard earned money into promotions, more features, or support services. And we have faced the difficult decision to continue or pull the plug on a project. In short, we’ve been there, we know what it feels like, and we know what it takes.

We build our own apps and experiences because it’s what we love to do. We will continue to make ScoreBot smarter, funnier, and more reliable. We will build more products for ourselves and share them with others. We will create apps or platforms that are ready to make the world a better place.

Use Slack? Try out Scorebot. http://getscorebot.com

Interested in building a ChatBot or learning about what else Crema can do to help you launch your idea? Shoot us a message or Subscribe to our email list.