We :heart: Slack. The elderly in our team were IRC die hards, but Slack even won them over (if for no other reason, for their awesome iOS changelogs).
Thanks to Slack integrations, its robust API and webhooks, we have data from all over filter into our Slack, from exception reporting to sales enquiries. If it’s something we need to know, we have it pushed through to Slack.
At the same time, our Canary product (which prides itself on helping you “Know. When it matters”) was able to push out alerts via email, sms or over it’s RESTful API. Canaries are designed from the ground up to not be loquacious. I.e They don’t talk much, but when they do, you probably should pay attention. Having them pipe their results into Slack seemed a no-brainer.
Our initial stab at this was simple: By allowing a user to enter the URL for a webhook in their Console, we could send events through to the Slack channel of their choosing.
Of course, this wasn’t all that was needed to this get working. The user would first have to create their webhook. Typically, this would require the user to:
Click on his team name, and navigate to Apps & Integrations
Hit the slack apps page and navigate to “Build”
Be confused for a while before choosing “Make a custom integration”
Select “Incoming Webhooks”
At this point the user either:
1.Decides this is too much work and goes to watch Game of Thrones
2.Goes to read the “Getting started” Guide before going to [a]
3.Chooses his destination channel and clicks “Add Incoming webhooks Integration”
After all this, the user’s reward is a page with way more options than is required for our needs (from a developer’s point of view, the options are a delight and the documentation is super helpful, but for an end user… Oy vey!)
Finally… the user can grab the webhook URL, and insert it in the settings page of their console.
(This isn’t the most complicated thing ever… It’s not as confusing as trying to download the JDK – but Canary is supposed to make our users’ lives easier, not drive them to drink)
This is Slack’s way of allowing developers to make deploying integrations quick and painless. This means that our previous 8 step process (9 if you count watching Game of Thrones) becomes the following:
The User clicks on the “Add to Slack” button (above)
He is automatically directed to a page where he authorises the action (and chooses a destination channel)
There is no step 3:
Of course, we do a little more work, to allow our users to easily add multiple integrations, but this is because we are pretty fanatical about what we do.
At the end of it though, 2 quick steps, and you too can have Canary goodness funnelled to one of your Slack channels!
At the moment, we simply use the incoming webhooks to post alerts into Slack but there is lots of room to expand using slash commands or bot users, and we heard that all the cool kids are building bots. (aka: watch this space!)
P.S. If you are a client, visit /settings on your console to see the new functionality.