A New Slack API: The inevitable rise of the bots

Bots, eh? They work hard, but don’t you sometimes feel like they could be working harder? We do. After all, isn’t that what we were promised in the…

Russian dolls

Bots, eh? They work hard, but don’t you sometimes feel like they could be working harder? We do. After all, isn’t that what we were promised in the great and glorious future?

We were tired of waiting. We want the great and glorious future now. So, for our developer friends, we present: our new Real Time Messaging (RTM) API. What does that mean? Glad you asked…

The RTM API is the same one our clients use to talk to our servers, and because of that, it can give you real time updates on everything that happens in your team. Everything. That doesn’t just include the messages in channels, but also stuff like updates to files, comments, stars, user presence, user profiles, the team itself, and many other things.

We’ve been playing with this internally since, well, since before Slack was even a thing. And we’ve noticed it’s like a super-turbo-charged version of our incoming and outgoing webhooks — really useful for writing little bots that respond to things that happen inside Slack. Unlike webhooks, these bots can respond to DMs, be invited to private groups, be kicked out of specific public channels, and they can respond to any event, not just messages.

 

deploybot

 

But wait, there’s more! We found that making and managing the user accounts for each of these bots is annoying so we’re also launching a new type of “Bot User” account. These accounts are designed to be easy to manage; anyone who can set up a custom response for Slackbot should be able to start their own small-scale robot horde over a lunch hour. And even if your team is on a paid plan, the bot users will always be free. Which is only fair, given that they’re not real people.

If you’re interested in building something using the Real Time Messaging API, we’ve got full documentation on our API site, and sample Node.js and Python libraries on Github. There’s also a guide to bot users.

And, if all of that seems like too much work, you can just download and run our hubot adapter which has been updated to use the RTM API too.

Slack’s better when you customize it to your needs. Sometimes those customizations are simple preferences or new emoji. Sometimes they’re out of the box integrations with other services like Trello, Dropbox or Twitter. And sometimes they’re more advanced customizations unique to your team. We’re releasing these APIs to give you more options on how you’d like Slack to work for you.

Truly, we’re one step closer to the future. Next up: Jetpacks.

Slack is the collaboration hub, where the right people are always in the loop and key information is always at their fingertips. Teamwork in Slack happens in channels — searchable conversations that keep work organized and teams better connected.