Back to Templates

Generate and publish AI ops blog content with Notion, Ghost, Buffer and OpenAI

Created by

Created by: Țugui Dragoș || tuguidragos
Țugui Dragoș

Last update

Last update 8 hours ago

Categories

Share


Quick overview

One workflow. A whole content team. It finds a fresh topic, researches it with real sources, writes the article and checks every claim, designs a cover image, drafts your social posts, and publishes to Ghost. You click approve once. Notion tracks the rest.

How it works

  1. Every week it scans your recent titles in Notion and picks one fresh angle in your niche, so it never writes the same thing twice.
  2. It researches that angle live, pulls 4 to 7 real cited sources, and forces them through strict quality gates for source count, top tier sources, domain variety, and independence. Weak research never gets through.
  3. It writes a full article and a cover image brief, then a second model reads the draft and checks every claim against the sources. A failing draft is repaired automatically and rechecked. The status lands in Notion, and you get a Pushover ping if it fails.
  4. Once a draft passes, it creates the cover image, uploads it to Cloudflare R2, writes social posts for each network, checks those too, and parks everything as Pending Review.
  5. You open Notion, skim the article, image, and posts, tweak anything you want, and hit Approve. That is the only thing you do by hand.
  6. On Approve it publishes to Ghost, queues your posts to Facebook, Threads, and X through Buffer, posts to Bluesky directly, and flips the row to Live.

Setup

  1. Duplicate the ready made Notion database from the link, create a Notion integration, connect it to the database, and drop the database ID into the Notion trigger and Notion page nodes.
  2. Add your OpenAI key for the writing model, the lighter checking model, and the image model.
  3. Add your Notion credentials and make sure the integration can read and write the database.
  4. Set up Cloudflare R2: bucket name, public base URL for the image links, and public read access on uploads.
  5. Fill the Config nodes with your Ghost details (site URL and Admin API key in id:secret format, plus an optional author ID), your Buffer access token and channel IDs, and your Bluesky handle and app password.
  6. Add your Pushover keys for review pings and error alerts, then set the error workflow on each main workflow.

Requirements

  • n8n, Cloud or self hosted with AI agent node support
  • OpenAI API key with pay as you go credit
  • Notion account with an internal integration token
  • Ghost blog with Admin API access
  • Cloudflare R2 bucket with public read access
  • Buffer account with connected channels and an access token
  • Bluesky account with an app password
  • Pushover account for pings and alerts

Customization

  • Set your own niche and publishing schedule in the config nodes
  • Swap the OpenAI models for any your account supports
  • Add or remove networks through Buffer, like LinkedIn, Instagram, Pinterest, or TikTok
  • Run several research streams into the same blog at once
  • Switch Ghost for another CMS, or change the article length and tone in the writer prompt

Additional info

Want proof before you build? The whole blog at https://blog.tuguidragos.com is researched, written, checked, illustrated, and published by this engine. No human writing. Look around and judge the output for yourself.

Notion : https://app.notion.com/p/tuguidragos/n8n-AI-Ghostwriter-370ecbf6ef7a806ca0fceac060eec349

Everything technical lives on GitHub: the full setup guide, the video walkthrough, and the architecture diagrams. https://github.com/TuguiDragos/n8n-ai-ghostwriter

Every workflow also carries sticky notes on the canvas that explain each node.