We first switched to using Slack for our internal team communication several years ago.
A lot has changed since then (including Slack’s valuation), but we still use Slack day-to-day. The way we’ve used Slack on a daily basis has evolved over time, but one thing has been pretty constant: our reliance on Slack integrations.
For those new to Slack, it doesn’t just enable human-to-human conversation among a team. In fact, most of the real power we’ve found from Slack comes from the ability to link it to third-party services, apps and bots, putting information directly in front of the team in a single place, and enabling them to get their job done more effectively without digging into dozens of external tools.
We have an incredible number of apps and integrations set up on our Slack workspace. In fact, humans are outnumbered by bots approximately five-to-one.
These integrations enable us to be more efficient in a number of ways:
- Managing the technical development of our own service and apps.
- Keeping tabs on security operations.
- Managing HR within the company.
- Upping our game on sales to win new customers.
- Being as efficient and effective as possible with our marketing.
- Delivering fast, delightful customer service.
- Tracking bugs, issues and customer feedback.
- Having the occasional bit of fun along the way.
Here’s a brief rundown of some of the different ways we use Slack integrations to work more effectively:
Hubot deserves a section to itself because it covers so many other aspects of how we use Slack.
We use Hubot to automatically respond to messages with useful information or to process commands such as triggering CI tests or responding to alerts. You’ll see Hubot pop up in a number of the examples below
It would be remiss of us to post about our Slack integrations without dedicating a section to Zapier.
Many of the integrations we have set up aren’t direct, first-party integrations – either because the service in question doesn’t support it, or because we wanted slightly more control over what data we received.
Zapier makes it incredibly easy to link any service you like into pretty much any other service (not just Slack). We’re huge fans of Zapier here for building simple things like this, which would otherwise require a lot of development and maintenance work.
Building our product
We’re a technology company; our product is built on code. We use GitHub for our code repositories and have CI / CD in place to build, test, and deploy all code as soon as soon as it’s ready to ship. We use Jenkins for our internal services, driven directly from GitHub activity:
… and Travis for our open-source projects:
Keeping the ops team up at night
Slack’s real-time nature makes it invaluable for keeping up to speed on all the different moving parts of our technical infrastructure.
We primarily use PagerDuty for processing alarms. When an alarm goes off, PagerDuty takes care of alerting an assigned team member via their service, but we also send the alert into Slack so everyone on the ops team knows what’s going on. If someone else is on hand, they can pick up the alert, with the help of Hubot.
We also make use of our own traffic spike and dip alerts to draw our attention to when something’s gone wrong. Normally the GoSquared site and apps have a few hundred people concurrently online at any given moment, so when something goes wrong…
For serious incidents where we have to update the GoSquared Status Page (powered by Atlassian StatusPage), we have a StatusPage integration that posts those updates into #general (it’s one of the few integrations we have in the #general channel – if our service is experiencing issues, we want to make sure everyone on the team is aware)
We also need to keep abreast of any issues or updates affecting any of the services we use, so we have a number of integrations set up to track things like the RSS feeds from AWS Status:
Or for following GitHub status (this is actually a Twitter integration since it’s more real-time than the RSS integration)
We also get updates from our security-scanning software such as Intruder:
We have a channel dedicated to the operation and deployment of our mobile apps. In the process of developing, testing, and deployment of Android and iOS apps, there are several steps which require hitting a submit button and waiting for something to process.
We post updates from any Fastlane releases:
We also track the approval and deployment status of our apps in the iOS App Store and Google Play Store:
The iTunes Connect (now App Store Connect) and Play Store updates are built using Zapier: we have an email address which receives these updates from Apple and Google and forwards these to Zapier’s Email Parser which then processes and forwards the notifications into Slack.
We also have a similar Zapier integration to forward error reports from telemetry such as Crashlytics:
For our sales team to work effectively, it’s important for them to be able to keep track of potential leads in real-time. We have a Zapier integration triggered by a GoSquared Smart Group Trigger which informs us of all new people signing up for a trial, along with some lead scoring information provided by Zapier’s Lead Score:
Leads are further qualified and analysed by the Russellator (named after Russell, its creator), our in-house system for detecting good-fit signups:
And once we win a new customer, a GoSquared Smart Group notification lets us all know:
We like to keep informed of how we’re doing publicly and on social media. So we have integrations set up to post the RSS feed from the GoSquared Blog (oooh, meta), so the whole team knows when a post has gone out:
Or when the team has posted something new on Instagram (this integration is powered by Zapier)
We also use Slack’s Twitter integration to see when someone else mentions @GoSquared
… or elsewhere on the internet via Mention and Zapier
Providing excellent customer service
We pride ourselves on being able to provide great customer support, so we have a number of Slack integrations that help us manage accounts.
Whenever someone sends us a chat message via GoSquared Assistant, if it’s not responded to within a few seconds, it’ll get posted to Slack for everyone to see:
If we need to dive into more information about a customer while discussing how to resolve a support case, Hubot is on hand with the relevant information whenever we mention an account ID or link to our internal management tools:
We also use GoSquared Smart Group notifications to alert us to important events on someone’s account, so if someone looks like they might be likely to cancel, we can reach out and make sure they’re happy.
We also actively gather feedback from our customers using Promoter, and pipe that back into Slack via Zapier:
Working as a team
We have a few integrations that help us work better together as a team. For HR management we use CharlieHR, and their integration helps us keep track of who’s in and out of the office:
… or helps us remember when someone has a birthday coming up:
Another very simple integration we have set up is one to remind us all to take lunch. We all work in the same time zone so it’s useful for us all to remember to take lunch at the same time. And occasionally it’ll switch up its avatar to give us some food-inspiration:
Keeping an eye on things
Dotted throughout the office, we have a number of screens showing dashboards and important metrics for the team to see at a glance.
Each of these screens runs on a Raspberry Pi using a small Electron app and each has its own Slack bot persona which we use to control what is displayed where.
We chose to name them after Star Wars characters, because we’re nerds like that. Simply @mention a screen in the #screens channel with a URL and it will display that URL for all to see. We added a few other commands, like saying “sup” to quickly check what every screen is displaying:
Having a bit of fun
The GoSquared team is (mostly) human. We like to have a bit of fun. And we also like building Slack bots. So when someone says “crikey” a few too many times, Steve Irwin might jump into the conversation:
Jony Ive occasionally pokes his head in if we’re saying very Apple-esque things like “all-new” or “completely redesigned”
Or when someone cracks a terrible joke, they might be met by the Face of Disapproval:
(We haven’t yet figured out how to build an automatic terrible-humour detector. Disapprovalbot is mostly manual – for now)
That’s all folks. For now at least.
That’s a brief summary of our favourite Slack integrations. There are plenty more we use that I didn’t touch on here, and a whole universe of other apps that we haven’t even tried.
Do you have a favourite Slack integration that we didn’t mention? Let us know on twitter!