Testing your webhook locally: the webhook target must be a PUBLIC https address (internal network/localhost is rejected on delivery). Expose your local server through a tunnel (e.g. cloudflared tunnel --url http://localhost:3000 or ngrok http 3000), then write the tunnel address into the webhook URL field. The field and "Send test event" are both on the app detail's Webhooks tab; verify the signature there. Update the field whenever the tunnel address changes — while the old address stays, every event goes to dead letter after 5 attempts.