Building the new Reacji Channeler

How we went from concept to workflow to public app

Slack API
Slack Platform Blog
3 min readJan 23, 2017

--

It started as many good ideas do, with a joke. What if we could collate all our best, most awful puns into a single channel, automatically? A bit of brainstorming led to a bit of code and quickly we had a prototype of what would become the Reacji Channeler app.

How the app works is fairly simple: a slash command lets you link a specific reacji (reaction emoji) with a specific channel. When anyone in the future adds that emoji as a reaction to any public message, a copy of that message gets reshared in the designated channel.

A bit of history

Soon after emoji reactions were launched, our team developed a habit of tagging messages containing funny puns with a custom :airhorn: emoji. At first, it was meant as a visual signifier to mark something as funny-slash-terrible, as many puns can be. But soon after, someone wondered if there was an automated way to collect them all in one place, regardless of which channel the message and reaction were posted in.

The first version of Reacji Channeler did exactly that — it collected every message with an :airhorn: and tossed a copy into a new channel called #airhorn, giving everyone an endless stream of eye-rolling jokes from every corner of our team.

What’s going on behind the scenes

The Reacji Channeler starts as a slash command that accepts two parameters: name of emoji and name of channel. Next, it uses the Events API to monitor the reaction_added event. If the app finds a match with any tracked emoji, the message is copied to the designated channel using the chat.postMessage method.

Behind it all, there’s a simple database that keeps track of which messages have already been posted to a channel so that future additions of the same emoji won’t make messages reappear in the feeds. Finally, we built a simple one-page site to add the app to your own Slack team using the Add to Slack button. The Reacji Channeler is truly a minimum viable product type of app, built internally to test out the capabilities of our Events API ahead of its debut in Summer of 2016.

Great, but what can you do with it?

Check out our main blog post announcing the app, but internally we often use this app to highlight messages for internal teams. If someone mentions an idea in our feature request channel that our developer relations team really ought to see, anyone marking it with their custom mascot emoji means that group will see the message in their team channel.

For the government services group 18F, they’ve been using emoji reactions as an informal way of tracking knowledge to later share. 18F’s workflow would be a perfect use-case for the Reacji Channeler to automate into a designated channel for anyone on their team to review.

We can’t wait to see what kinds of things teams end up using this app for, and we’re sharing some background on how it was built in hopes it might give developers ideas for apps that solve real problems for working teams but also don’t need to be overly complex or difficult to build. Sometimes simple and easy just works.

--

--

Slack API
Slack Platform Blog

Tips to integrate with Slack APIs to make your work life simpler, more pleasant and more productive — whether for your internal team or millions of Slack users.