How to Build an AI Content Approval Workflow in n8n [Step-by-Step Guide]

n8nテンプレート・実践
n8n AI content approval workflow for WordPress

“I want AI to write my blog posts, but I don’t trust it to publish without review.” If that sounds familiar, this guide is for you.

This tutorial walks you through building an AI content generation → human approval → WordPress auto-publishing workflow in n8n. The key difference from fully automated setups: a human approval step that catches AI hallucinations and quality issues before anything goes live.

I run this exact workflow for tactical-ai.net, producing 12-16 articles per month while spending only 40 minutes per week on review and edits.

Why Semi-Automation Beats Full Automation

Most n8n + AI tutorials push fully automated publishing. That’s a mistake for SEO-focused content. Here’s why:

  • AI hallucinations — Claude and GPT occasionally generate factually incorrect statements. One wrong claim can damage your site’s credibility
  • SEO quality variance — AI-generated content quality ranges from 60 to 95 on our scoring rubric. Publishing the 60s tanks your domain authority
  • Google’s Helpful Content guidelines — Bulk AI content without editorial oversight risks algorithmic penalties

The approval step adds 5-10 minutes per article but eliminates these risks entirely.

Workflow Architecture: 6-Node Pipeline

The workflow consists of six nodes connected in sequence:

  1. Schedule Trigger — Runs daily at 9 AM (weekdays only)
  2. HTTP Request (Claude API) — Generates article title, body, excerpt, and tags
  3. Google Sheets — Saves the draft to a spreadsheet for review
  4. Wait Node (Human Approval) — Pauses execution until you click the approval URL
  5. HTTP Request (WordPress REST API) — Publishes the approved article as a draft
  6. Slack Notification — Sends a completion message with the WordPress edit link

For a detailed comparison of n8n vs other automation tools, see our n8n vs Zapier cost comparison guide.

Step 1: Schedule Trigger Configuration

Add a Schedule Trigger node and set the cron expression:

Cron Expression: 0 9 * * 1-5
(Runs at 9:00 AM, Monday through Friday)

Tip: Start with 2-3 times per week. Daily generation creates a backlog faster than you can review. For more on cron scheduling, check our n8n Cron scheduling guide.

Step 2: AI Content Generation via Claude API

Use an HTTP Request node to call the Anthropic Messages API. Set up your API key in n8n Credentials first (see our HTTP Request authentication guide).

POST https://api.anthropic.com/v1/messages

Headers:
  x-api-key: (from Credentials)
  anthropic-version: 2023-06-01
  content-type: application/json

Body:
{
  "model": "claude-haiku-4-5-20251001",
  "max_tokens": 4096,
  "messages": [{
    "role": "user",
    "content": "Write an SEO article for the keyword: {{$json.keyword}}\n\nOutput as JSON:\n{\"title\": \"...\", \"body\": \"HTML\", \"excerpt\": \"under 160 chars\", \"tags\": [...]}"
  }]
}

Model Selection and Cost

Model Cost per Article Quality Best For
Claude Haiku 4.5 $0.02-0.05 Good (needs editing) Draft generation
Claude Sonnet 4.6 $0.10-0.20 Very good Near-final drafts

In practice, Haiku + human review delivers the best cost-to-quality ratio. For API cost optimization strategies, see our guide to reducing AI API costs by 90%.

Step 3: Save Drafts to Google Sheets

Connect a Google Sheets node to save each generated article. Recommended column structure:

Column Purpose
title Article title
body HTML content
excerpt Meta description
tags Comma-separated tags
status pending / approved / rejected
generated_at Timestamp

Why Google Sheets? It gives you a bird’s-eye view of all generated content, makes team review easy, and keeps a log of rejected articles for prompt improvement.

Step 4: The Approval Gate (Wait Node)

This is the most important node in the workflow. Configure the n8n Wait node in webhook mode:

Wait Node Settings:
  Resume: On webhook call
  Limit Wait Time: 72 hours

When executed, n8n generates a unique approval URL:
  https://your-n8n.com/webhook-waiting/abc123

Clicking this URL = approval → workflow continues
Timeout = article marked as expired

Before the Wait node, add a Slack or email notification that includes the article title, excerpt, and approval URL. This way you can review and approve from your phone.

Step 5: Publish to WordPress via REST API

After approval, an HTTP Request node posts the article to WordPress:

POST https://your-site.com/wp-json/wp/v2/posts

Authorization: Basic (username:application_password in Base64)

Body:
{
  "title": "={{ $json.title }}",
  "content": "={{ $json.body }}",
  "excerpt": "={{ $json.excerpt }}",
  "status": "draft"
}

Important: Use WordPress Application Passwords (found in Users → Profile), not your login password. Set status to “draft” so you can add featured images and finalize categories in the WordPress admin.

Step 6: Completion Notification

A Slack node sends the final notification with the WordPress edit URL, so you can quickly review and hit publish.

Real-World Results: Cost and Time Savings

Metric Manual Writing n8n Semi-Automated
Time per article 2-3 hours 15-20 min (review only)
Articles per month 4 12-16
AI API cost $1-3/month
n8n cost Free (self-hosted) or $20/mo (Cloud)

Compared to hiring a freelance writer ($50-100 per article), this workflow costs less than 1% while producing 3-4x more content.

Common Errors and Fixes

429 Rate Limit from Claude API

Enable Retry On Fail in the HTTP Request node with a 60-second delay. For comprehensive error handling patterns, see our n8n error handling and auto-retry guide.

401 Unauthorized from WordPress REST API

The top three causes: wrong Application Password format (must be Base64 encoded as user:app_password), permalink settings set to “Plain” (REST API requires pretty permalinks), or a security plugin blocking API access.

Wait Node Stuck Forever

Always set Limit Wait Time (72 hours recommended). Add an error branch that updates the Google Sheet status to “expired” on timeout.

Summary

Key takeaways:

  1. Semi-automation with a human approval step is safer and more SEO-friendly than full automation
  2. Claude Haiku + human review offers the best cost-to-quality ratio at under $3/month
  3. Google Sheets as intermediate storage enables team workflows and prompt optimization

We sell ready-to-import n8n templates for this exact workflow. Import the JSON into your n8n instance and you’re up and running in 10 minutes.

Browse n8n Templates (BOOTH)


About the Author
AI automation specialist with 200+ completed freelance projects and zero negative reviews. Building n8n workflows, Claude API integrations, and publishing technical guides at tactical-ai.net.

Need a custom n8n workflow? Contact me on Lancers

#n8n #WorkflowAutomation #AIContent #WordPress #ApprovalWorkflow

コメント

タイトルとURLをコピーしました