Skip to main content
These webhook events are triggered when using Call Sessions — where participants join a session directly without a ringing flow. This is the pattern used for meetings, conference calls, or any scenario where users join a shared session via a session ID.
For calls initiated through the ringing flow (with incoming call notifications), see Ringing Events.

meeting_started

Triggered when a call session begins. Idempotency Key: webhook + trigger + data.sessionId + data.created_at
{
    "trigger": "meeting_started",
    "data": {
        "created_at": 1696934692,
        "sessionId": "<sessionId>"
    },
    "type": "meet",
    "appId": "<appId>",
    "region": "<region>",
    "webhook": "<webhookID>"
}

meeting_participant_joined

Triggered when a participant joins the session. Idempotency Key: webhook + trigger + data.sessionId + data.occupant.joined_at
{
    "trigger": "meeting_participant_joined",
    "data": {
        "occupant": {
            "joined_at": 1696934692,
            "audio_call": "false",
            "name": "Andrew Joseph"
        },
        "initial_config": {
            "is_video_muted": "false",
            "start_recording_on_call_start": "false",
            "call_version": "2.3.0",
            "is_audio_muted": "false",
            "sdk": "react",
            "mode": "DEFAULT",
            "platform": "web",
            "is_audio_only": "false"
        },
        "sessionId": "<sessionId>"
    },
    "type": "meet",
    "appId": "<appId>",
    "region": "<region>",
    "webhook": "<webhookID>"
}

meeting_participant_left

Triggered when a participant leaves the session. Idempotency Key: webhook + trigger + data.sessionId + data.occupant.left_at
{
    "trigger": "meeting_participant_left",
    "data": {
        "occupant": {
            "joined_at": 1696934692,
            "audio_call": "false",
            "left_at": 1696934730,
            "name": "Andrew Joseph"
        },
        "sessionId": "<sessionId>"
    },
    "type": "meet",
    "appId": "<appId>",
    "region": "<region>",
    "webhook": "<webhookID>"
}

meeting_ended

Triggered when the session ends (all participants have left). Idempotency Key: webhook + trigger + data.sessionId + data.destroyed_at
{
    "trigger": "meeting_ended",
    "data": {
        "all_occupants": [
            {
                "joined_at": 1696934692,
                "audio_call": "false",
                "left_at": 1696934730,
                "name": "Andrew Joseph"
            }
        ],
        "destroyed_at": 1696934730,
        "created_at": 1696934692,
        "sessionId": "<sessionId>"
    },
    "type": "meet",
    "appId": "<appId>",
    "region": "<region>",
    "webhook": "<webhookID>"
}

recording_generated

Triggered when a call or meeting recording is ready for download. This event applies to both ringing calls and call sessions. Idempotency Key: webhook + trigger + data.sessionId + data.startTime
{
    "trigger": "recording_generated",
    "data": {
        "recordingDate": "2023-10-10",
        "duration": "21.433000",
        "startTime": "1696937627",
        "sessionId": "<sessionId>",
        "recording_url": "<recording_url>"
    },
    "appId": "<appId>",
    "region": "<region>",
    "webhook": "<webhookID>"
}