How to Have an AI Agent Write and Publish to WordPress
Connect an AI agent to WordPress with an application password, choose draft or live publishing, and add an approval step so nothing goes out unchecked.
Updated November 1, 2026 · 9 min read · Full Circle editorial team
To have an AI agent write and publish to WordPress, you give it an application password for a WordPress user, and it sends finished articles to your site's REST API as either a draft or a live post. The part most setups skip is the one that matters: a person approves each article before the agent is allowed to send it.
This guide walks through the WordPress side step by step (it's the same for every tool), then compares the three realistic ways to run the agent itself: a hosted agent, an automation tool like n8n or Make, or your own script.
How AI-to-WordPress publishing works
Every option on the market, from a $20 template to an enterprise content platform, does the same three things:
- Writes the article. A language model drafts a post from a topic, a brief or a keyword.
- Authenticates to WordPress. Usually with an application password sent over HTTPS using HTTP Basic Auth, as described in the WordPress application passwords integration guide.
- Creates the post. It sends a
POSTrequest to/wp-json/wp/v2/postswith a title, content and astatus. The WordPress REST API reference lists five valid statuses:publish,future,draft,pendingandprivate.
That status field is the whole draft-versus-live decision. draft puts the article in your Posts list, unpublished. pending marks it "Pending Review" for an editor. publish makes it live immediately. future with a date schedules it.
What differs between tools is everything around those three steps: how good the writing is, whether it knows your business, and whether anyone checks it before step 3.
Step 1: Create an application password in WordPress
Application passwords arrived in WordPress 5.6. They are 24-character passwords made of letters and numbers that only work for API requests. According to the WordPress core team, you can't use one to log in to wp-admin, and each can be revoked on its own without touching your real password.
- Pick the user. Decide which WordPress user the agent will post as. That user's role must be allowed to create posts: an Author can publish their own posts, a Contributor can only submit them for review, and an Editor can publish and edit anyone's. If you want AI posts clearly labeled in your admin, create a dedicated user such as "Editorial team" with the Author role.
- Open that user's profile. Go to Users, then click the user (or Profile if it's your own account).
- Scroll to Application Passwords near the bottom of the page.
- Name it after the tool, for example "Full Circle" or "n8n blog workflow". Clear names make it easy to revoke the right one later.
- Click Add New Application Password.
- Copy the password right away. WordPress shows it once. Spaces in the displayed password are optional and get stripped before checking.
- Paste it into your tool, along with the WordPress username (not the email address, unless that is the username) and your site URL with
https://.
If the Application Passwords section is missing
- Check your WordPress version. You need 5.6 or later.
- Check HTTPS. By default the feature is only available on sites served over SSL, because the password would otherwise travel in the clear. Fix SSL rather than forcing it on.
- Check security plugins and your host. The feature can be switched off with a single filter (
wp_is_application_passwords_available), and some security plugins and managed hosts do exactly that. Look for an "application passwords" or "REST API" setting. - Check that the REST API is reachable. Visit
https://yoursite.com/wp-json/. If you see JSON, it's on. If you get an error, a plugin or firewall is blocking it.
Revoking access
Go back to the same profile section and click Revoke next to the password. The "Last Used" column (accurate to within a day) tells you which passwords are still in use, so you can clean up old ones without guessing.
Step 2: Decide draft, pending or live
| Status | What happens | Use it when |
|---|---|---|
draft | Saved in Posts, not visible | You want to check layout on your real theme before it goes live |
pending | Saved as "Pending Review" | Someone other than the approver publishes in WordPress |
publish | Live immediately | The article was already approved and your formatting is proven |
future + date | Scheduled | You want a steady publishing calendar |
A sensible path for most small businesses:
- Weeks 1 to 3: approve, then send as draft. You read the article, approve it, and it lands as a WordPress draft. Open it, check headings, links and the featured image, then hit Publish yourself.
- After that: approve, then publish live. Once drafts arrive needing no changes, switch the setting so approval sends it straight to live.
Notice that in both cases a person approves the article. Draft mode isn't a substitute for approval. It just catches formatting problems. The approval step is what catches a wrong price, a promise you can't keep or a claim you can't back up. (We cover why in why every AI agent needs an approval queue.)
Step 3: Add an approval step before anything is sent
An approval step means the agent finishes the article and then stops. It can't call the WordPress API until a person has seen the article and clicked approve. A good approval step lets you:
- Approve as is.
- Edit and then approve, so your fix is what gets published.
- Decline, ideally with a reason the agent remembers next time.
If your tool can't do this, build the pause in yourself. In n8n or Make this usually means sending the draft to email or Slack and waiting for a reply or a button click before the WordPress step runs. If you can't add a real pause, send everything as draft or pending and treat your WordPress Posts list as the approval queue.
A 60-second approval checklist
Before you approve any AI-written article, check:
- Every price, hour, address and phone number matches your site today
- No promises you don't make (guarantees, timelines, "free" anything)
- Every statistic has a source link, or it's removed
- No competitor is described unfairly
- The title answers what someone would actually search
- It sounds like you, not like a press release
- Internal links point to pages that exist
Your options for the agent itself
Option A: A hosted AI agent with WordPress publishing built in
This is the option for people who want to set it up once and then just approve articles. You connect WordPress with the application password, tell the agent about your business, and approve articles from an inbox.
Full Circle works this way. Its content writer agent researches and drafts articles using a company brain built from your website, documents you upload and a voice guide made from your own writing (more on that in how to train AI on your business). Finished articles go to an approval inbox, where an independent quality check scores each draft first. Nothing is sent to WordPress until you approve it, and you choose whether approved articles land as drafts or go live. The agent can run on a schedule, for example a new draft every weekday, and every action is logged.
Trade-offs to know: it's a paid monthly product with no free plan (see pricing), and it doesn't offer webhooks or an API for wiring into other tools today. If you need custom fields, multi-site routing or a CMS other than WordPress, a DIY route will fit better.
Option B: n8n
n8n has a WordPress node with Create, Get, Get Many and Update actions for posts and pages. It authenticates with your WordPress username and an application password. A typical workflow:
- A trigger: a schedule, a new row in a Google Sheet of topics, or a form.
- An AI step that writes the article from the topic.
- A pause for approval (a Slack or email step that waits for a response).
- The WordPress node, Create Post, with status
draftorpublish.
Strengths: very flexible, a large template community, and you can self-host it. Weaknesses: you write and maintain the prompts, the business context and the approval logic yourself. When something breaks after a plugin update, you are the one debugging it. Custom post types also need show_in_rest enabled or the API can't see them.
Option C: Make
Make's WordPress app has modules including Create a Post, Update a Post and Watch Posts. Unlike n8n, it connects through the free Make Connector plugin, which you install on your WordPress site to get an API key, rather than an application password. The workflow shape is the same as n8n's: trigger, AI module, approval pause, Create a Post.
Strengths: a visual builder that many non-developers find easier than n8n, and a big library of other apps. Weaknesses: the same do-it-yourself prompt and approval work, plus a plugin to keep updated on your site. Make's own docs list a known issue where Create a Post can return empty output or no post ID, so test with drafts first.
Option D: Your own script
If you're comfortable with code, the API call itself is small:
curl -X POST https://yoursite.com/wp-json/wp/v2/posts \
--user "editorial:abcd efgh ijkl mnop qrst uvwx" \
-H "Content-Type: application/json" \
-d '{"title":"Your title","content":"<p>Your HTML</p>","status":"draft"}'
Strengths: total control and almost no cost. Weaknesses: everything except the API call is on you, including the writing quality, the business knowledge, the approval step, retries, and making sure you never post the same article twice.
Which to choose
| If you... | Choose |
|---|---|
| Want articles that know your business, with approval, and no building | A hosted agent such as Full Circle |
| Already run n8n and enjoy building workflows | n8n |
| Prefer a visual builder and connect many other apps | Make |
| Are a developer publishing at volume with custom fields | Your own script |
Common problems and fixes
- 401 Unauthorized: the username or application password is wrong, or a security plugin strips the Authorization header. Re-create the password and test with the curl command above.
- 403 Forbidden: the user's role can't publish. A Contributor can only create
pendingposts. Use an Author or Editor. - Formatting looks off: most tools send HTML. Check that headings, lists and links convert cleanly, and preview a draft on your real theme before you go live.
- Duplicate posts: happens when a workflow retries after a timeout. Store the returned post ID and check for it before sending again.
- Post appears with the wrong author: the post is credited to whichever user owns the application password. Create a dedicated user if that matters to you.
What to publish (and what not to)
An agent that can publish is only as useful as what it writes. Articles that answer a specific customer question, include something the reader can use (a checklist, a price range with a source, a worked example) and sound like you will do far better than generic filler. Google's guidance on creating helpful, people-first content applies whether a person or an AI wrote the first draft.
So spend your setup time on two things: teaching the agent about your business, and keeping a real person in the approval seat. The same pattern works for other customer-facing jobs too, like replying to Google reviews with AI.
If you'd rather approve articles than build workflows, Full Circle's content writer is set up for exactly this. Connect WordPress once, approve what you like, and it lands on your site. See plans and pricing.
Frequently asked questions
Can an AI agent post directly to my WordPress site?
Yes. WordPress has a REST API that accepts new posts, and since WordPress 5.6 you can give an outside tool its own application password instead of your login password. The tool sends the post to /wp-json/wp/v2/posts with a status of draft or publish.
Is it safe to give an AI tool my WordPress password?
You shouldn't give it your real login password. Create an application password for it instead. That password only works for API requests (not for logging in to wp-admin), it can be revoked on its own at any time, and WordPress shows you when it was last used.
Should AI posts go live automatically or as drafts?
Start with drafts. Have a person approve the article before it is sent, and send it as a WordPress draft for the first few weeks so you can check formatting on the real theme. Switch to live publishing once the drafts consistently need no fixes.
Why don't I see Application Passwords on my profile page?
The feature needs WordPress 5.6 or later and, by default, a site served over HTTPS. Some security plugins and hosts also turn it off. Check your WordPress version and SSL first, then any security plugin settings.