Slack Active Status

How Slack Determines Your Active Status

Slack monitors mouse movement, keyboard input, and WebSocket activity. Here's exactly how it works — and why your status isn't always accurate.

Keep your status accurate automatically →
Quick Answer

Slack tracks activity through a combination of mouse and keyboard events and WebSocket keep-alive signals. On desktop, you're Active while Slack is open and you've interacted in the last 30 minutes. On mobile, Active means the app is in the foreground. Slack combines signals from all your devices — you'll appear Active if any device reports activity.

The mechanics

In-app activity only

Slack only counts activity that happens inside its own interface. Working in another window or application doesn't reset your Slack timer.

Multi-device aggregation

Active on any one device means Active everywhere. Slack surfaces the most recently active device status to your contacts.

False negatives are common

You can be actively working and appear Away to your team — the system only measures Slack-specific input, not your actual availability.

How Slack's Active Status Detection Actually Works

Slack's presence system is one of those features that seems simple on the surface — a green dot means someone is available — but is considerably more complex underneath. Understanding how Slack determines whether you're active explains both why the system works the way it does, and why it produces incorrect results so frequently.


The Three Signals Slack Uses

Slack uses three distinct input signals to assess whether a user is active:

1. Mouse and keyboard events

When you type a message, click a channel, scroll through a conversation, or interact with any element in the Slack interface, the client records a timestamp of that input. This event resets the 30-minute inactivity timer. The key word here is "in the Slack interface" — events generated in other applications are invisible to Slack's presence tracking.

2. WebSocket keep-alive pings

Every Slack client — desktop app, browser tab, or mobile app — maintains a persistent WebSocket connection to Slack's servers. This connection is used to receive messages, notifications, and real-time updates in near-zero latency. As part of this connection, the client sends regular ping frames to confirm it is still alive. These pings alone do not mark you as Active; they simply signal that the client is connected. The distinction matters: a client can be connected (WebSocket alive) but not Active (no user input detected).

3. App foreground state on mobile

Mobile devices report a different signal to Slack. Rather than monitoring keyboard and mouse input, Slack's mobile apps use iOS and Android system APIs to determine whether the app is in the foreground. If the Slack app is the active, visible application on your screen, you're Active. The moment you switch to another app, the foreground signal is lost and your mobile presence moves to Away.


Desktop Active Detection — How the 30-Minute Timer Works

On desktop, Slack maintains an internal activity clock. Every time it detects in-app input — a keystroke in the message field, a click on a reaction, a channel switch, anything — the clock resets to zero. As long as you keep producing input events inside Slack, your presence stays Active indefinitely.

When the clock reaches 30 minutes without input, Slack transitions your presence to Away. This update propagates to Slack's servers and is then visible to all your contacts within a few seconds.

The 30-minute threshold is hardcoded. It is not exposed as a configurable setting — you cannot set it to 10 minutes, 60 minutes, or any other value. Workspace admins do not have access to change it either. It is a fixed product decision by Slack.

Browser-specific behaviour: When using Slack in a browser tab rather than the native desktop app, the tab must be visible and in the foreground to reliably report input events. Some browsers throttle JavaScript activity in background tabs, which can cause the Slack web client to behave slightly differently than the native app in terms of presence reporting.


Mobile Active Detection — iOS vs Android

On mobile, presence is binary and immediate: either the Slack app is in the foreground, or it is not.

On iOS, Slack uses standard UIKit lifecycle notifications. When the app moves to the background — because you've switched apps, pressed the home button, or locked the screen — it receives a `applicationDidEnterBackground` notification and signals Away to Slack's servers. This typically happens within 60 to 90 seconds of backgrounding.

On Android, the mechanism is similar, using Activity lifecycle callbacks. The transition to Away is comparably fast, typically within one to two minutes of the app leaving the foreground.

Neither iOS nor Android sends Active signals when the app is closed. A fully closed Slack app contributes nothing to your presence state. If all your devices are in this state — computer off, mobile apps closed — you appear Offline, not just Away.


Multi-Device Presence — How Slack Picks the "Best" Status

Modern users typically have Slack running on multiple devices simultaneously: a desktop or laptop, a mobile phone, and perhaps a tablet or second computer. Slack handles this by aggregating presence signals from all active clients and presenting the best available state.

The aggregation logic works as follows: if any connected device reports Active status, the user appears as Active to others. The status of a single active device overrides Away status on all other devices. Slack displays the presence state from your most recently active device.

This means that being active on your phone while your desktop is Away will show you as Active overall. However, it also means that if you're only active on desktop and your phone has the Slack app closed, your overall status still reflects the desktop's Active state.


Edge Cases and Common Misconceptions

Does a browser tab in the background count?

Not after 30 minutes. If you last clicked in your Slack browser tab and then switched to another tab, the 30-minute timer starts from your last interaction. The tab being open but inactive doesn't prevent Away. Some users assume that simply having Slack loaded in a browser tab keeps them Active — it does not.

Do notifications waking up the mobile app make you Active?

No. When a push notification arrives and the Slack app briefly wakes to process it, this does not generate a foreground state. The app handling a notification in the background is distinct from the app being in the foreground with a user looking at it. You must tap the notification and open the app to generate an Active signal.

Does a VPN affect Slack presence?

Generally not. VPNs route your network traffic but do not interfere with the application-level activity detection that Slack uses for presence. If a VPN is causing connection drops or high latency, there may be indirect effects on WebSocket stability, but the presence system itself is not VPN-dependent.

What about activity in Slack's API or integrations?

API calls and bot activity do not generate presence signals for human users. Your presence is tied to your user account and the clients connected to it — not to API tokens acting on your behalf.


Why Slack's Active Status Is Frequently Wrong

The gap between "actually working" and "showing as Active in Slack" is one of the most common complaints about the platform. It arises from a fundamental design choice: Slack measures Slack-specific input, not general computer activity or actual user availability.

Consider a typical workday scenario: you're on a two-hour video call, taking notes in a different application, with Slack sitting open but untouched in the background. From Slack's perspective, 30 minutes after your last Slack interaction, you've gone Away. To your colleagues in Slack, you appear unavailable — even though you're actively working and available to reply the moment the call ends.

This is a structural false negative. The system is doing exactly what it was designed to do, but the result misrepresents your actual availability. For knowledge workers who spend significant time in video calls, documents, or other non-Slack tools, the Away status is a persistent and inaccurate signal.


Stay Green On Slack — Server-Side WebSocket Presence

Stay Green On Slack addresses the active status problem by operating at the protocol level rather than the device level. Instead of trying to simulate local input events, it maintains a server-side WebSocket connection to Slack — the same connection type that Slack's own clients use — and ensures that connection continuously reports an Active presence state.

From Slack's servers, this connection is indistinguishable from a normally active Slack client. The presence state is updated to Active and remains there as long as the server-side connection is maintained.

How it compares to other approaches

Method Reliability Notes
Stay Green On Slack Consistent Server-side; works with computer off
Keeping Slack open Fails Away after 30min without input
Browser auto-click scripts Partial Breaks on Slack updates; requires computer on
Mouse jiggler hardware Fails OS-level; Slack doesn't see it
Mobile app in foreground Partial Only while phone screen is on and Slack is open

Setup requires installing a Chrome extension once to capture the session token Slack uses for your account. After that, everything runs on Stay Green On Slack's servers. You can configure a schedule — active hours by day of week, timezone — and the system handles the rest. No local software needs to run on your machine.

A 14-day free trial is available with no credit card required.


Frequently Asked Questions

How does Slack know if you're active?

Slack detects activity through a combination of signals: keyboard and mouse events within the Slack application, WebSocket keep-alive pings from the Slack client, and app foreground state on mobile. All three are processed by Slack's servers to determine your presence state. Only in-app activity counts on desktop — using other applications does not reset the Slack activity timer.

Does Slack show Active when the browser tab is in the background?

Only for approximately 30 minutes after your last interaction with the Slack browser tab. Once the tab is in the background and no new input has been detected within Slack for 30 minutes, your status switches to Away. A background tab that is rendering but not receiving input does not count as activity.

Does Slack show Active on mobile when the app is closed?

No. On mobile, Slack only shows you as Active while the app is in the foreground and visible on screen. As soon as you switch to another app or lock your screen, your mobile presence transitions to Away within one to two minutes. A closed or backgrounded mobile app sends no active presence signals to Slack's servers.

If I'm active on mobile, will Slack show me as Active on desktop too?

Yes. Slack consolidates presence across all your devices. If any device reports Active status, you appear as Active to others regardless of what your other devices are doing. Slack typically surfaces the status of your most recently active device, so mobile activity will override a desktop Away state.

Can my employer see my Slack active status history?

Workspace admins can see your current presence status in real time, but Slack does not provide historical active or away logs to administrators through the standard admin dashboard. There is no built-in report showing when you were active or away over time. Third-party Slack analytics tools may capture this data separately if your workspace has them installed.

Active when you are. Green when you need to be.

Stay Green On Slack maintains your presence from our servers — no local software, no computer required. 14-day free trial, no credit card.

Start for free →