Overview
I got tired of manually writing and posting content for LinkedIn, Instagram, and Twitter/X four times a week, so I built an end-to-end n8n pipeline that handles the whole thing:
topic list → AI-generated, research-backed copy → branded image → cloud storage → scheduled multi-platform publishing
Zero manual steps once it’s running. I’ve since packaged a version of this as a client service, but the core workflow below is the one doing the work.
What it does
- Runs on a schedule (Sun/Tue/Thu/Sat, 9 AM)
- Pulls the next unused topic from a Google Sheet
- Generates platform-specific copy (LinkedIn post, Instagram caption, Twitter/X post + hashtags) using GPT-4o, grounded with a live SerpAPI search so the content reflects current news/trends rather than just the model’s training data
- Parses the AI output into structured fields
- In parallel: generates an image for the post, and pulls the brand logo from the client’s site
- Merges the logo onto the generated image (branding)
- Uploads the branded image to Google Drive and makes it public (needed so downstream tools can fetch the image via URL)
- Logs everything (captions, hashtags, image link) back to the same Sheet as a historical record
- Sends the final content + image URL out for scheduled publishing on LinkedIn, Instagram, and Twitter
Nodes used
- Schedule Trigger — cron-based trigger (runs 4x/week)
- Google Sheets — reads next topic; later appends generated content back as a log
- AI Agent (OpenAI/GPT-4o) — content generation, with SerpAPI wired in as a tool for live web search
- Output Parser — structures the AI response into separate fields (LinkedIn/Instagram/Twitter/hashtags)
- Image generation node — creates the visual from a prompt
- HTTP Request — fetches the client’s logo from their website
- Edit Image — resizes the logo and overlays it onto the generated image
- Google Drive — uploads image, sets public sharing permissions
- HTTP Request / API call — sends structured content + image URL to the scheduling platform (Buffer, in my case — not a native n8n node, so this is a plain HTTP Request against Buffer’s API)
Requirements / credentials
- OpenAI API key (GPT-4o access)
- SerpAPI key
- Google Sheets + Google Drive OAuth credentials
- An image generation API/model of your choice
- A scheduling tool with an API (I used Buffer) — swap this node for whatever you use
Setup notes for anyone replicating this
- Pre-fill your Google Sheet with topics in one column; the workflow consumes them top-down and marks/logs what’s been posted so you don’t need a separate content calendar tool
- Run image generation and the logo fetch in parallel (not sequentially) — saves real execution time
- Making the Drive file public is required if your scheduler needs a fetchable URL rather than a direct upload
- Logging generated content back to the Sheet doubles as your audit trail — no digging through n8n execution history to find “what did we post two weeks ago”
Workflow file
We build automation workflows like this one for clients at StepUp Analytics — mainly n8n-based content, ops, and reporting pipelines for small businesses that don’t have the bandwidth to run this stuff manually. If you want to see more of what we do: stepupanalytics.com.
If you have any suggestions on any of this — better branding logic, smarter scheduling, a different image model, or anything else — drop them in the comments below, I’d love to hear them.