Marketing & content publishing
Google Sheets brief → Claude first draft → WordPress draft post
A title and a brief in the sheet; a full draft waiting in WordPress a few minutes later.
Your content calendar lives in a Google Sheet. This flow watches it: each new row with a title and a brief goes to Claude, which writes a first draft from your style guide, and the draft is created in WordPress as an unpublished post. The row gets the edit link and a status written back, so the editor works from a draft instead of a blank page. Nothing publishes without a person.
How it works
- GS
Trigger
Row added to the content calendar sheet (polled every minute)
Google Sheets
- if
Step 1
Check the row is complete
Rows continue only when Title and Brief are filled and Status is empty, so a half-typed row waits and a row already drafted is never sent twice.
- C
Step 2
Write the first draft with Claude
Title, brief, target keyword and your style guide go to Claude in one prompt. Back comes a headline, a two-sentence excerpt and the body as HTML with H2 sections.
- Wp
Step 3
Find the category's ID
The name in the Category column is matched against /wp/v2/categories, because the REST API takes category IDs rather than names. An unknown name falls back to the site's default category.
- Wp
Step 4
Create the post as a draft in WordPress
A POST to /wp/v2/posts creates the post with status draft, the excerpt, the category ID and the body as HTML. It appears under Posts → Drafts.
- GS
Step 5
Write the edit link and status back to the row
Back on the same row: WordPress post ID, edit URL, a timestamp and Status set to Drafted.
What changes once it runs
- A WordPress draft exists a few minutes after the row is added, with title, excerpt, category and body already in place.
- Editors open a draft written to your style guide rather than starting from an empty editor.
- The sheet stays the source of truth: post ID, edit link and a Drafted status land on the row that started it.
- Nothing goes live on its own. Every post waits in Drafts until a person publishes it.
- Rows marked Drafted are never sent to Claude a second time, so a re-run creates no duplicates.
What you get
- n8n workflow export, tested end to end against a live WordPress site
- Make and Zapier versions of the same flow
- Google Sheets template with the exact column names the workflow expects
- The Claude prompt as a separate text file, with the style-guide slot marked for yours
- Written setup guide covering the WordPress Application Password and the Anthropic key
- Recorded walkthrough of one row running through to Drafts
Before you start
- A Google Sheet with columns for Title, Brief, Keyword, Category and Status (a template is included)
- WordPress 5.6 or later with the REST API reachable, and an Application Password for the user who will own the drafts
- Anthropic API key with a small prepaid balance
- An n8n instance, Cloud or self-hosted, with Google Sheets OAuth connected
- For the Zapier version only: Zapier's WordPress plugin installed on the site
Built for
Questions before you buy
- Can it publish to Ghost instead of WordPress?
- Yes. The package includes a second n8n export where the two WordPress nodes are swapped for the Ghost Admin API node, which creates the post with status draft. Everything upstream, the sheet and the Claude prompt, is identical.
- Does the AI publish anything on its own?
- No. The post is created with status draft and stays there. Publishing is a human click in WordPress, and the workflow has no step that changes a post's status.
- What happens if Claude or WordPress returns an error?
- The row is given Status set to Error plus the message from the failing step, and the workflow moves on to the next row. Fix the cause, clear the status, and the row is picked up on the next poll. Nothing is retried blindly.
- Can I change the tone or length of the drafts?
- Tone, length, heading structure and phrases to avoid are all lines in the prompt file that ships with the package, and a style-guide section is left open for yours. No node changes needed.
- Do I need a paid n8n plan?
- n8n Cloud's Starter plan or a self-hosted instance is enough. A poll that finds no new row does not count as an execution, so a calendar of 40 posts a month uses 40 executions.
Nearby on the shelf
Whole catalog- McSGSMade to order
Mailchimp campaign sent → Slack confirmation + Google Sheets send log
Confirmation in Slack the moment a campaign goes out, and the numbers a day later.
Marketing & content publishing$99 - AtMcSMade to order
Airtable newsletter calendar → Mailchimp campaign + test email + Slack
Mark the issue Ready in Airtable and the Mailchimp campaign builds and test-sends itself.
Marketing & content publishing$99 - WfbhMade to order
Webflow form submission → beehiiv subscriber, tagged by form
Every site form feeds the newsletter, tagged with the form that captured it.
Marketing & content publishing$49
