Skip to main content

Generate LinkedIn posts with GPT-4o-mini, Gemini images, human approval, and auto-publish

Workflow preview

Workflow preview
100%
Generate LinkedIn posts with GPT-4o-mini, Gemini images, human approval, and auto-publish preview
Open on n8n.io

1. Workflow Overview

An advanced AI powered LinkedIn automation workflow built with n8n that generates high engagement LinkedIn posts using GPT 4o mini, optionally creates AI generated visuals with Google Gemini, sends...

Best for

  • Social Media automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, @n8n/n8n-nodes-langchain.lmchatopenai, n8n-nodes-base.googlesheets, @n8n/n8n-nodes-langchain.chainllm, n8n-nodes-base.gmail, n8n-nodes-base.switch, n8n-nodes-base.linkedin, n8n-nodes-base.if

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Jitesh Dugar.

Original n8n.io source

1.1 Workflow description

Title
Generate LinkedIn posts with GPT-4o-mini, Gemini images, human approval, and auto-publish
Workflow name
Generate LinkedIn posts with GPT-4o-mini, Gemini images, human approval, and auto-publish

An advanced AI-powered LinkedIn automation workflow built with n8n that generates high-engagement LinkedIn posts using GPT-4o-mini, optionally creates AI-generated visuals with Google Gemini, sends everything for human approval via Gmail, and finally publishes the approved content directly to LinkedIn.

This workflow combines:

  • AI content generation
  • AI image generation
  • Human-in-the-loop approval
  • Automated LinkedIn publishing
  • Google Sheets as CMS/database

🧠 Workflow Overview

This workflow automatically:

  1. Reads content ideas from Google Sheets
  2. Generates LinkedIn posts using OpenAI
  3. Optionally creates AI-generated images
  4. Uploads images to public URLs
  5. Sends content for manual approval
  6. Publishes approved posts to LinkedIn
  7. Updates Google Sheets with status + post URL

1️⃣ Schedule Trigger

Purpose

Automatically starts the workflow at scheduled intervals.

What it does

  • Runs the workflow automatically
  • Eliminates manual execution

2️⃣ Get Data from Sheets

Purpose

Fetches post ideas and instructions from Google Sheets.

What it does

  • Reads rows where Status = Ready
  • Pulls content details
  • Sends data to AI generation nodes

Columns Used

  • Post Description
  • Instructions
  • Generate Image (Yes/No)
  • Status

3️⃣ OpenAI Chat Model

Purpose

Provides the AI model connection.

What it does

  • Connects GPT-4o-mini to the workflow
  • Powers the LinkedIn content generation process

4️⃣ Generate Post Content

Purpose

Creates scroll-stopping LinkedIn posts.

What it does

  • Uses advanced prompt engineering
  • Generates human-style content
  • Creates engaging hooks
  • Adds CTA + hashtags
  • Formats posts for LinkedIn readability

5️⃣ Switch

Purpose

Checks whether image generation is required.

Logic

Reads: Generate Image (Yes/No)

Outputs

  • Image Required
  • Image Not Required

6️⃣ Generate Post Image

Purpose

Creates AI-generated LinkedIn images using Google Gemini.

What it does

  • Generates visuals from post ideas
  • Creates engaging graphics
  • Optimizes image format for LinkedIn

7️⃣ Upload a File

Purpose

Uploads generated images and creates a public URL.

Why this is important

LinkedIn and email approvals require publicly accessible image URLs.

What it does

  • Uploads binary image files
  • Generates shareable public links
  • Makes images accessible instantly

Powered By

🔗 UploadToURL

UploadToURL makes file hosting extremely simple inside n8n workflows.

Benefits

  • Instant public URLs
  • Fast uploads
  • Easy integration with automation workflows
  • Perfect for AI-generated assets

8️⃣ Send Content Confirmation

Purpose

Sends generated content for human approval.

What it sends

  • AI-generated LinkedIn post
  • Image preview URL
  • Approval buttons

Approval Options

  • Approve
  • Reject

This creates a powerful human-in-the-loop workflow.


9️⃣ Content Confirmation Logic

Purpose

Processes approval responses.

Logic

Checks: approved = true/false

Outputs

  • Approved
  • Rejected

🔟 Is Image Required?

Purpose

Determines which LinkedIn posting path to use.

Why this matters

LinkedIn handles:

  • Text-only posts
  • Image posts

differently.


1️⃣1️⃣ Download a File

Purpose

Downloads the uploaded image back into binary format.

Why this is needed

LinkedIn image uploads require binary image data.

What it does

  • Downloads image from public URL
  • Converts it into binary format
  • Prepares it for LinkedIn upload

1️⃣2️⃣ Post With Image

Purpose

Publishes approved LinkedIn posts with images.

What it posts

  • AI-generated text
  • Attached image

1️⃣3️⃣ Post Without Image

Purpose

Publishes text-only LinkedIn posts.

What it posts

  • AI-generated content
  • No image attachment

1️⃣4️⃣ Update Google Sheet

Purpose

Updates workflow status after successful posting.

What gets updated

  • Status = Completed
  • Post ID
  • LinkedIn Post URL

1️⃣5️⃣ Update Status to Canceled

Purpose

Updates rejected content status.

What gets updated

  • Status = Canceled

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 2 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 3 - Get Data from Sheets

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 4 - Generate Post Content

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.6

Block 5 - Send Content Confirmation

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 6 - Content Confirmation Logic

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 7 - Post With Image

Type / Role
n8n-nodes-base.linkedIn - linkedIn
Config choices
Version 1

Block 8 - Update Google Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 9 - Update Status to Canceled

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 10 - Post Without Image

Type / Role
n8n-nodes-base.linkedIn - linkedIn
Config choices
Version 1

Block 11 - Is Image Required?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 12 - Generate Post Image

Type / Role
@n8n/n8n-nodes-langchain.googleGemini - googleGemini
Config choices
Version 1

Block 13 - Switch

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 14 - Upload a File

Type / Role
n8n-nodes-uploadtourl.uploadToUrl - uploadToUrl
Config choices
Version 1

Block 15 - Download a File

Type / Role
n8n-nodes-uploadtourl.uploadToUrl - uploadToUrl
Config choices
Version 1

Block 16 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Sticky Note8

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 30 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate LinkedIn posts with GPT-4o-mini, Gemini images, human approval, and auto-publish
Complexity advanced
Nodes 30
Categories Social Media, Multimodal AI
Author Jitesh Dugar
Published 11 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15613/15613.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate LinkedIn posts with GPT-4o-mini, Gemini images, human approval, and auto-publish do?

An advanced AI powered LinkedIn automation workflow built with n8n that generates high engagement LinkedIn posts using GPT 4o mini, optionally creates AI generated visuals with Google Gemini, sends...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Social Media, Multimodal AI use case.