Overview

Presence tracking allows you to see when users are online or offline. The SDK provides SDK-global presence tracking that works across all conversations.

Listening for Presence Updates

SDK-Level Events

Conversation-Level Events

Presence events are also emitted at the conversation level:

Presence Event

Automatic Presence

When you connect to the WebSocket, your presence is automatically set to online. When you disconnect, it’s set to offline.

Tracking Multiple Users

React Integration

Presence in Chat UI

Presence States

Presence events are deduplicated by the SDK. You’ll only receive an event when the state actually changes (online→offline or offline→online), not duplicate online→online events.

Best Practices

Debounce UI Updates

Debounce presence UI updates to avoid flickering during reconnection.

Graceful Fallback

Show “unknown” status for users you haven’t received presence for.

Cache Presence

Cache presence state to persist across page refreshes.

Handle Reconnection

Presence may briefly show offline during reconnection.

Complete Example

Next Steps

Typing

Typing indicators

Receipts

Read receipts

Conversations

Conversation management

Examples

Complete examples