billowy-twilight-56224
12/15/2025, 1:42 PMtall-airline-16756
12/15/2025, 1:42 PMtall-airline-16756
12/15/2025, 1:42 PMsip_call_initiated (and sip_call_ended) for call lifecycle signals.
• SIP callers also appear as participants in rooms with `kind: SIP`; the participant_joined webhook includes participant details you can use to identify SIP callers and kick off your agent logic.
• Webhooks are sent to the endpoint configured on your LiveKit server and include a cryptographic signature you can verify.
Next steps I can help with
• Show the exact webhook payload fields for sip_call_initiated and participant_joined.
• Provide a short example (server-side) to verify the signature and handle the webhook to start an agent.
• Walk through configuring the webhook endpoint on your LiveKit server.
Which of those would you like me to provide first, or share your preferred language/runtime and I’ll give a minimal implementation example?
Sources: server-sdk-js | livekit/livekit_composite | DeepWiki | Live Conversations with AI using ChatGPT and WebRTC | Server-side | livekit/livekit_composite | DeepWikibillowy-twilight-56224
12/15/2025, 1:52 PMtall-airline-16756
12/15/2025, 1:53 PMsip_call_initiated exists — yes, sip_call_initiated is available. To check all webhook events you can get:
• Read the Webhooks reference in the LiveKit docs — it lists every event (room/participant/track/egress/ingress and SIP events like sip_call_initiated and sip_call_ended) (Webhooks | LiveKit docs).
• Inspect the WebhookEvent types in the server SDK for your language (Node/Go/Java) — the interface/enum shows every supported event type.
• Configure your webhook endpoint and log incoming POST payloads. Each payload has an event field so you can observe which events your deployment emits in practice.
Would you like the exact payload fields for sip_call_initiated and participant_joined, or a minimal webhook handler example (which language/runtime)?
Sources: server-sdk-js | livekit/livekit_composite | DeepWiki | Webhooks | LiveKit docs