In this guide, I’ll explain how to connect Make.com to WordPress without any plugins so you can do things like creating new users or posting new content.
Table of Contents
Let’s dive in! 😄
Why Connect Make.com to WordPress
Not everyone needs it, but you can automate some cool stuff with your WordPress website.
You could for example get data from your website, and do something with it;
- Get a post
- Get a page
- Get all users
- Get new media
- Get all comments
Or you could update or create content automatically;
- Create a post
- Update a post
- Create a page
- Update a page
- Create a new user
- Create a comment
- Upload media
And so much more! 🔥
I especially love to use it to create new users for my membership website, but you could also do cool things like updating a page automatically when there is a specific promotion, or automatically share new media on Instagram.
Why not use the Make Connector plugin?
You can of course try the Make Connector plugin, but last time I checked it has some pretty bad reviews. It loads extra javascript on the frontend of your website, which makes your website a bit slower.
And since a fast website is superduper important for an online business, I thought it’s better to avoid an extra plugin, and hook into WordPress directly without an extra plugin.
Besides that it slows down your website, it’s also another thing you need to keep on top off by having to update the plugin and checking after every update if it’s still working. The method I’m about to show is simple, and is bulletproof.
How to connect to WordPress with Make.com
It’s easy, just follow the steps below.
Step 1: Enable the WordPress REST API
The WordPress REST API allows other apps or websites to connect with your WordPress site to share or update information automatically, without you having to do it by hand.
It’s enabled by default, but let’s double-check it’s active 🤓
Go to https://yourwebsite.com/wp-json/
and see if you get a JSON response with information about the website:
If you see anything like this, it’s working and you can continue to the next step.
The only case where it is not enabled is when you have disabled it previous, so make sure to check if you’ve installed any plugins that disabled the REST API.
Step 2: Generate Authentication
To connect to WordPress from within a scenario in Make.com, we need to create an application password.
We do this, because we don’t want to share the main login of our website with Make.com for security reasons.
Luckily, this process is superduper easy 🤓
In the admin panel, navigate to Users
» All Users
, then select and edit your own profile.
Then, scroll down to Application Passwords.
Scroll down to Application Passwords, and here we’re now going to create a new one.
In the New Application Password Name
field put a descriptive name, and click Add New
.
And now, you see that a new password was generated. In my case it’s drDj vSmN k4tf IhQw Fjwn kAMC
.
Copy this, and store it in a safe location like a text editor because you won’t be able to see it again.
So now you have your application password, also get the username for your account:
(usually an email address or name)
Write your username & application password in a text document like I did:
Username: max@example.com
Application password: drDj vSmN k4tf IhQw Fjwn kAMC
We’re going to need this later on 🤓
Step 3: Create Your Make.com Scenario
Ok, now we’re going to start with the fun stuff 🙌
First, we’re going to add our login details as a keychain to a HTTP module.
(we’re going to use the HTTP module to connect to WordPress)
So go ahead, create a new scenario, and add a HTTP
module with the Make a Basic Auth request
action to your scenario:
To add our credentials to connect to WordPress, click Create a keychain
at the top, and add the username and application password that you wrote down earlier.
After you’ve clicked Create
, you now see the stored login details in the dropdown underneath credentials:
(whenever you create a new HTTP module and need to connect to WordPress, you select these credentials)
But the credentials aren’t verified yet, so let’s make sure they work.
To do that, we’re going to request details about the authenticated user.
(in this case, that’s you!)
So go ahead, and add https://yourwebsite.com/wp-json/wp/v2/users/me
to the URL field and set Parse response
to Yes
:
Now, click Run once
at the bottom left of your screen to test the scenario.
Click the bubble above the HTTP module to take a look at what we got back from your WordPress website.
If everything went correctly, you should see status code 200
under the output.
If the credentials you entered earlier are wrong, it will return status code 401
.
If everything works correctly, congratulations! You’ve successfully connected Make.com to WordPress 🥳
If you like, you can also take a look at the data we got back by clicking the Data
dropdown.
And that’s how you connect to WordPress 🙃
All other possibilities that I’ll show in the rest of this guide will work in a very similar way.
Sometimes, you’ll need to change the request method from GET
to POST
and add details to the Request content field
Let me show you how that works 🙌
Pssst. Want my best tips for Make.com? Get the cheat sheet 😄📩
Psst. Want to get the most out of Make.com? Consider my in-depth course 😄
Psst. Want some 1:1 help with your project? Book a coaching call with me 😄
Integration Possibilities
There are many cool things you can do by connecting Make.com to WordPress, let me show you some examples.
Create a new user
Let’s try to create a new user in WordPress first because this won’t suddenly be publishing new articles, haha.
First, create a new scenario, and add a Basic trigger
to it with the items below:
This is going to be our sample data based on which we want to create an account in WordPress.
Now, like we did before, add a HTTP module to your scenario:
Then, under credentials, choose the key that we created earlier.
Then, enter https://yourwebsite.com/wp-json/wp/v2/users
to the URL field, and change the Method to POST
:
What this does, is that it makes a request to send something to the /wp-json/wp/v2/users
endpoint, which is this case lets us create a new user.
The only thing left is that we now have to add are the details for the new user.
To add those, set the body type to Raw
, content type to JSON
, set parse response to Yes
and paste the code below into the request content field:
{
"username": "",
"email": "",
"password": "",
"roles": ["subscriber"]
}
It should look like this now:
And last but not least, we’ll enter user details from the previous module.
You can just simply map them like this and click OK
🙂
If you like, you can change subscriber
to administrator
or contributor
if you want to give them a different role.
You can also add other user info the same way if you like;
- First name:
"first_name":""
- Last name:
"last_name":""
- Nickname:
"nickname":""
And a bunch of other things that you can find in the WordPress developer handbook.
Let’s test if it’s working.
Click the Run once
button at the bottom left of the page, the scenario will run and a new user should be created 😄
To check that it’s working, click the white bubble above the HTTP module, and underneath the output you should now see status code 201
.
And you can of course also take a look in WordPress if a new user was created.
Creating new users is especially awesome if you have a membership site that runs on WordPress.
Tip: generate random passwords instead of manually typing them.
Create a new post
Want to automatically publish new posts to WordPress? You can do the with the /wp-json/wp/v2/posts
endpoint.
As usual, add a new HTTP to your scenario:
Set the credentials to your website, set the URL to https://yourwebsite.com/wp-json/wp/v2/posts
, change the method to POST
, and set the Parse response to Yes
.
Now, change the body type to Raw, set the content-type to JSON, and paste the code below in the Request content field:
{
"title": "Your Post Title",
"content": "This is the content of your new post.",
"status": "draft"
}
If you like, you can also change draft
to publish
, future
, pending
or private
depending on what you want to do.
But I want to just create a new draft post, so this is what we need:
Click OK
and now we can test our scenario by running the scenario 🤓
I looked at the data, and saw that we got a status 201 back. A new post was created!
Underneath the Data
dropdown, you can now also see all the data that belongs to your new post.
For example, you’ll see that there is something called generated_slug
, which is where you can find the post on your website. So in theory, you could use this to automatically share the new post somewhere.
And just to double check if it’s working, I also went over to WordPress to see if there really is a new draft post 🥳
This is so cool, and gives many possibilities.
You can also add more parameters to customize your new post.
"author":"1"
to set a specific author."comment_status":"close"
to close the comments."password":"123"
to set the password of the page to “123”."categories": [3, 5]
to set categories.
And so much more, take a look at the handbook for the other parameters you can add.
(and let me know in the comments below if you need help!)
Pssst. Want my best tips for Make.com? Get the cheat sheet 😄📩
Psst. Want to get the most out of Make.com? Consider my in-depth course 😄
Psst. Want some 1:1 help with your project? Book a coaching call with me 😄
Create a new page
Creating a new page is very similar to creating a new post, but this time we use the /wp-json/wp/v2/pages
endpoint.
Add the HTTP module to your page, set the credentials, change the method to POST
, set parse response to Yes
, and set the url to https://yourwebsite.com/wp-json/wp/v2/pages
.
Then, add the code below to your request content:
{
"title": "Your Page Title",
"content": "This is the content of your new page.",
"status": "publish"
}
And that’s it!
Whenever the scenario runs, a new page will be created with whatever content you want.
Other possibilities
I’ve tried to cover a few of the most common use cases above, but there are literally hundreds of possibilities
You could, for example, also;
- Get information about plugins, or even update a plugin.
- Change items in your website menu.
- Create categories or tags for posts.
So take a look at the handbook, and maybe you get some other ideas of how it could be useful in your online business.
Conclusion
Connecting WordPress to Make.com without any plugins give you some powerful automation possibilities while keeping your site lightweight and fast 🔥
This setup uses whats already built-in to WordPress, the REST API, and makes you independent from extra plugins and gives you full control.
Happy automating! 🤓
Is authentication required?
Hey Thomas! Yes, just follow step 2 to create an application password 🙂
Why avoid the plugin tho? Is it really that slow? Also, is this method secure?
It’s not that bad if you really want to, but the Make.com Connector Plugin for WordPress loads a few extra resources on your website that might have a small impact. I just prefer to use the Rest API because it’s already there, and I’m not sure why the WordPress module doesn’t natively work with that 😅
Can this work with custom post types too?
Yes, it’s possible, but you have to register the custom post type first which is a bit more complex.