Your presence indicates your availability in the workspace. It has two parts:
Presence: A colored dot that shows your availability state (Online, Away, Busy, or Offline).
Status text: An optional custom message that appears next to your name.
The two are independent. You can be Online with the text "Out for lunch," or Busy with the text "Deep work mode."
Reference: For a full breakdown of how presence resolves across sources (internal, manual, and external claims), download
Rocket.Chat has four built-in presence options, plus Invisible:
Online (green dot): You are connected and available. Set automatically when you are active, or set manually.
Away (yellow dot): You are idle or have stepped away. Set automatically after a period of inactivity, or set manually. The idle time limit can be configured in Default User Preferences.
Busy (red dot): You don't want to be disturbed. Set manually, automatically while you're in a voice call, or automatically by Outlook calendar integration on Desktop.
Offline (grey dot): You are disconnected.
Invisible: You appear offline but remain connected.
How is your presence decided
Several things can set your presence. When more than one applies at the same time, Rocket.Chat shows the highest-priority one, in this order:
In-app events (such as a voice call) → A status you set manually → Outlook calendar → Automatic (your connection and on-screen activity).
A lower-priority status isn't lost. When the higher-priority source ends, Rocket.Chat restores the exact status it replaced, the same dot and text, instead of clearing it. Invisible is the exception: while you're Invisible, nothing else can change your presence until you change it yourself.
Some common situations:
Situation | Presence shown | Why |
|---|---|---|
Connected and active, no status set | Online | Automatic |
No activity for 5+ minutes | Away | Automatic |
Active on phone, idle on desktop (signed in on both) | Online | Automatic — the most-available device wins |
You set Busy with the note "Focusing" | Busy — "Focusing" | Manual |
You have "Busy — Focusing" and an Outlook meeting starts | Busy — "Focusing" (unchanged) | Manual outranks the calendar |
No status set, and an Outlook meeting starts | Busy — "In a meeting" | Outlook calendar |
You have "Busy — Focusing" and join a voice call | Busy — "On a call" | A voice call outranks a manual status; "Focusing" is saved |
That voice call ends | Busy — "Focusing" (restored) | The saved status returns |
You set "Busy until 4:30pm" and 4:30 passes | Previous status (or Online) | The status expires and clears |
You're Invisible and a call or meeting starts | Offline (unchanged) | Invisible blocks all other sources |
Manual and automatic presence
Rocket.Chat manages your presence in one of two ways:
Automatic: Active when your status is Online. The auto-away timer runs, and on Desktop, system events such as screen lock or sleep can change your presence.
Manual: Active when you set your status to Busy or Away. Your status persists across sessions, reconnections, and logout/login. Auto-away is suspended.
To return to automatic management, set your status back to Online.
Auto-away
When your status is Online, Rocket.Chat automatically changes your presence to Away after a period of inactivity.
Default idle time: 5 minutes
Minimum idle time: 60 seconds
Where to configure: My Account → Preferences
If you have manually set your status to Busy or Away, auto-away is suspended until you set your status back to Online.
When auto-away is enabled, the following events change your presence automatically:
Event | Effect |
|---|---|
Idle for configured time | Away |
Computer sleeps (Desktop) | Away, then Offline |
Screen locked (Desktop) | Away |
App moved to background (Mobile) | Away |
Network disconnected | Away |
Idle is not the same as Offline. When you go idle, you remain connected, only your presence changes from Online to Away. Offline only happens when the connection is actually lost.
Screen lock (Desktop) and app moved to background (Mobile) are explicit system events. They change your presence even when auto-away is disabled.
What counts as activity depends on your platform. See Platform differences section for more details
Status
Status text is an optional custom message that appears alongside your presence.
Maximum length: 120 characters
Emoji: Supported
Visibility: Shown alongside your presence. If you're Offline and have set custom text, that text is still shown; with no custom text, only the grey dot appears. Not shown when you're Invisible.
A status can also have an expiration. Its a real end time after which it clears itself and your previous status returns automatically. This is different from writing "until 3pm" in the text, which is just words; an expiration makes Rocket.Chat revert on its own when the time arrives.
Status text persists across sessions and reconnections. When you select a built-in presence (Online, Away, Busy, or Offline) from the status menu, your custom text is cleared. When you select an admin-created custom status, your text is set to the name of that status.
Workspace administrators can disable custom status text by turning off Allow Custom Status Message under Manage → Workspace → Settings → Accounts.
Set a status message
Click your avatar at the top left of the workspace.
From the drop-down menu, select Custom Status.
In the Edit Status dialog, enter your status message.
Click Save.
Custom status
Workspace administrators can create organization-wide custom statuses in addition to the four built-in options. Each custom status maps to one built-in presence type. When a user selects a custom status, the presence dot reflects the mapped type, and the custom status name appears as their status text.
For example:
Custom status | Mapped presence | Result for the user |
|---|---|---|
On Vacation | Away | Yellow dot, text "On Vacation" |
In a Meeting | Busy | Red dot, text "In a Meeting" |
Working Remotely | Online | Green dot, text "Working Remotely" |
To access the User Status setting, go to Manage → Workspace → User Status.
Add a custom status
On the User Status page, click New custom status.
Enter a name for the status.
Select the presence to map it to: Online, Away, Busy, or Offline.
Click Save.
Edit or delete a custom status
Go to Manage → Workspace → User Status.
Search for and click the custom status you want to modify.
To edit, update the details and click Save. To delete, click Delete.
You can also manage user statuses using the Custom User Status API endpoints.
Where your status appears
Your presence and status text appear in different parts of the workspace, with different update behaviors:
Location | Status dot | Status text | Updates |
|---|---|---|---|
Sidebar and DM conversation header | Yes | No | Real-time |
Room members list | Yes | No | Real-time |
User card (hover or click) | Yes | Yes | Real-time |
User info panel | Yes | Yes | Real-time (dot), on-load (text) |
@mentions autocomplete | Yes | No | Real-time |
Search results | Yes | No | Real-time |
Admin user list | Yes | No | On page load |
Your own status (header menu) | Yes | Yes | Real-time |
Video conference panel | Yes | No | Real-time |
Video conference ringing dialog | Yes | No | Real-time |
Real-time updates appear within a second. On-load updates appear when the component is opened or refreshed.
Invisible mode
Invisible mode lets you appear offline while remaining connected. Messaging, typing indicators, and read receipts work normally, and you do not appear in the online users count.
To set Invisible:
Click your avatar at the top left of the workspace.
From the drop-down menu, select Offline.
Like Busy and Away, Invisible suspends auto-away. You remain Invisible regardless of idle time or system events until you change your status manually.
Workspace administrators can disable Invisible mode. When disabled, users who were already invisible remain invisible until they change their status.
Voice and video calls
When you join a voice call, your presence is set to Busy with the status text "On a call." A voice call takes precedence over a status you set manually and over a calendar event, and your previous status is restored when the call ends.
Video conferencing does not currently change your presence. Support for video-driven presence is planned for a future release.
Platform differences
Presence behavior varies between Desktop, Web, and Mobile:
Feature | Desktop | Web | Mobile |
|---|---|---|---|
Manual presence change | Yes | Yes | Yes |
Status text | Yes | Yes | Yes |
Auto-away on idle | Yes | Yes | No |
Screen lock detection | Yes | No | No |
System sleep detection | Yes | No | No |
Outlook calendar integration | Yes | No | No |
Voice call sets Busy | Yes | Yes | Platform-dependent |
How activity is detected
Platform | Activity source | Scope |
|---|---|---|
Desktop | Keyboard, mouse, system events | Entire computer (all applications) |
Web | Mouse and keyboard | Browser tab only |
Mobile | App foreground or background state | App only (no idle timer) |
Multiple devices
When you are signed in on multiple devices simultaneously, two rules determine your final status:
Connection priority: The best connection state across active devices is used, in this order: Online > Away > Offline.
Device 1 | Device 2 | Device 3 | Final status |
|---|---|---|---|
Online | Away | Offline | Online |
Away | Away | Offline | Away |
Offline | Offline | Offline | Offline |
Manual override: If you have manually set your status to Busy or Away, that status is shown regardless of connection priority, as long as at least one device is connected.
Limitations
Desktop on Linux: Locking the screen does not automatically trigger Away. You remain Online until the system detects a disconnect.
Web:
Activity in other browser tabs or applications does not prevent auto-away.
Locking the computer does not trigger Away in the browser.
Computer sleep is detected only when the connection drops.
Mobile:
No idle detection. You stay Online until the app is moved to the background.
Locking the phone does not automatically trigger Away.
Reconnect behavior
If you were idle (auto-away) when your connection dropped, you may briefly appear Online after reconnecting until the idle timer triggers Away again.
If you had manually set your status to Busy or Away before disconnecting, that status is preserved on reconnect.
Outlook Calendar integration
The Rocket.Chat Desktop app can integrate with Outlook to update your presence based on your calendar:
When a calendar event marked Show as: Busy starts, your presence is set to Busy.
When the event ends, your previous status is restored.
Requirements:
Rocket.Chat Desktop app with Outlook or Exchange connected
Outlook calendar integration enabled by your workspace administrator
Calendar event marked as Show as: Busy
Outlook is the only supported calendar integration. Google Calendar, Apple Calendar, and other providers are not supported.
Video conferencing inside Rocket.Chat does not change your presence. Calls have their own state (Calling, Started, Ended, and so on) that is separate from presence.
Presence service cap
Premium plans have no presence service limit. Community workspaces are capped at 200 concurrent connections. When a workspace exceeds this cap, the presence service is disabled automatically, users can no longer see real-time status updates, but sending and receiving messages continues to work normally.
To enable the presence service:
Go to Manage → Workspace → User status → Presence service
Click the Presence service button.
Enable the Service status option.
When the presence service is disabled automatically due to the connection cap:
Workspace users and administrators are notified that presence is inactive.
Real-time status updates stop being broadcasting (you may still see others' last known statusuntil the service is re-enabled).
An administrator must manually re-enable the presence service after the connection count drops below 200.