When we started building Swarmia, we found a surprising lack of Slack tooling for GitHub, the biggest developer platform out there. Why weren’t there good Slack notifications and interactions for GitHub? We saw an opportunity to improve the quality of developers’ life — and that’s exactly why we’ve put a lot of effort into our bi-directional integration between GitHub and Slack.
In this blog post I go through the details of how we built our GitHub Slack integration — touted by our users as the best GitHub notification experience they’ve ever had.
The problem with existing tooling
If you’ve ever perused the depths of GitHub settings (seriously, why are real-time Slack notification settings under "Scheduled reminders"?) you might know that GitHub provides Slack notifications natively.
These were introduced when GitHub acquired Pull Panda in 2019. Unfortunately, though, they haven’t received much love since. The notifications feel unpolished and more like an afterthought for the GitHub team, which is a shame. And that’s why many people opt to use the email notifications instead.
What does a great GitHub experience on Slack look like?
Less noise and more context
As a first step of implementing better notifications, we cleaned them up and added more context, so that you have all the info you need in the notification.
Note how the Swarmia notification:
- Contains the full comment body
- Has the filename that the comment pertains to
- Uses the commenter’s real name instead of the sometimes cryptic GitHub username
These are small improvements but they already make the experience much more pleasant.
In addition to improving the contents, we also reduce the amount of spam you get by not sending notifications for actions done by bots, which can quickly get irritating.
Faster feedback loops
We recently implemented a feature that allows you to reply to GitHub comments directly from Slack. This has been very helpful for those quick comments on the go from your phone's Slack app, or when you just quickly want to reply to someone without breaking your flow.
When a CI check fails for your pull request, we can send you a notification about that, again enabling faster feedback loops.
We see lots of opportunities for future quality of life improvements. Merging pull requests from Slack when they have been approved and the CI passes, and allowing you to emoji react to comments for those quick 👍 moments, are two examples of features that we are currently looking into.
We realize that developers have a wide variety of workflows and preferences. That’s why we’ve built our notifications from the ground up to be configurable to your preferences, so you will receive only the notifications that you want.
The effects of having good notifications
Our Slack notifications are the feature that gets the most praise from the developers using Swarmia. The effects of having better communication for pull requests cannot be overstated; no one likes to wait for reviews.
~ Senja Jarva, Senior Frontend Developer @ Brella
I especially love the Slack integration to GitHub. It gives me the certainty that I'm always up-to-date on anything that is going on in my PRs.
When every comment and review request you get can be easily spotted from Slack, response times get much faster. It starts to feel like you’re chatting in real time in GitHub, compared to the usual uneasiness of not knowing whether the other person has even seen your message. It’s also much easier to keep track of comments or reviews that you need to respond to, reducing the chance of reviews falling through the cracks.
When chatting in GitHub starts to feel more natural, the discussion starts to gravitate there. This is great, because it keeps the discussion in context and close to the code. Years from now when someone looks up the pull request that added some code, they will see all the discussions related to it.
Ultimately, better communication makes for happier and more productive developers, as they’re able to collaborate better and get their code through faster.