I’m having an issue with my WordPress site using the Fluent Forms plugin and Cloudflare APO. Specifically, I’ve noticed that some of my webhooks are getting stuck in the “pending” status in Fluent Forms, even though I’ve whitelisted all of the Pipedream IP addresses and excluded all of the Fluent Forms URLs from caching using Page Rules.
I’ve tried to identify the source of the issue, but so far I haven’t been successful. The webhooks work fine when Cloudflare is disabled, so I believe the problem is related to Cloudflare or Cloudflare APO specifically. The developers of the plugin just always refer me back to the Cloudflare Support and also provided me with all the Page Rules and WAF Settings I have done so far, which unfortunately weren’t helpful. I also don’t know if I can somehow view any logs where I could see the webhooks being filtered out or something as there are no firewall events indicating that.
Has anyone else experienced a similar issue with Fluent Forms webhooks and Cloudflare APO? If so, I would appreciate any advice or insights you might have.
Just a small point I’d like to add:
As I’m paying for APO and planning to upgrade to professional
I’m really interested in resolving the issue.
Maybe there’s something I’m missing in the configuration.
Also it doesn’t make sense that random webhooks are failing
and some work flawlessly.
Are you able to see the requests in the Security > Events area of your dashboard? This will help you narrow down the cause of the failure and will tell you teh product responsible. Different products have different ways of bypassing, so this is good to know.
You can also try adding the IP to an IP Access Rule set to Allow, if you haven’t already.
To clarify, what steps did you take to allow the IPs?
Thank you very much for your reply!
As for the Security > Events area I had checked this section on a regular basis when I saw outgoing webhooks fail / get stuck in pending but never had any events logged in their to narrow down the issue.
https: //mydomain. com/de/?user_operation=*
Security Level: Essentially Off
https: //mydomain. com/?user_operation=*
Security Level: Essentially Off
Obviously “mydomain” is just placeholder as I don’t want it public in this community post
?user_operation is the front-end form which is triggering the webhook on form-send. I just figured maybe the forms are getting cached (while this is unlikely due to them being ajax).
Have I missed anything?
As I said in my initial posting the super weird part is some Fluent Forms trigger the webhook without any issues immediately and some don’t.
Those webhooks that get stuck/fail will work on the third time I try to execute them via the Fluent Form (for what ever reason).
This behaviour completely vanishes as soon as I deactivate APO and Cloudflare on the site (move back to my intial DNS Records) and everything works fine again.
It specifically this particular weird behaviour that I don’t understand.
To narrow down the behaviour, have you tried deactivating APO but keeping the Cloudflare proxy enabled?
And then further, try enabling Development Mode on Cloudflare temporarily to disable the cache but keep the proxy?
This should help in debugging the problem. Let us know what you see.
I really appreciate your assistance with my problems!
Sorry for my late response it took me a while until the nameservers were propagated, the caching started and everything was configured to start testing according to your instructions.
Okay so I tried to narrow down everything the following way:
I enabled APO and did some testings.
The nameservers were already propagated but I guess not fully.
APO started working immediately and the website had the desired speed which I aim for.
All webhooks were triggered by fluent forms without any issues.
I waited for the propagation to be finished (approx. 15 Minutes) and caching also already started here.
About 20 minutes after enabling APO and Cloudflare the issues with the webhooks started occuring again. Some got stuck in pending state again and were not executed only if my testusers submitted the form multiple times they would get triggered and run properly (it’s always 3 times and no real pattern is visible why this happens). By the way which webhooks (&URLs) are affected is totally random.
I disabled APO to make sure the issues are not being caused by APO. => The same pattern as described above. Wehooks stuck in pending and eventually failed.
The only difference is obviously not having the same fancy page speed as with APO.
I enabled “Development Mode” in the Cloudflare Dashboard and at first I thought the issues are resolved but as mentioned above the impacted webhook-urls (and which forms cause issues) are totally random. So after a few tests I realized the issue still persists and webhooks are not being executed.
So the issues seem to be caused by the proxy and not the caching. Which is kind of relieving because it might mean that my Page-Rules and Firewall Settings work but the issues are being caused by something else.
I’m back to my original Hostinger Nameservers now and everything works fine by the way.
What would be the next steps from here Erisa? I’m really stuck and I desperately need Cloudflare APO and want to upgrade to Pro and get ARGO as well. It’s just nice to have the pagespeed and DDoS protection for our user experience.
So an update for any future folks who run into this issue:
My plugin is triggered by this rest-call and then scans the database table “wpqu_ff_scheduled_actions” for “status=pending” and then takes the data stored in “data” and converts the serialized php in there to json and reperforms the webhook for the user. It then changes “status” to “successful”.
This assures that all webhooks are being run properly.
This is a hacky solution but works since neither Cloudflare nor fluent (wp-ninja) could help me.
For people not as tech savy I have to unfortunately say:
Fluent Forms & Fluent Support is not compatible with Cloudflare at all!