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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- Add your OpenAI key for the writing model, the lighter checking model, and the image model.
- Add your Notion credentials and make sure the integration can read and write the database.
- Set up Cloudflare R2: bucket name, public base URL for the image links, and public read access on uploads.
- 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.
- 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.