Linkedin content generation workflow

Video is being edited. Coming soon...

This system turns a single keyword into research-backed, publish-ready LinkedIn posts – while keeping a human in control of what actually goes live.

It’s built in n8n and split into three workflows:

  1. Data ingestion (Research) – You submit a keyword through a small form. The workflow calls Apify’s LinkedIn scraper to fetch up to 50 recent posts for that topic, filters out low-engagement ones, and logs everything into Google Sheets with clean sequential IDs. That sheet becomes your “idea database” of proven posts.
  2. Post generation (AI-assisted) – On a schedule (e.g., daily at 9 AM), the system picks three unused posts from the sheet, sends them to a Research Agent (Claude Sonnet 4.5) to pull fresh insights via Google Search, then passes that to a Writer Agent that drafts original LinkedIn posts in your voice and generates a detailed image prompt. The prompt is sent to Google’s Nano Banana (Gemini Image) to create a realistic visual. Both copy and image URL are saved into a Draft Posts sheet.
  3. Human review & publishing – A Google Sheets trigger watches the Draft Posts tab. You (or your team) review each draft, approve or request edits, choose whether to include the image, or ask the AI to regenerate the copy or visual. Approved posts are published directly to LinkedIn, and the spreadsheet keeps track of what’s posted and what was fixed by AI.

You end up with an automated research + drafting + visual creation pipeline, but you still have final say on every post.

What You Need to Customize

Before using this workflow for yourself or clients, update the following:

1. API keys & credentials

  • Apify API key (for the LinkedIn scraper actor)
  • Anthropic / Claude API key (for research + writing agents)
  • Google Gemini / AI Studio key (Nano Banana image generation)
  • Google Sheets + Google Drive connections in n8n
  • LinkedIn API / app connection for publishing

2. Google Sheets structure

Make sure your spreadsheet matches (or adjust mappings in n8n):

  • Relevant Posts sheet: ID, LinkedIn URL, Name, Post ID, likes, comments, shares, Content, Posted At (LinkedIn), Posted Here, Query Keyword, Used
  • Draft Posts sheet: ID, Posted Here, Content, Approved, Revision Comments, Posted, Image, Include Image, Regenerate Image, Fixed By AI (optional)

If your column names or tab names are different, update all Google Sheets nodes accordingly.

3. Apify configuration

  • Confirm the actor ID / URL (LinkedIn post search actor)
  • Adjust maxPosts, postedLimit, and minimum likes (10/20) to fit your niche
  • Make sure the search query is dynamically mapped from your form keyword

4. Prompts & brand voice

  • Research Agent prompt (how deep you want research, what data to return, format)
  • Writer Agent prompt (tone of voice, structure, CTA, length, style)
  • Image prompt style (realism, colors, composition, “no text in image”)

This is where you make the system sound like you or your client.

5. Schedule & keywords

  • Adjust the schedule trigger (time of day, frequency)
  • Replace the hardcoded keyword filter with your topic(s), or make it dynamic

6. LinkedIn publishing

  • Connect the LinkedIn node to the correct account
  • Decide whether you’re publishing to a personal profile or company page
  • Check that image links from Drive are formatted correctly for LinkedIn

Once those pieces are in place, the whole system should run end-to-end:

keyword → research → drafts → images → human review → LinkedIn publish.