I’ve been troubleshooting a webhook issue for a while and have finally narrowed it down to what I believe is an IP-level blocking issue on ActivePieces’ end.
The setup:
- I have a Catch Webhook trigger in my flow
- My CRM (LawRuler) sends webhook POST requests when lead statuses change
- Content-type is application/x-www-form-urlencoded
The problem:
- When I click the TEST button in LawRuler, the request reaches ActivePieces perfectly and the flow runs
- When a REAL production status change occurs, ActivePieces receives nothing — no run appears in history
- LawRuler reports HTTP-Code: 0 on all real production triggers
What I’ve tried:
- Adding /sync to the webhook URL
- Creating brand new flows with fresh webhook URLs
- Adding a Return Response step to immediately send 200 OK
- Verified the payload format is identical between test and production
The smoking gun:
Using webhook.site I captured both request types and found the IPs are completely different:
- TEST button fires from: 52.224.64.10 → ActivePieces receives it

- REAL production triggers fire from: 172.191.37.167 → ActivePieces receives nothing

Both requests use identical headers, same content-type (application/x-www-form-urlencoded), same user-agent (RestSharp/105.2.3.0), same payload structure. The ONLY difference is the source IP.
This strongly suggests that ActivePieces (or Cloudflare in front of it) is blocking or dropping requests from 172.191.37.167 while allowing requests from 52.224.64.10.
Has anyone experienced this before? Is there a way to whitelist a specific IP on ActivePieces cloud? Or is this something that needs to be investigated on the ActivePieces infrastructure side?