Webhooks not being received by WP Fusion

There are some situations in which WP Fusion doesn’t receive webhooks properly. Here are some troubleshooting steps if you’re having difficulties receiving incoming webhooks:

Use the built-in testing tool

WP Fusion now includes a built-in utility for testing your site’s ability to receive incoming webhooks.

Click the Test Webhooks button and a couple of seconds later you’ll see the response. If you get a green Success message you should be good to go.

Security Plugins

Security software running on your site or server can block incoming webhooks. If the testing tool returns an Unauthorized message then this is likely the case.

First try temporarily disabling any security plugins to see if the webhooks begin working. If that fixes it, you’ll need to tweak your security settings to allow incoming POST data. Contact our support if you need assistance.

If that doesn’t work, it’s also possible that your hosting company is blocking the webhooks for security reasons. You can contact your host, or look at your host’s security logs, to see if any traffic is being blocked. If so, they should be able to create an exception for you by modifying their security rules.

Logging

If webhooks are coming in but data is missing, you can see what data is being received by enabling WP Fusion’s activity logs.

Go to Settings >> WP Fusion >> Advanced, and checking the box “Enable Logging”. Then try and send a webhook from your CRM to see what tags and data are being loaded.

An incoming webhook recorded in WP Fusion’s logs

Making sure the automation is working correctly

If you’re sending the webhook as part of a complex automation in your CRM, it might help to make sure the webhook is actually being sent in the first place. You can use a third party service for this, like https://webhook.site/.

This will give you a unique URL, like https://webhook.site/#/bd662d92-fb16-4431-ae79-f566943b0f9e, which you can paste into the URL field for the webhook in your CRM.

Send a contact through the automation or rule, and you should see a message appear on webhook.site showing the incoming data. If this works then you know the webhooks are being sent correctly.

If no message appears then your automation may have an issue that’s preventing the webhook from being sent.

Manual testing

You can also test a webhook manually by visiting the webhook URL in your browser. This will be the same URL you used when setting up the webhook in your CRM, and you can select a contact ID to use for testing. For example

http://mysite.com/?wpf_action=update&access_key=ACCESSKEY&contact_id=CID

Replace ACCESSKEY with your access key from the settings, and CID with a contact ID you’d like to use to test. You should see a success message showing that the user was updated. If there were any errors, they’ll be reported there as well.

The Async Method

If you’re sending many webhooks simultaneously (100+) it’s possible your web server is unable to process them in time and runs out of available resources. To prevent this, you can try WP Fusion’s (experimental) asynchronous method for processing webhooks.

To enable this, append &async=true to the end of your webhook URL. For example:

http://mysite.com/?wpf_action=update&access_key=ACCESSKEY&contact_id=CID&async=true

This will tell WP Fusion to put the incoming webhooks in a queue, and work through them over a period of time, taking into account your server’s available resources.

This feature is still experimental while we receive feedback, so if you encounter any unexpected behavior please let us know.

 

Webhook performance

How fast WP Fusion processes webhooks will depend a lot on your server’s speed and available resources, as well as the responsiveness of your CRM’s API. The number of “linked” courses or memberships can also affect how fast the webhooks are processed.

Here’s an example of the different webhook methods and the time they took to complete on a WP Engine membership site connected to ActiveCampaign:

  • ?wpf_action=add: 5.37 seconds (including generating a password and syncing it back to AC)
  • ?wpf_action=update: 3.84 seconds
  • ?wpf_action=update_tags: 3.06 seconds
  • ?wpf_action=add&async=true: 2.06 seconds (including generating a password and syncing it back to AC)

If you have issues with webhooks not processing quickly, try using update_tags instead of update, or using the async method.