WordPress Webhooks

WP Webhooks Tutorial: How to Automate Your WordPress Site Using Webhooks

If you purchase through a link on our site, we may earn a commission. Learn more.

WP Webhooks helps you connect your WordPress site to other tools and set up automations. In our step-by-step WP Webhooks tutorial, we'll show you how to send and receive data using this plugin.
Table of Contents
WP Engine High Performance Hosting
BionicWP Hosting
WP Webhooks

Interested in using webhooks to automate actions on your WordPress site and/or connect your site to other tools?

In our WP Webhooks tutorial, we’re going to show you step-by-step how you can start automating a ton of different things on your WordPress site using the power of webhooks and the WP Webhooks plugin.

We’ll start by quickly explaining what these tools are if you’re not familiar. Then we’ll get straight into the tutorial.

What Is WP Webhooks?

If you’re not familiar with WP Webhooks, it’s a freemium plugin that helps you automate your WordPress site using webhooks.

If you’re also not familiar with webhooks, they basically let different apps/tools/plugins “talk” to one another by passing information using a “webhook”, which is a special URL. To learn more about webhooks, check out this post from Zapier.

With WP Webhooks, you can use webhooks to automate your WordPress site in two ways:

  • Send data – you can send data from your site to other services. For example, when a new user registers on your WordPress site, you could send that information to your CRM, Google Sheets, or any other app.
  • Receive data – you can receive information from another app and use that data to perform an action on your WordPress site. For example, you could automatically create a WordPress user when someone registers for your Teachable course or you could create or update a WordPress post based on information passed from another app.

You can connect apps directly if you have the technical knowledge. Or, WP Webhooks also integrates with tools like Zapier, Integromat, and Pabbly so that you can use those tools’ integrations with thousands of other apps.

If you want to learn more about WP Webhooks, you can check out our full WP Webhooks review

There’s a free version at WordPress.org as well as a premium version with more features.

The premium version starts at $149 for 1 site.

With that introduction out of the way, let’s get into the tutorials. 

For these examples, I’ll use Zapier as an intermediary because I’m not a developer and I think this is the simplest approach for non-technical users.

But remember that you certainly aren’t forced to use Zapier – you can also just use Integromat, Pabbly, or pass information directly between other apps and your WordPress site if you have the technical skills to set that up.

Note – I’m using WP Webhooks Pro for these tutorials, but the basic interface will be the same even with the free version.

How to Send Data to Other Tools Using WP Webhooks

For this first tutorial, let’s look at how to pass information from your WordPress site to another tool. I’ll use Google Sheets and Zapier for this example, but you could use another tool and you could also just skip Zapier entirely.

For this example, I’ll use adding a new WordPress user as the trigger. Then, I’ll send that user’s information to Google Sheets using Zapier in the middle.

The expected behavior here is:

  • New user registers on WordPress.
  • WP Webhooks passes that information to Zapier using webhooks.
  • Zapier adds that information as a new row in Google Sheets.

Let’s dig in…

1. Generate Your Destination Webhook URL

To begin, you need the webhook URL to which you want to send data from your WordPress site. That is, when a new user registers on your site, where should WP Webhooks send the data?

Since we’re using Zapier for this example, you would get the webhook URL from your Zapier recipe.

In Zapier, you’d set up the trigger of your Zapier recipe to be Webhooks by Zapier and the trigger event to be Catch Hook:

Create recipe

Then, Zapier will give you a Custom Webhook URL, which is what you need to configure WP Webhooks:

Get webhook URL

2. Add Webhook URL to Trigger

Now, go to your WordPress dashboard to set up your webhook trigger, which is what will trigger sending data to the other service (Zapier/Sheets in this example).

WP Webhooks supports a ton of core WordPress triggers, as well as triggers from some plugins like form plugins and eCommerce plugins (view all of the integrations here).

Go to Settings → WP Webhooks → Send Data to access the full list. Then, choose from the list. For this example, we want the New user trigger:

Add webhook url

If you click the Outgoing data and Description accordion tabs, you can see more info about how it works. But to set it up, you just need to click Add Webhook URL and paste in the destination webhook URL from the previous step:

Add url

You should be fine with the default settings. But to configure some optional advanced settings, you can click the “three dots” menu next to the URL to open advanced settings:

Configure webhook URL

For developers, this is where you can use features like data mapping and authentication.

3. Test Webhook

To test that everything is working, WP Webhooks lets you send some demo data:

Test webhook

If you’re using Zapier, Zapier also includes a test feature. If everything worked, you should see some dummy data from WP Webhooks that includes all the key user information:

Test data

And that’s it! That means you’re able to successfully pass information.

4. Do Something With Your Webhook Data

Now, you just need to finish setting up the action that you want to take with the data from WordPress.

For this example, that would be configuring Zapier to send that information to Google Sheets. Here’s how it might look:

Set up Zapier

Now, whenever a new user registers on WordPress, that information will show up as a row in Google Sheets:

Google Sheets example

How to Receive Data From Other Tools and Perform Actions

Now, let’s look at how you can use WP Webhooks to receive information from another tool and use that information to perform an action on your WordPress site.

For this example, let’s say you want to update a WordPress post by passing data from a webhook. I created a situation where I have a “Job” custom post type and I want to update the job listings from Google Sheets, which creates a cool sort of native WordPress Sheet2Site setup.

Here’s how it works…

1. Create a Webhook URL With WP Webhooks

To begin, go to Settings → WP Webhooks Pro → Receive Data and click the button to Create Webhook URL and give it a name:

Create webhook URL

If you want to configure it or restrict access, you can open its settings. For example, you can limit which actions this URL can perform (this will make sense after the next section):

Configure URL

2. Configure Action

Next, go to the Webhooks Actions tab to configure the action that you want to take when your webhook URL receives data. Again, you’ll see both core actions and actions for supported plugins.

For this example, we want to Update a post. You can then use the four accordion sections to access important information.

Configure your action

To start, you can use the Accepted arguments section to access all of the data that you can work with. That is, this is the information that you can pass to WordPress from the other tool that you’re using.

There are two arguments that you absolutely must pass:

  • action – what you want to do. Set it equal to the action (update_post)
  • post_id – the ID of the post that you want to update.

The other arguments let you pass the information to update. For example, you can update the author, content, dates, etc.

Action arguments

You should browse all of the arguments, but here are a few key ones:

  • create_if_none
  • manage_meta_data
  • manage_acf_data

The create_if_none argument gives you the option to create the post if it doesn’t already exist, while manage_meta_data and manage_acf_data let you manage custom data, such as custom fields from Advanced Custom Fields.

To learn more about these arguments, you can click the Details link next to them:

Details for actions

For an easier way to work with the JSON formatting for these arguments, the developer recommends JSON Formatter or JSON Editor Online.

You only need to set values for the specific information that you want to update. If you don’t define something, WP Webhooks will just leave it unchanged.

For example, if you only want to update the title of a post, you only need to pass the post_title argument* – everything else will stay the same.

*This is in addition to the two required arguments that I mentioned above.

3. Pass Information to Your Webhook URL

To finish things out, you need to send information to the webhook using the arguments for the details that you want to update.

For Zapier, you can do that by using Zapier webhooks as the action in your recipe. When you configure webhooks, you can enter the webhook URL that you created in step one of this section and then copy and paste the arguments from step two.

Here’s what it might look like in Zapier – you can see that I’ve mapped the arguments to data from my spreadsheet:

Map data using webhook

And that’s it! Now, when you pass information to your webhook URL, WP Webhooks will automatically perform the action.

For this example, that means that:

  • When I add a row to Google Sheets…
  • WP Webhooks will automatically update the post that matches the ID from the ID column of my spreadsheet.

Start Automating WordPress With WP Webhooks

WP Webhooks is a powerful tool for automating your WordPress site.

You can use it to send data to other tools and services. Or, you can also use it to receive data from other sources and perform actions on your site.

If you’re not a developer, it’s still pretty easy to set up if you use the integrations with Zapier and other tools. And if you are a developer, you can skip those and just set up everything yourself if you prefer.

Again, to learn more about pricing and features, check out our full WP Webhooks review, or get WP Webhooks today.

Any questions about WP Webhooks or our WP Webhooks tutorial? Leave a comment!

WP Webhooks

Recommended Solution

Try it out! ⬆

Colin Newcomer

Colin has been using WordPress for over a decade and is on a quest to test all 60,000+ plugins at WordPress.org. He has been a Writer and Product Review Expert for WP Mayor since 2017, testing well over 150 products and services throughout that time.

Discover more from our archives ↓

Popular articles ↓

6 Responses

  1. The article is fairly clear up until the part about passing critical info to the webhook url..

    “To finish things out, you need to send information to the webhook using the arguments for the details that you want to update.”

    Here you show a single example, from zapier. What if the sending app does not have the interface where you can add arguments?

    1. Hey Jim,

      Thanks for your feedback.
      On our website, you will find various entry points that show you manuals on how to set it up. For example, every endpoint has an explanation on how to use it via our Flows feature, as well as a standalone endpoint. Here’s the link for the “Update Post” action from the article above:

      We also have an article for most of our third-party integrations available here (All of them show how to send and receive data, if applicable):

      In regards to showing the differences between our free and pro versions in the docs: I’ll make sure we add that to our to-do list, thanks for the input.

  2. I started reading through this but lost interest when it said you were using Zapier as an intermediary. In my thinking, if you are using Zapier, you shouldn’t need a plugin like this. I want to interface WP with something that uses webhooks, like Teachable without another service in between. If this tut somehow translates into being able to do that without a service like Zapier, it is not clear from the beginning.

    1. Hey Jim, Jannis here (The creator of WP Webhooks).

      To clarify your concerns: Zapier is not necessary at all. It’s merely an integration we offer to people who already use it and would like to take advantage of its features and apps.

      You can use our plugin completely independent of any external automation service as we offer all of our webhook triggers, actions, and the workflow automation directly from within our plugin. The workflow automations are called Flows and if you wish, you can learn more about them here:

      1. I might look into Flows at some point, if I am prepared to go with the Pro version. I actually started looking into it and it took me some time before I realized that I can’t do that without paying for the Pro version. I find it very helpful when reading the docs for plugins to know where the line is between free version and pro version.

Share Your Thoughts

Your email address will not be published. Required fields are marked *

Claim Your Free Website Tip 👇

Leave your name, email and website URL below to receive one actionable improvement tip tailored for your website within the next 24 hours.

"They identified areas for improvement that we had not previously considered." - Elliot

By providing your information, you'll also be subscribing to our weekly newsletter packed with exclusive content and insights. You can unsubscribe at any time with just one click.