If you want to auto publish WordPress posts with n8n, connecting your content calendar in Google Sheets to WordPress’s REST API is the fastest way to build a hands-free publishing system. Manually logging into WordPress to publish each post wastes valuable time you could spend on strategy and creation. That’s where automation comes in—specifically, connecting Google Sheets with WordPress using n8n to auto-publish content on your schedule.
This guide walks you through building a complete automation that pulls post data from Google Sheets and publishes directly to WordPress using n8n’s workflow automation platform. By the end, you’ll have a hands-free publishing system that works while you sleep.
Why Auto-Publish WordPress n8n With Post?
If you want to auto publish WordPress n8n with post, here’s why it makes sense for solo marketers. When you’re managing an AI Content Pipeline or collaborating with writers in spreadsheets, this creates unnecessary friction.
Using n8n to auto publish WordPress posts from Google Sheets gives you:
- Centralized content planning: Your entire editorial calendar lives in one spreadsheet
- Bulk preparation: Queue dozens of posts at once without touching WordPress
- Flexible scheduling: Set exact publish times down to the minute
- Version control: Track changes and revisions in Sheets before publishing
- Team collaboration: Writers and editors work in familiar spreadsheet interface
Unlike WordPress plugins that add database overhead, n8n runs externally and communicates through the WordPress REST API, keeping your site lean and fast.
Prerequisites for Auto-Publish WordPress n8n
Before building your automation workflow, ensure you have:
- WordPress site with REST API enabled (enabled by default in WordPress 4.7+)
- Application password or JWT authentication configured
- n8n instance (cloud or self-hosted)
- Google account with Sheets access
- Basic understanding of API concepts
The WordPress REST API provides endpoints for creating, reading, updating, and deleting posts programmatically. This is what allows n8n to communicate with your WordPress installation without manual intervention.
Setting Up Your Google Sheets Content Database
Your spreadsheet functions as the content queue. Create a new Google Sheet with these columns:
- Title: Post headline
- Content: Full post body (HTML or plain text)
- Status: draft, publish, or schedule
- Publish Date: ISO 8601 format (2024-01-15T10:00:00)
- Categories: Comma-separated category names or IDs
- Tags: Comma-separated tags
- Featured Image URL: Direct link to image file
- Published: Checkbox to track completion
This structure gives you complete control over post metadata while maintaining the simplicity of spreadsheet editing. You can add custom fields for SEO titles, meta descriptions, or any custom post fields your theme uses.
Configuring WordPress Authentication
The WordPress REST API requires authentication for post creation. The simplest method uses application passwords:
- Log into WordPress and navigate to Users → Profile
- Scroll to Application Passwords section
- Enter a name like “n8n Automation” and click Add New
- Copy the generated password immediately (it won’t show again)
- Store this password securely in n8n credentials
Application passwords provide granular access control without exposing your main WordPress password. You can revoke them anytime without affecting your login credentials.
Building the Auto-Publish WordPress n8n Step-by-Step
Step 1: Add Google Sheets Trigger
Start your n8n workflow with a Google Sheets trigger node. Configure it to monitor your content spreadsheet for new rows or updated cells. The Google Sheets trigger can run on a schedule (every 15 minutes, hourly, etc.) or respond to webhooks for instant updates.
Set the trigger to filter only rows where the “Published” column is empty and the “Publish Date” is less than or equal to the current time. This ensures posts publish on schedule automatically.
Step 2: Filter and Transform Data
Add an IF node to check if posts are ready for publishing. The condition should verify:
- Status field equals “publish” or “schedule”
- Publish date is current or past
- Published checkbox is unchecked
Use a Function node to transform your spreadsheet data into the format WordPress expects. The WordPress REST API requires specific field names like “title,” “content,” “status,” and “date” in particular formats.
Step 3: Create WordPress Post via HTTP Request
Add an HTTP Request node configured for the WordPress REST API. Set these parameters:
- Method: POST
- URL: https://yoursite.com/wp-json/wp/v2/posts
- Authentication: Basic Auth with your username and application password
- Headers: Content-Type: application/json
The request body should include JSON with your post data mapped from the Google Sheets row. For Gutenberg compatibility, wrap content in proper block markup or use classic editor formatting.
Step 4: Handle Categories and Tags
WordPress REST API uses term IDs, not names. Add an HTTP Request node to fetch category and tag IDs before creating posts. Query the /wp-json/wp/v2/categories and /wp-json/wp/v2/tags endpoints, then map names to IDs.
Alternatively, use category and tag IDs directly in your spreadsheet to simplify the workflow. This approach works best when you have a fixed taxonomy structure.
Step 5: Update Google Sheets Status
After successful publishing, update your spreadsheet to mark the post as published. Add another Google Sheets node that writes “TRUE” or the current timestamp to the “Published” column. This prevents duplicate publishing and provides an audit trail.
Advanced Auto-Publishing Features
Once your basic workflow runs smoothly, enhance it with these additions:
Featured Image Upload
Download images from URLs in your spreadsheet and upload them to WordPress media library using the /wp-json/wp/v2/media endpoint. Then set the returned media ID as the featured_media field in your post creation request.
Content Formatting
Process content through Markdown parsers or HTML cleaners before sending to WordPress. This ensures consistent formatting, especially when integrating with a Claude API Blog Automation workflow that generates raw content.
Error Handling and Notifications
Add error handling nodes that catch API failures and send notifications via email or Slack. Include the post title and error message so you can quickly troubleshoot without checking n8n logs.
Post Scheduling with Timezone Support
Convert publish dates to UTC or your WordPress timezone using n8n’s Date & Time nodes. The WordPress REST API accepts ISO 8601 formatted dates with timezone offsets for precise scheduling.
Testing Your Auto-Publish Workflow
Before you fully auto publish WordPress n8n with posts, test the workflow thoroughly.
- Create a test post in your spreadsheet with status “draft”
- Manually execute the n8n workflow
- Verify the post appears in WordPress with correct content, categories, and metadata
- Test scheduled publishing by setting a future date
- Confirm the Google Sheets status updates correctly
Check both the WordPress admin dashboard and your live site. Some themes display posts differently than the editor preview, especially regarding Gutenberg blocks.
Troubleshooting Common Issues
Authentication errors: Verify your application password is correct and hasn’t been revoked. Check that your WordPress user has permission to publish posts.
Category/tag not found: Ensure category and tag names exactly match WordPress (case-sensitive). Pre-create all terms in WordPress or use IDs instead of names.
Gutenberg formatting problems: WordPress block editor expects specific HTML comment syntax. Wrap content in classic blocks or use proper Gutenberg block markup.
Duplicate posts: Verify your Google Sheets trigger filters correctly and the status update writes successfully. Add a unique identifier column to prevent re-processing.
Optimizing for Performance and Reliability
Keep your auto-publish workflow running smoothly:
- Limit batch sizes to 10-20 posts per execution to avoid API rate limits
- Add delays between API calls using Wait nodes
- Monitor n8n execution logs weekly for errors
- Back up your Google Sheets regularly
- Test workflow after WordPress updates
WordPress hosting providers sometimes implement rate limiting on REST API endpoints. If you’re publishing high volumes, contact your host about appropriate limits or consider spacing out publications throughout the day.
How to Auto Publish WordPress n8n With Post: Workflow Step-by-Step
This auto publish WordPress n8n setup forms the foundation for a complete content operations system. As you scale, consider:
- Multiple Google Sheets for different content types or authors
- Separate workflows for blog posts, pages, and custom post types
- Integration with content generation tools for end-to-end automation
- Automated SEO optimization before publishing
- Social media cross-posting triggered by successful publication
The combination of Google Sheets’ accessibility, n8n’s flexibility, and WordPress REST API’s power creates an automation stack that grows with your content operation. You maintain full control while eliminating repetitive manual work.
Start with a simple workflow publishing one or two posts, then expand as you discover optimization opportunities specific to your process. The goal is freeing your time for high-value marketing activities while maintaining consistent, reliable content publication.