How Slack Presence Works: Active, Away, and the Green Dot

Slack has two separate things that people call "status", and mixing them up causes most of the confusion. One is the green dot, which Slack controls. The other is your custom status with the emoji, which only you control.

The two systems

Presence: the dot

The filled green circle next to your name means "active"; the hollow circle means "away". Slack sets this automatically based on whether any Slack client - desktop, browser, or mobile - has seen activity recently. You can override it manually, but it is fundamentally an automatic signal.

Custom status: the emoji and text

The 🌴 or 🍽 next to your name with text like "On holiday until Monday" is something you set yourself, and Slack never changes it based on activity. It has an optional expiry time. This is the part of your status that actually communicates anything useful.

These two are entirely independent. You can be hollow-circle away with a custom status saying "Available for urgent issues", and both are true statements.

How Slack decides you are away

The rules are simpler than Microsoft Teams:

SituationPresence
Recent input on a device running SlackActive
Around 10 minutes with no input on desktopAway
Computer locked or asleepAway
Slack quit entirelyAway
Mobile app in foregroundActive
Mobile app backgroundedAway, after a short delay
Manually set to awayAway until you change it back

Two differences from Teams stand out. First, Slack's idle threshold is longer - around ten minutes rather than five. Second, Slack's manual away setting does not expire on its own. If you set yourself away and forget, you stay away indefinitely, which catches people out for days.

Setting things manually

Presence: click your profile picture at the top right and choose "Set yourself as away" / "Set yourself as active". That is the whole control - there is no scheduled version.

Custom status: profile picture → "Update your status". Pick an emoji, add text, and - importantly - set a "Clear after" time. Slack remembers recent statuses, so if you use the same few regularly they are one click away.

Notification pause: separate again. Click your picture → "Pause notifications", or set a notification schedule in Preferences → Notifications. This is what you want when you need quiet, and it does not require pretending to be away.

Why your dot goes hollow while you are working

The usual causes, in order of likelihood:

When you genuinely need to stay active

There are legitimate cases where the dot misrepresents you: you are on support rota and colleagues route requests by who looks reachable; you are presenting for an hour; you are reading a long document while waiting for a specific message. In those cases the idle timer is giving a false negative about your availability.

The fixes are the same as anywhere else - extend your machine's lock timeout if you are allowed to, use a keep-awake utility, or use a browser-based mouse jiggler if you cannot install anything. All of them work by keeping the operating system's idle timer from expiring, which is the only input Slack is reading.

The honest caveat: keeping the dot green while you are actually elsewhere is a question of workplace policy, not technology, and we are not going to pretend otherwise. If in doubt, ask.

The better answer is usually a status message

It is worth stepping back. The green dot answers "can I interrupt this person right now?" - and it answers it badly, because it only knows about keystrokes. A custom status answers the same question properly and takes five seconds to set:

Teams that adopt this habit stop reading anything into presence dots within a couple of weeks, because there is a better signal available. It is a cultural fix rather than a technical one, but it removes the underlying problem instead of working around it.

Admin note

Workspace administrators cannot turn presence off, and there is no setting to make yourself permanently active. Enterprise Grid admins have some control over what is visible in shared channels, but the automatic away behaviour itself is not configurable.