Dev

Slack as a Notification Center

Feb 06, 2016

Slack is commonly used as a chat tool for teams, but for the past year and a half, I’ve used Slack as a notification center. Until recently, I’ve been a one-person team, so people were always surprised when they learned that I had a Slack for Cushion. When you consider all of Slack’s integrations and how trigger-happy most services are with emails, Slack becomes the perfect solution for wrangling notifications into one place.

Initially, I set up every integration to use the #general channel, but this quickly became a mess of alerts. I found myself sifting through dozens of notifications, hoping to see new subscribers, but finding mostly error alerts. That’s when I decided to split the notifications into several channels.

slack-for-notifications-build

The #build channel consists of two integrations—GitHub and Codeship. The GitHub integration is less useful for solo devs, but nice to have when referencing commits in the latest pull request. Cushion deploys through Codeship, which runs all of its tests prior to pushing to Heroku. Codeship notifications are very important because I instantly know when a build fails and, with one click, I can find out what went wrong.

slack-for-notifications-errors

The #errors channel is tied to Sentry, which catches any errors along with their stacktraces. Fortunately, Cushion hasn’t seen too many serious bugs, but when the occasional hiccup comes through, I try to fix it same-day. Because this channel is pretty quiet, I allow Sentry to catch non-bug errors, too, like validation errors. This helps me spot any usability issues, like a specific form field that might trip people up.

slack-for-notifications-marketing

The #marketing channel keeps track of people who sign up for the newsletter. This was originally handy when Cushion was in private beta. Now, it simply gives me a positive boost with each signup. When Cushion’s expenses page reached #1 on Hacker News, this channel was a firehose. That was a good day.

slack-for-notifications-users

The #users channel listens for new Stripe customers. Cushion requires a payment method upfront, so Stripe is a good indicator of new (real) users. These certainly aren’t guaranteed customers, but I can get a sense of how much Cushion is making the rounds based on the number of signups I see in a day. Since most users are freelancers, I often visit the website tied to their email address and check out their work. Eventually, I’d like to build a Slack integration that inserts a screenshot of a new user’s website when they sign up—that would be next level.

slack-for-notifications-stripe

Cushion also has a #stripe channel for new subscribers and charges. I originally included cancelled subscriptions, but those quickly became too depressing. To protect morale, I only whitelist the positive notifications while keeping an eye on cancellations on a day-to-day basis. Now, this is my favorite channel. Anytime it’s highlighted, I know I either received money or, even better, someone subscribed to Cushion. I can’t stress enough how important these boosts are when you’re building an app for so long.

slack-for-notifications-support

The #support channel is tied to Intercom, which I use for Cushion’s customer support. When a user emails support or sends a message in the in-app chat widget, I receive an abridged notification in Slack. This helps me know exactly when a user needs help, so I can respond right away. This is important to me because delighting a users with an instant response goes a long way. At this point, I need whatever advantage I can get, so lightning-quick support is my leg-up.

Since Cushion is still young and the traffic is bearable, I’m able to handle support by myself. Considering I’m the one who designed and wrote the app, I’m also the best person to respond to questions. I often go into great detail with answers, so the user feels closer to the app than they would with a trained support person using canned responses. If Cushion really takes off, I might eventually need help with support, but I still plan to stay in the loop as long as I can.


Running Cushion with Slack as a notification center has helped me immensely these past couple years. Without it, I imagine my inbox would be overflowing and I’d be behind with what’s happening at any given moment. Support emails would be gathering dust and the build server would be on fire. Maybe that’s too dramatic, but it goes to show how much I love Slack.

ps – Sign up for Slack with this link and you’ll get a $100 credit, which is 15 months free for solo paid accounts.

Share this on Twitter or Facebook

Archive

  1. Funding Cushion
    Story
  2. Hiring a Team of Freelancers
    Story
  3. Taking a Real Break From Work
    Story
  4. Slack as a Notification Center
    Dev
  5. Document Your Features
    Story
  6. 300
    Story
  7. Vacations
    Design
  8. Offering Discounts
    Design
  9. Waves of Traffic
    Story
  10. Less Blogging, More Journaling
    Story
  11. Retention Through Useful Features
    Design
  12. The Onboarding Checklist
    Design
  13. Spreading the Word
    Story
  14. From Beta to Launch - The Subdomain
    Dev
  15. From Beta to Launch - Sign up
    Design
  16. From Beta to Launch - Messaging
    Design
  17. Launch
    Story
  18. Authenticating with 3rd Party Services
    Dev
  19. Intro to Integrations
    Design
  20. Inspiration vs Imitation
    Story
  21. The Emotional Rollercoaster
    Story
  22. Designing Project Blocks
    Design
  23. Everything in Increments
    Story
  24. Deleting Your Account
    Design
  25. Designing the Subscription Page
    Design
  26. Rewriting the Timeline
    Dev
  27. Restructuring the Individual Project Page
    Design
  28. Project Blocks
    Story
  29. Redesigning the Homepage
    Design
  30. Multiple Timelines
    Design
  31. Archiving and Estimate Differences
    Design
  32. Multiple Financial Goals
    Design
  33. Zooming in on the Timeline
    Design
  34. Currency
    Dev
  35. Preferences, Accounts, and a Typeface Change
    Design
  36. Sending Out the First Email
    Story
  37. Currency Inputs, Notifications, and Invoice Nets
    Design
  38. Dots and Lines
    Design
  39. Calculating in the Database and Revealing Tendencies
    Dev
  40. Improved Form UX
    Design
  41. Cushion is Online
    Story
  42. Schedule Timeline Patterns
    Design
  43. A Slimmer Schedule Timeline
    Design
  44. The Schedule Timeline
    Design
  45. Plugging in Real Data for the First Time
    Design
  46. Transitions and Project Lists
    Design
  47. Death to Modals
    Design
  48. The Individual Project Page
    Design
  49. Estimated Incomes and Talks with Other Freelancers
    Story
  50. Statuses to Lists and the Paid Beta
    Story
  51. The Timeline
    Story
  52. Invoice Terminology
    Dev
  53. Modal Forms
    Dev
  54. Wiring the Backend to the Frontend
    Dev
  55. Balancing Design and Dev
    Story
  56. Timecop, Monocle, and Vagrant
    Dev
  57. Going with Ruby and Sinatra
    Dev
  58. Ditching local-first and trying out Node.js
    Dev
  59. Switching to AngularJS
    Dev
  60. Building the Table with Vue.js
    Dev
  61. Clients, Projects, and Invoices
    Dev
  62. Introduction
    Story

Ask a Freelancer

A podcast series where experienced freelancers answer questions about freelancing.

Listen to the Podcast

Talking Shop

An interview series where we talk to freelancers about important topics in the freelance world.

Read the Interviews

Running Costs

Take a close look at the costs that go into running a web app and why we use specific services.

View the Costs

How It’s Made

Follow along with the journal for insight into the overall experience of building an app.

Read the Journal