🔓 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

Ghost to Google Sheets, LinkedIn drafts ready fast

Lisa Granqvist Partner Workflow Automation Expert

Publishing the article is the easy part. Promoting it on LinkedIn is where the wheels come off: you’re copying paragraphs, rewriting hooks, hunting for the link, then trying to remember if you already posted something similar last week.

This Ghost LinkedIn automation hits solo creators first, honestly. But marketing leads and small agency teams feel it too, because “we’ll share it later” turns into a messy spreadsheet and inconsistent posting.

This workflow pulls your latest Ghost posts, cleans the content, generates LinkedIn-ready drafts with GPT‑4o, then logs everything into Google Sheets so you always know what to post next.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Ghost to Google Sheets, LinkedIn drafts ready fast

The Problem: LinkedIn Promotion Becomes a Second Job

Most teams don’t struggle to write the long-form post. They struggle to consistently turn that post into a sharp LinkedIn draft that sounds like a human, includes the right CTA, and doesn’t repeat the same angle every time. You open Ghost, copy the article, paste it into a doc, strip out formatting, then rewrite it into something “LinkedIn-ish.” And after all that, you still have no clean record of what you promoted, when you did it, and what copy you used.

The friction compounds. Here’s where it breaks down.

  • Each article promotion turns into about 30–45 minutes of rewriting and cleanup.
  • Without a log, you accidentally reuse the same hook, so your posts start sounding identical.
  • HTML from Ghost gets pasted into prompts, which leads to noisy AI output and extra editing.
  • Teams lose momentum because “drafts” live in random places, not in one source of truth.

The Solution: Ghost → AI Drafts → Google Sheets Logging

This workflow is designed to make promotion feel automatic, not aspirational. You trigger it in n8n, and it pulls recent articles from your Ghost site. Then it maps the fields you actually care about (title, URL, publish date, HTML content), and runs those posts through a batching loop so you can process one or many without babysitting it. The HTML gets stripped and cleaned into plain text that an AI model can work with. Finally, a GPT‑4o powered AI Agent generates a polished LinkedIn draft with a hook, summary, call-to-action, and a signature, then the workflow appends both the source content and the finished LinkedIn copy into Google Sheets.

The workflow starts with a manual trigger and retrieves your Ghost posts via the Ghost API. From there, it cleans and merges the article text into a single prompt-friendly input, generates LinkedIn copy, and logs everything in a sheet so you can review, schedule, or hand it off.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you publish 3 Ghost articles a week and you like to create 2 LinkedIn drafts per article (a “technical” angle and a “story” angle). Manually, that’s usually about 30 minutes per draft between copying, cleaning, prompting, and rewriting, so you’re spending roughly 3 hours a week. With this workflow, you trigger the run once, let it process the batch, then skim the Google Sheet and do light edits, maybe 10 minutes per draft. That’s about 2 hours back most weeks.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Ghost CMS with API access to your posts
  • Google Sheets to store drafts and source fields
  • OpenAI API key (get it from the OpenAI API dashboard)

Skill level: Beginner. You’ll connect accounts, paste a few credentials, and tweak the AI prompt for your voice.

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

How It Works

You trigger the run in n8n. The workflow starts with a manual trigger (you can add a schedule later), then immediately calls Ghost to retrieve recent posts you want to promote.

Article fields get organized for processing. A mapping step reshapes the Ghost response into clean fields like title, URL, and HTML content, which makes downstream steps predictable.

Content is cleaned and merged into prompt-ready text. The workflow loops through articles in batches, strips markup, then combines clean content so the AI model gets readable input instead of a mess of tags.

GPT‑4o generates the LinkedIn draft, then everything gets logged. The AI Agent creates a professional post with your requested structure, and a merge step pairs that output with the original article details before appending a new row in Google Sheets.

You can easily modify the AI prompt to change tone, add your signature, or generate two drafts per article based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Set up the manual trigger so you can run the workflow on demand while testing your blog promotion automation.

  1. Add the Manual Start Trigger node as the workflow entry point.
  2. Leave Manual Start Trigger parameters empty (no configuration required).
  3. Connect Manual Start Trigger to Retrieve Blog Articles.

Step 2: Connect Ghost and Retrieve Articles

Pull recent blog posts from Ghost to build the promotion dataset.

  1. Open Retrieve Blog Articles and set Operation to getAll.
  2. Set Limit to 3.
  3. Credential Required: Connect your Ghost credentials.
  4. Connect Retrieve Blog Articles to Map Post Fields.

Step 3: Map Fields and Batch Processing

Normalize article fields and loop through each post for clean content processing.

  1. In Map Post Fields, add assignments for each field:
    • id{{ $json.id }}
    • title{{ $json.title }}
    • featured_image{{ $json.feature_image }}
    • excerpt{{ $json.excerpt }}
    • content{{ $json.html }}
    • link{{ $json.url }}
  2. Connect Map Post Fields to Iterate Article Batches.
  3. In Iterate Article Batches, leave Options empty to use the default batch size.

If you want to change batch size, add Batch Size in Iterate Article Batches to control how many posts process per cycle.

Step 4: Clean HTML and Merge Content Streams

Strip HTML from the post content and combine clean data before AI drafting.

  1. In Strip Markup Text, keep the Code as provided to convert HTML into clean_content.
  2. Connect Iterate Article Batches to both Strip Markup Text and Combine Clean Content as shown in the workflow.
  3. In Combine Clean Content, set Mode to combineBySql.
  4. Combine Clean Content outputs to both Generate LinkedIn Copy and Merge Social Drafts in parallel.

⚠️ Common Pitfall: If Strip Markup Text receives empty content, the AI output may be blank. Ensure Map Post Fields maps {{ $json.html }} correctly.

Step 5: Set Up AI Drafting with OpenAI

Generate LinkedIn promotional copy from the cleaned article content using an OpenAI chat model.

  1. Open Generate LinkedIn Copy and set Text to =Article Title: {{ $json.title }} Article Link: {{ $json.link }} Article Content: {{ $json.clean_content }}.
  2. Keep Prompt Type set to define, and preserve the system instructions in Options → System Message.
  3. Ensure OpenAI Chat Engine is connected as the language model for Generate LinkedIn Copy (AI language model connection).
  4. Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine (not in Generate LinkedIn Copy).
  5. In OpenAI Chat Engine, set Model to gpt-4o-mini.

Step 6: Merge Drafts and Append to Google Sheets

Merge AI output with article fields and log everything to a Google Sheet.

  1. In Merge Social Drafts, set Mode to combineBySql.
  2. Connect Merge Social Drafts to Append to Sheet.
  3. In Append to Sheet, set Operation to append.
  4. Map the columns in Append to Sheet using expressions:
    • id{{ $json.id }}
    • title{{ $json.title }}
    • content{{ $json.content }}
    • excerpt{{ $json.excerpt }}
    • clean_content{{ $json.clean_content }}
    • linkedin_post{{ $json.output }}
    • featured_image{{ $json.featured_image }}
  5. Select your Document and Sheet Name in Append to Sheet.
  6. Credential Required: Connect your Google Sheets credentials.

Ensure your Google Sheet has headers matching the column keys (id, title, content, excerpt, clean_content, linkedin_post, featured_image) to avoid append errors.

Step 7: Test and Activate Your Workflow

Run a manual test to confirm article retrieval, AI generation, and sheet logging work end-to-end.

  1. Click Execute Workflow and run from Manual Start Trigger.
  2. Confirm Retrieve Blog Articles returns up to 3 posts.
  3. Verify Generate LinkedIn Copy outputs a professional LinkedIn draft in output.
  4. Check Append to Sheet for a new row with all mapped fields and the generated post.
  5. When satisfied, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Ghost credentials can expire or need specific permissions. If things break, check your Ghost Admin API key and the integration settings in Ghost first.
  • 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 Ghost LinkedIn automation?

About 30 minutes if your Ghost and Google accounts are ready.

Do I need coding skills to automate Ghost LinkedIn automation?

No. You’ll mainly connect Ghost, Google Sheets, and OpenAI, then paste in a prompt you like.

Is n8n free to use for this Ghost LinkedIn 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 OpenAI API costs, which are usually a few cents per generated draft.

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 Ghost LinkedIn automation workflow for multiple drafts per article?

Yes, but you’ll want to adjust the prompt inside the “Generate LinkedIn Copy” AI Agent to output two variants (for example, “technical” and “story”). You can also duplicate that generation step and merge both results in the “Merge Social Drafts” node so both versions get appended to Google Sheets. Common tweaks include changing the author signature, adding a stronger CTA, and limiting the summary length.

Why is my Ghost connection failing in this workflow?

Usually it’s an expired or mis-copied Ghost Admin API key, or the integration doesn’t have permission for the content you’re trying to fetch. Double-check the Ghost URL and key in the “Retrieve Blog Articles” node. If it works for one post but not many, you might be pulling drafts or members-only content that your token can’t access.

How many articles can this Ghost LinkedIn automation handle?

A lot. On n8n Cloud Starter you’re limited by monthly executions, and self-hosting has no execution cap (it mainly depends on your server). Practically, most teams run this in small batches of 10–50 posts, and it stays stable as long as your Ghost API and OpenAI rate limits aren’t being hammered.

Is this Ghost LinkedIn automation better than using Zapier or Make?

For batching Ghost posts, cleaning HTML, and building a reliable “log + draft” pipeline, n8n is usually the more flexible choice. You can loop over items, merge data cleanly, and branch logic without paying per tiny feature. Zapier and Make can absolutely do parts of this, but the moment you add batching and richer text processing, things get fiddly (and often pricier). If you only need a simple one-post-in, one-draft-out flow, those tools can feel faster at the start. Talk to an automation expert if you want help picking the cleanest setup.

This is the kind of system you set up once and then quietly rely on every week. The workflow handles the repetitive parts, and you get to focus on publishing and having real conversations on LinkedIn.

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

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal