Beyond busy

How Slack apps can use custom status to add context

People’s lives at work are more nuanced than simply being “away” or “busy.” To help users in Slack add context around what they’re doing or why they’re not available, your app can write a custom status — a short string of text and an emoji that appears beside someone’s name in Slack — using two new API profile attributes, status_text and status_emoji.

What can you build with custom status?

People in Slack can write their own custom status or select from pre-filled options like “Vacationing” or “Out Sick.” Your app can extend these choices with a status that updates automatically, so users don’t have to do it manually.

For instance, a travel assistant app could read someone’s flight itinerary and update their status when they’re in the air. Or an incident monitoring tool could add “On Call” to the status of a developer on rotation.

People’s statuses appear in a few places in Slack, like in their profile, the message box in someone’s DMs, and the Quick Switcher (command + K on Mac; Ctrl + K on Win). Since anyone on a Slack team can see someone’s custom status — whether or not they use your app — it can be a good opportunity for you to show off how your app is being used in real time.

Let’s look at how some apps are using custom status today.

Zenefits syncs with your vacation schedule

Zenefits built their Slack app to sync with an employee’s time off requests, creating a custom status automatically when they’re on vacation. Upon their return, their status returns to whatever that person had set previously.

Meekan communicates when you’re in a meeting

Meekan, a scheduling bot for Slack, syncs with a user’s calendar and creates a custom status to indicate that they’re in a meeting. People using Meekan can choose from several options on Meekan’s settings page, including “Back in x minutes” — a minute-by-minute countdown that only an app can provide.

Start building

Your app can read and write someone’s custom status within a user’s profile, represented by two new profile attributes. And, with the user_change API event, you can detect when someone’s status changes. Read this short guide to learn what you need to get started.

Are you using custom status in a creative way for your team? Tell us your story at