Summary
On my LiveKit Cloud project, real project webhooks are never delivered to my configured webhook URL. This is not limited to room lifecycle events, it appears that all real project events are affected. For example, room_started, participant_joined, and room_finished are never received.
However, the dashboard Send a test event button successfully delivers to the exact same webhook URL.
This indicates that the webhook endpoint is correctly configured and publicly reachable. The issue is that webhook deliveries for actual project activity are not reaching the endpoint.
Environment
- LiveKit Cloud project (single webhook URL configured)
- Inbound SIP calls via a SIP trunk + dispatch rule (individual-per-caller, room prefix)
- Webhook receiver: Python (
livekit.api.WebhookReceiver) running onlocalhost:8090 - Receiver exposed publicly via Cloudflare Tunnel:
cloudflared tunnel --url http://localhost:8090
which exposes:
https://<subdomain>.trycloudflare.com/webhook
What works
- SIP → trunk → dispatch rule → agent job dispatch works correctly.
- The agent is dispatched and joins the room.
lk room listandlk room participants listshow the room live with both the SIP caller and the agent as ACTIVE participants.- The dashboard Send a test event button successfully delivers to the configured webhook URL.
- The webhook is visible in my server logs.
What fails
For real rooms and SIP calls, my webhook server receives nothing at all.
This is not limited to specific webhook types. For example, I never receive room_started, participant_joined, or room_finished, nor any other real project webhook events.
There are no signature-verification failures, no filtered events, and no rejected requests because the server never receives an HTTP request in the first place.
The room demonstrably exists (verified with the LiveKit CLI), both participants are active, the room starts and finishes normally, yet no webhook deliveries are made to the configured endpoint.
What I’ve already ruled out
Endpoint reachability
The endpoint is reachable. The dashboard Send a test event successfully reaches the webhook receiver.
Signature / API key mismatch
A signature mismatch would still result in the webhook request reaching my server, where it would fail verification (for example with HTTP 401). Instead, no HTTP request arrives at all.
Multiple webhook URLs
I reduced the configuration to a single webhook URL, and the behavior remains unchanged.
Regression
This setup previously worked correctly. No changes were made to the webhook receiver or SIP flow before this issue appeared. It suddenly stopped delivering real project webhooks while dashboard test events continued to work.
Project details
- Project ID:
p_43z8x0uyw44 - Project subdomain:
dev1-app-489epzkw - LiveKit URL:
wss://dev1-app-489epzkw.livekit.cloud - Configured webhook URL:
https://<subdomain>.trycloudflare.com/webhook