Skip to main content
These events fire when participants join or leave the call, when participant state changes, and when waiting room or active speaker status updates.

participant-joined

Fires when a new remote participant joins the call.
This event may fire for a remote participant before the local joined-meeting event fires.
string
Always "participant-joined".
string
The ID of the call client instance that emitted this event.
DailyParticipant
The participant who joined. See DailyParticipant for the full shape.

participant-updated

Fires when a local or remote participant’s state changes — for example when their audio or video track state changes, their permissions are updated, or their network quality changes.
string
Always "participant-updated".
string
The ID of the call client instance that emitted this event.
DailyParticipant
The updated participant. See DailyParticipant for the full shape.

participant-left

Fires when a remote participant leaves the call. The participant object reflects the participant’s state just before they disconnected.
A participant losing presence is treated as leaving and triggers this event. In that case, the optional reason field will be 'hidden'.
string
Always "participant-left".
string
The ID of the call client instance that emitted this event.
DailyParticipant
The participant who left, captured just before they disconnected. See DailyParticipant for the full shape.
string
Optional. Present when the participant became hidden rather than truly leaving. Value is 'hidden'.

participant-counts-updated

Fires when the count of present or hidden participants in the call changes. See participantCounts() for details.
string
Always "participant-counts-updated".
string
The ID of the call client instance that emitted this event.
object
Contains present (number of visible participants) and hidden (number of hidden participants).

waiting-participant-added

Fires when a participant enters the waiting room and is added to the waitingParticipants() set.
string
Always "waiting-participant-added".
string
The ID of the call client instance that emitted this event.
object
Contains id, name, and awaitingAccess (with a level field indicating the requested access level).

waiting-participant-updated

Fires when a participant in the waiting room updates their details — currently this only occurs when their name changes.
string
Always "waiting-participant-updated".
string
The ID of the call client instance that emitted this event.
object
Contains id, name, and awaitingAccess.

waiting-participant-removed

Fires when a participant is removed from the waitingParticipants() set — either they were granted access, denied, or left on their own.
string
Always "waiting-participant-removed".
string
The ID of the call client instance that emitted this event.
object
Contains id, name, and awaitingAccess.

active-speaker-change

Fires when the active speaker — the participant whose audio input is currently loudest — changes. Use this to highlight the speaking participant in a custom UI.
string
Always "active-speaker-change".
string
The ID of the call client instance that emitted this event.
object
Contains peerId, which is the session_id of the participant currently speaking.

See also