Environment
- LiveKit Cloud (staging project)
- Self-hosted LiveKit (production) — working correctly
- Local development via Cloudflare Tunnel
What I expected
With multiple webhook URLs configured in the LiveKit Cloud dashboard (Settings → Webhooks), I expected all configured URLs to receive webhook events — the same way my self-hosted instance behaves when multiple URLs are listed in livekit.yaml.
What happened
I have three environments:
- Production — self-hosted LiveKit, multiple webhook URLs in
livekit.yaml— works perfectly, all URLs receive events - Staging — LiveKit Cloud
- Development — Same LiveKit Cloud project using a Cloudflare Tunnel
For my staging LiveKit Cloud project, I added two webhook URLs in the dashboard:
- My development URL (Cloudflare Tunnel)
- My staging URL
When only the development URL was configured, webhooks were delivered correctly.
As soon as I added the staging URL as a second webhook, the staging URL received no webhook events at all, even though conversations were happening normally. Removing the development URL immediately resolved the issue — the staging URL then received events correctly.
Key observation
This behavior does not occur on my self-hosted instance. With multiple URLs in livekit.yaml, all URLs receive all events independently. The issue appears to be specific to LiveKit Cloud’s webhook delivery when multiple URLs are configured via the dashboard.
Any clarity on this would be greatly appreciated.