Who this is for
This workflow is for content teams, marketers, and solo site owners who draft posts in Google Sheets and want a reliable way to publish to WordPress automatically — including featured images and tags.
What it does
- Pulls rows from a Google Sheet where
status = READY
- Processes rows one-by-one (safe for multiple posts in a single run)
- If
image_url is present, downloads the image and uploads it to WordPress Media, then uses it as featured_media
- Parses
hashtags into clean tag slugs, checks if each tag exists in WordPress, and creates missing tags
- Publishes the post via the WordPress REST API (
/wp-json/wp/v2/posts) with the collected tag IDs
- Updates the same Google Sheets row to
POSTED and writes posted_at + post_url
How to set up
- Make a copy of the Google Sheets template: https://docs.google.com/spreadsheets/d/1lJDeaN75c1hBk0gddsdvbeXDuxDr5Q-NablHRSjvLjQ/edit?gid=0#gid=0
- Connect Google Sheets credentials in n8n and point the workflow to your spreadsheet + sheet tab.
- Connect WordPress credentials (recommended: Application Password) for REST API access.
- Ensure your sheet has columns like:
id, status, title, excerpt, body, image_url, hashtags.
Requirements
- WordPress site with REST API enabled
- Credentials set via n8n (no hardcoded secrets)
- Publicly accessible
image_url (or adjust the workflow for private assets)
How to customise
- Swap Manual Trigger for Cron to publish on a schedule
- Add categories, custom post types, or draft mode
- Extend error handling to write
error_message and set status = ERROR when publishing fails