Whitelisting FlowMattic Webhook Endpoints on Cloudflare
When using FlowMattic with Cloudflare or similar security services, you may encounter issues where webhooks fail or return 403 Forbidden errors, Or your Connect fails the authentication. This happens because Cloudflare’s security features (Bot Management, WAF, Browser Integrity Check) can mistakenly block legitimate webhook requests from external applications.
This guide will walk you through the process of whitelisting FlowMattic webhook endpoints in Cloudflare to ensure your automations work seamlessly.
Why Whitelisting is Necessary
FlowMattic uses webhook endpoints to receive data from external applications such as:
- Zapier, Make (Integromat), Pabbly Connect
- Payment gateways (Stripe, PayPal, Razorpay)
- CRM systems (HubSpot, Salesforce)
- Email marketing platforms (Mailchimp, ConvertKit)
- Custom integrations and third-party services
When Cloudflare’s security rules are active, these webhook requests may be blocked, causing:
- Webhooks to fail with 403 Forbidden errors
- Workflow triggers not firing
- Data not being received from external applications
- Integration failures with third-party services
- Authentication failing for apps that use OAuth callbacks via webhooks
FlowMattic Webhook Endpoints to Whitelist
FlowMattic provides two webhook URL formats that need to be whitelisted:
| Endpoint Pattern | Description |
|---|---|
/wp-json/webhook/capture/* |
REST API webhook endpoint |
/webhook/capture/* |
Shortened webhook URL (custom rewrite) |
Example Webhook URLs
https://example.com/wp-json/webhook/capture/abc123
https://example.com/webhook/capture/abc123
Note: The
abc123portion is your unique workflow ID. The whitelist rules use wildcards to cover all workflow IDs.
Step-by-Step Cloudflare Configuration
Step 1: Access Cloudflare Dashboard
- Log in to your Cloudflare Dashboard
- Select your domain from the list
- You’ll be configuring rules in the Security and Caching sections
Step 2: Create Security Custom Rules
Navigate to Security → Security rules and create a new custom rule.
Rule Configuration:
Rule name: Allow FlowMattic Webhooks
Expression (Edit expression):
(http.request.uri.path contains "/wp-json/webhook/capture/") or
(http.request.uri.path contains "/webhook/capture/")
Action: Select Skip and check the following options:
- ✅ All remaining custom rules
- ✅ Rate limiting rules
- ✅ User Agent Blocking
- ✅ Browser Integrity Check
- ✅ All managed rules (if using WAF managed rules)
Click Deploy to save the rule.
Important: Make sure this rule is placed at the top of your rules list so it executes first.
Step 3: Configure Bot Fight Mode Exception
If you have Bot Fight Mode or Super Bot Fight Mode enabled, you need to create an exception for webhook requests.
Navigate to Security → Bots and configure:
- If using Super Bot Fight Mode, click Configure
- Add the FlowMattic webhook paths to the skip list
Alternatively, create a Configuration Rule:
- Go to Rules → Configuration Rules
- Click Create rule
- Set the expression:
(http.request.uri.path contains "/wp-json/webhook/capture/") or
(http.request.uri.path contains "/webhook/capture/")
- Under Bot Management, select Skip
Step 4: Create Cache Bypass Rules
Webhook endpoints should never be cached. Navigate to Caching → Cache Rules and create a new rule.
Rule name: Bypass Cache for FlowMattic Webhooks
Expression:
(http.request.uri.path contains "/wp-json/webhook/capture/") or
(http.request.uri.path contains "/webhook/capture/")
Cache eligibility: Select Bypass cache
Click Deploy to save.
Step 5: Disable Under Attack Mode for Webhooks (Optional)
If you frequently use Under Attack Mode, create a rule to exclude webhook endpoints:
- Go to Rules → Configuration Rules
- Create a new rule with the same expression as above
- Set Security Level to Essentially Off for these paths
Alternative Method: Page Rules (Legacy)
If you prefer using Page Rules (legacy method), create rules for each pattern:
| URL Pattern | Settings |
|---|---|
*example.com/wp-json/webhook/capture/* |
Cache Level: Bypass, Security Level: Essentially Off, Browser Integrity Check: Off |
*example.com/webhook/capture/* |
Cache Level: Bypass, Security Level: Essentially Off, Browser Integrity Check: Off |
Note: Replace
example.comwith your actual domain name.
Verifying Your Configuration
After setting up the rules, test your FlowMattic webhooks:
Test Webhook Endpoint
- Go to FlowMattic → Workflows
- Open a workflow with a Webhook trigger
- Copy the webhook URL
- Use a tool like Postman or Webhook.site to send a test POST request
- Verify the workflow executes successfully
Check Cloudflare Logs
- Go to Security → Events
- Filter by URI path containing
/webhook/capture/ - Verify requests are being allowed (not challenged or blocked)
Troubleshooting
Still Getting 403 Errors?
- Check rule order - Ensure the Allow rule is at the top of the rules list
- Verify expression syntax - Double-check the expressions match exactly
- Disable Bot Fight Mode temporarily - Turn it off briefly to confirm it’s the cause
- Check origin server - Ensure your hosting server isn’t also blocking requests
Webhooks Timing Out?
- Check caching - Ensure cache bypass is working
- Review firewall logs - Look for blocked requests in Cloudflare events
- Test without Cloudflare - Pause Cloudflare temporarily to isolate the issue
Webhooks Working Intermittently?
- Rate limiting - Ensure rate limiting rules are skipped for webhook endpoints
- Challenge actions - Check if Cloudflare is presenting challenges to webhook requests
- Geographic restrictions - Verify your security rules aren’t blocking requests from certain regions
Other Security Plugins
If you’re using additional security plugins alongside Cloudflare, you may need to whitelist webhook endpoints in those as well:
Wordfence
- Go to Wordfence → Firewall → All Firewall Options
- Scroll to Whitelisted URLs
- Add:
/wp-json/webhook/capture//webhook/capture/
Sucuri
- Access your Sucuri dashboard
- Navigate to Firewall → Whitelist
- Add the webhook endpoint paths
Jetpack
- Go to Jetpack → Settings → Security
- Configure brute force protection exceptions for webhook URLs
Summary
To ensure FlowMattic webhooks work correctly with Cloudflare:
- ✅ Create WAF custom rules to skip security checks for webhook endpoints
- ✅ Configure Bot Fight Mode exceptions
- ✅ Set up cache bypass rules
- ✅ Test webhooks after configuration
- ✅ Monitor Cloudflare events for any blocked requests
Endpoints to whitelist:
/wp-json/webhook/capture/*/webhook/capture/*
By following these steps, your FlowMattic webhook automations will work seamlessly while maintaining security for the rest of your website.
Last updated: January 2026