🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

WordPress to Google Sheets, social posts shipped

Lisa Granqvist Partner Workflow Automation Expert

You hit publish on a WordPress post… and then the real work starts. Copy-pasting into social platforms, resizing images, rewriting captions so they don’t look spammy, and trying to remember what actually got posted.

Marketing managers feel it first. A solo founder doing their own content feels it too. Same for an agency lead who needs the team shipping consistently. This WordPress social automation turns one blog post into ready-to-publish social content and logs what went out.

You’ll see how the workflow pulls a WordPress Post ID from Google Sheets, generates captions plus images with AI, posts to X and LinkedIn (and more), then marks everything as “done” so you stop second-guessing.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: WordPress to Google Sheets, social posts shipped

The Problem: Turning One Post Into Four (or More) Social Posts

Repurposing a WordPress article into social posts sounds simple until you do it every week. The blog is long, social needs short, and each platform has its own “rules” that aren’t written anywhere. So you end up rewriting the same message four times, hunting for an image that fits, and logging everything in a doc you forget to update. Then someone asks, “Did we post this on LinkedIn?” and you’re scrolling through feeds like it’s a part-time job. Honestly, it’s the context switching that burns you out.

It adds up fast. Here’s where it breaks down in real life:

  • Captions get rushed, so your X post reads like a chopped-up headline instead of something people want to click.
  • You post on LinkedIn but forget to post on X (or vice versa), then tell yourself you’ll “catch up tomorrow.”
  • Image resizing and platform requirements steal about 30 minutes per article, even when you reuse the same asset.
  • Tracking lives in someone’s brain, which means you can’t delegate it cleanly.

The Solution: AI-Generated Captions + Images, Then Auto-Posting

This workflow uses your WordPress post as the single source of truth, then does the repurposing and publishing for you. It starts by reading a WordPress Post ID from a Google Sheet, then fetches that post’s content through WordPress. Next, an AI “social manager” analyzes the article and writes platform-specific captions, so your LinkedIn version can be more narrative while X stays punchy. It also generates images sized for Instagram and for Facebook/LinkedIn using OpenAI image generation. Finally, it publishes the finished posts to your connected social accounts and updates Google Sheets with simple status flags like “X OK” and “LinkedIn OK.” No guessing later.

The workflow kicks off from an n8n run (manual trigger in the base version), pulls the next post to publish, then creates captions and creative in one pass. From there, it sends the right format to each platform and writes back to Google Sheets so you’ve always got a clean audit trail.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you publish 3 WordPress posts per week and want each one to go to X, LinkedIn, Facebook, and Instagram. Manually, budgeting a very reasonable 15 minutes per platform (caption tweaks, image handling, posting, and logging) puts you at about 3 hours per post, or roughly 9 hours a week. With this workflow, you can trigger the run in a minute, let AI generate the captions and images, and review quickly before it publishes. For most teams, that’s closer to 20 minutes of oversight per post, not half a day.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • WordPress to fetch the post content.
  • Google Sheets to store Post IDs and posting status.
  • OpenRouter API key (get it from your OpenRouter dashboard).
  • OpenAI API key (get it from the OpenAI API keys page).
  • X (Twitter) developer app to enable posting via OAuth.
  • LinkedIn app credentials to publish posts to a profile or page.
  • Facebook/Instagram Graph API access to post to Facebook and upload to Instagram.

Skill level: Intermediate. You’ll mainly be connecting accounts, setting permissions, and testing a couple of runs end-to-end.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A run starts the process. In the base workflow, you click the manual trigger in n8n to start. Many teams later swap this to a schedule trigger so it runs every morning or whenever the sheet is updated.

Google Sheets decides what to publish. The workflow reads your sheet row(s) and grabs the WordPress Post ID you want to distribute. This is the simple control panel that keeps humans in charge.

WordPress content gets turned into platform-ready posts. n8n fetches the article, then the Social Content Orchestrator uses an OpenRouter AI model to generate captions for X, Facebook, LinkedIn, and Instagram. After that, OpenAI generates images sized for Instagram and for Facebook/LinkedIn so you aren’t cropping assets by hand.

Publishing happens, then tracking updates. The workflow posts to X and LinkedIn (plus Facebook and Instagram in this build), and writes back to Google Sheets with flags like “X OK” and “LinkedIn OK.” You can scan one sheet and know what shipped.

You can easily modify the platforms and the posting rules to match your workflow. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Start the workflow manually to fetch the next scheduled post from your spreadsheet.

  1. Add a Manual Run Trigger node as the workflow trigger.
  2. Connect Manual Run Trigger to Retrieve Sheet Rows.

Step 2: Connect Google Sheets

Pull the next social post entry and update status flags across multiple platforms.

  1. Open Retrieve Sheet Rows and select the spreadsheet documentId 1suPQNdgoAzrklleN4ok2mZnsq0GK1dt59oIHv8JWX5U.
  2. Set sheetName to gid=0 and keep returnFirstMatch enabled.
  3. In Retrieve Sheet Rows, ensure the filter uses lookupColumn TWITTER.
  4. Connect Google Sheets credentials to all Google Sheets update nodes: Mark X Posted, Mark LinkedIn Posted, Flag Facebook Posted, and Flag Instagram Posted.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials.

⚠️ Common Pitfall: If the sheet does not include a row_number field, the update operations in the Google Sheets status nodes will fail.

Step 3: Set Up WordPress Retrieval

Fetch the WordPress post data that will be transformed into social content.

  1. Add Fetch WP Article and connect it after Retrieve Sheet Rows.
  2. Set operation to get.
  3. Set postId to ={{ $json['POST ID'] }}.
  4. Credential Required: Connect your wordpressApi credentials.

Step 4: Configure AI Content Generation

Use the LLM and structured parser to generate platform-specific copy and image prompts.

  1. Open OpenRouter Chat Engine and set model to google/gemini-2.0-flash-exp:free.
  2. Connect OpenRouter Chat Engine to Social Content Orchestrator as the language model.
  3. In Social Content Orchestrator, set text to =Generate social content from the following text with title "{{ $json.title.rendered }}" (in the same language): ''' {{ $json.content.rendered }} '''.
  4. Keep hasOutputParser enabled on Social Content Orchestrator and connect Structured Output Reader as the output parser.
  5. Note: Structured Output Reader is an AI sub-node—credentials must be added to the parent LLM node (OpenRouter Chat Engine), not the parser.
  6. Credential Required: Connect your openRouterApi credentials to OpenRouter Chat Engine.

⚠️ Common Pitfall: If the schema in Structured Output Reader does not match the expected keys (twitter, facebook, linkedin, instagram), downstream nodes will receive empty fields.

Step 5: Configure Image Generation and Parallel Posting

Generate images for Instagram, Facebook, and LinkedIn, then post across networks in parallel.

  1. In Generate Instagram Image, set resource to image and prompt to ={{ $json.output.instagram }}.
  2. In Create FB & LinkedIn Image, set resource to image and prompt to ={{ $json.output.facebook }}.
  3. Social Content Orchestrator outputs to both Generate Instagram Image and Create FB & LinkedIn Image and Post to X Network in parallel.
  4. Create FB & LinkedIn Image outputs to both Share on LinkedIn and Post to Facebook in parallel.
  5. In Post to X Network, set text to ={{ $json.output.twitter }}.
  6. In Share on LinkedIn, set text to ={{ $('Social Content Orchestrator').item.json.output.linkedin }}, postAs to organization, and organization to [YOUR_ID].
  7. In Post to Facebook, set node to [YOUR_ID] and ensure the query parameters include message ={{ $('Social Content Orchestrator').item.json.output.facebook }} and link ={{ $('Fetch WP Article').item.json.link }}.
  8. In Upload to Instagram, set url to https://graph.facebook.com/v20.0/[YOUR_ID]/media, and map image_url to ={{ $json.url }} and caption to ={{ $('Social Content Orchestrator').item.json.output.instagram }}.
  9. Credential Required: Connect your openAiApi credentials to Generate Instagram Image and Create FB & LinkedIn Image.
  10. Credential Required: Connect your twitterOAuth2Api credentials to Post to X Network.
  11. Credential Required: Connect your linkedInOAuth2Api credentials to Share on LinkedIn.
  12. Credential Required: Connect your facebookGraphApi credentials to Post to Facebook and Upload to Instagram.

Tip: Replace [YOUR_ID] in Share on LinkedIn, Post to Facebook, and Upload to Instagram with your organization or page ID before testing.

Step 6: Configure Status Updates in Google Sheets

Update the spreadsheet to flag successful posts for each platform.

  1. In Mark X Posted, confirm operation is update and the row_number value is ={{ $('Retrieve Sheet Rows').item.json.row_number }}.
  2. In Mark LinkedIn Posted, map LINKEDIN to x and keep the same row_number expression.
  3. In Flag Facebook Posted, map FACEBOOK to x and keep the same row_number expression.
  4. In Flag Instagram Posted, map INSTAGRAM to x and keep the same row_number expression.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials to all four update nodes.

Step 7: Test and Activate Your Workflow

Verify the full publishing flow end-to-end before turning it on.

  1. Click Execute Workflow on Manual Run Trigger to test the full run.
  2. Confirm that Retrieve Sheet Rows finds a row and Fetch WP Article returns a post.
  3. Verify that Social Content Orchestrator generates platform content and that Generate Instagram Image / Create FB & LinkedIn Image return images.
  4. Check that posts are published by Post to X Network, Share on LinkedIn, Post to Facebook, and Upload to Instagram, and that each corresponding Google Sheets status node updates the row.
  5. Once successful, switch the workflow Active toggle on for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • WordPress credentials can expire or lack REST API permissions. If the post fetch fails, check your WordPress application password (or API user role) and confirm the REST API endpoint is reachable.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this WordPress social automation automation?

About 60–90 minutes if your social accounts already have API access.

Do I need coding skills to automate WordPress social automation?

No. You’ll connect credentials and paste a few IDs (like your Sheet ID). The only “technical” part is getting social platform permissions approved.

Is n8n free to use for this WordPress social automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenRouter and OpenAI API usage, which usually costs a few dollars a month at small-business volume.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this WordPress social automation workflow for approval before posting?

Yes, and you probably should. A common tweak is to pause after the Social Content Orchestrator and image generation nodes, then write drafts back into Google Sheets for review before the “Post to X Network” and “Share on LinkedIn” steps run. Some teams also add an If condition so only rows marked “Approved” get published.

Why is my WordPress connection failing in this workflow?

Most of the time it’s permissions or the REST API isn’t reachable from your n8n instance. Regenerate your WordPress application password (or update your credentials) and confirm the post endpoint works in a browser. If you’re behind a security plugin or firewall, allowlist your n8n server IP. Also check that you’re fetching the right Post ID from Google Sheets, because an empty or wrong ID can look like a connection problem.

How many posts can this WordPress social automation automation handle?

On n8n Cloud Starter, you’re typically fine for a few hundred runs a month, which is plenty for most small teams. If you self-host, there’s no execution cap, so the real limit is your server and the social APIs. Practically, this workflow is comfortable running several posts per hour because image generation and API publishing are the slow parts.

Is this WordPress social automation automation better than using Zapier or Make?

Often, yes, because this is not a simple 2-step zap. You’re generating multiple captions, generating images, branching to different networks, and writing statuses back to Google Sheets, which is where n8n tends to feel more flexible. Zapier and Make can do it, but costs can climb once you add multi-step logic and higher volume. Self-hosting is also a big deal if you want predictable costs. Still, if you want the simplest possible setup and don’t care about customization, those tools can be faster to start with. Talk to an automation expert if you want help choosing.

Once this is in place, your blog stops being “finished but forgotten.” The workflow handles the repetitive posting and tracking so you can focus on the next piece worth publishing.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Launch login modal Launch register modal