Introduction
Webhook requests often look different from normal browser traffic. They can come from server IP ranges, use unusual user agents, and hit endpoints without cookies or interactive sessions. That makes them easy to block accidentally with generic WAF rules. The right fix is to identify which rule is firing and carve out a narrow exception for trusted machine-to-machine callbacks instead of weakening protection for the whole site.
Symptoms
- Payment, CI, CRM, or form callbacks stop reaching the application
- Cloudflare security events show blocked POST requests to webhook endpoints
- The provider reports timeouts, 403 responses, or repeated delivery failures
- Browser traffic still works while backend integrations fail
- The problem started after enabling a new firewall rule or managed rule set
Common Causes
- A custom WAF expression blocks requests missing browser-like headers or cookies
- Managed rules treat the webhook payload or path as suspicious input
- Rate limiting or bot protection catches callback retries as abusive traffic
- The webhook endpoint shares the same protection profile as interactive user routes
- IP allow rules are outdated or incomplete for the provider sending the callbacks
Step-by-Step Fix
- Identify the exact webhook path, provider, and timestamp of the failing delivery so you can match it in Cloudflare events.
- Review firewall and security logs to find the specific rule or managed rule ID that blocked the request.
- Confirm the request is legitimate by comparing the source IP ranges, signatures, or shared secret behavior expected from the provider.
- Create a narrow exception for that webhook path and trusted source pattern instead of disabling the WAF broadly.
- Separate webhook endpoints from browser-facing routes if they currently inherit the same aggressive bot or challenge controls.
- Re-test with a provider replay or test delivery and confirm the request reaches the application successfully.
- Verify the application still validates webhook authenticity with provider signatures or secrets after the WAF change.
- Monitor follow-up events to ensure the exception is not broader than necessary.
- Keep third-party webhook inventories current so firewall tuning stays aligned with real integrations.