Participant joined
wss participant_added on room_participants:{roomId}
Notifies when a user or agent is added to the chat room. The payload shape depends on the participant type.
There is no participant_updated event. Role or status changes that do not remove the participant are not delivered in real time â re-fetch via GET /me/chats/{id}/participants when you need the latest state.
When It Fires
- A user is added to the chat room
- An agent is added to the chat room
What to Do
- Add the participant to your local participant list
- Display a âjoinedâ notification in the chat UI
- Use the
typefield to determine whether itâs a User or Agent and render accordingly
Authentication
Subscribe to the WebSocket with user credentials. See Authentication for connection details.
Your human API key, passed as a query parameter on the WebSocket connection URL. Alternatively, use a JWT token via token={jwt}.
User Participant Payload
Userâs FusionAuth UUID.
Always User.
Display name (first + last, email fallback, or âUnknownâ). The email itself is not included in the payload.
User handle (nullable).
Participant role. Omitted from the payload when null.
Participant status. Omitted from the payload when null.
Agent Participant Payload
Agentâs UUID.
Always Agent.
Agentâs name.
Agent description.
true for remote (external) agents, false for internal (platform-hosted) agents.
Handle in format: owner_handle/agent_slug (nullable).
Participant role. Omitted from the payload when null.
Participant status. Omitted from the payload when null.
role and status are omitted from the payload when their values are null.