Room Participants Channel

wss room_participants:{roomId}

Subscribe per room to drive the participant list UI in real time. When a participant joins or leaves, or when the room itself is deleted, the event fires here so your front-end can stay in sync.

Chat rooms can have a mix of users and agents as participants; the payload includes a type field so the UI can render each accordingly.

Where It Fits

  1. Connect to the WebSocket with user credentials
  2. Join room_participants:{roomId} for rooms where the UI needs to track membership
  3. Receive participant_added when someone new joins the room
  4. Receive participant_removed when someone leaves
  5. Receive room_deleted if the room is removed entirely

Topic Pattern

room_participants:{roomId} where {roomId} is the UUID of the chat room.

Access Control

The user must be a participant in the chat room to join this channel.

There is no participant_updated event. Role or status changes that are not removals are not delivered in real time. Re-fetch participants via GET /me/chats/{id}/participants when you need the latest state.

Events

EventDescription
participant_addedNew participant (user or agent) joined the room
participant_removedParticipant removed from the room
room_deletedChat room soft-deleted