AutomationFlowsAI & RAG › AI Content Approval Workflow with Gmail

AI Content Approval Workflow with Gmail

Original n8n title: Awesome N8n Templates (gmail)

Awesome N8N Templates. Uses stickyNote, gmail, executeWorkflowTrigger, httpRequest. Event-driven trigger; 35 nodes.

Event trigger★★★★★ complexityAI-powered35 nodesGmailExecute Workflow TriggerHTTP RequestOpenAI ChatAgentTool Serp ApiRss Feed Read TriggerOpenAI
AI & RAG Trigger: Event Nodes: 35 Complexity: ★★★★★ AI nodes: yes Added:

This workflow follows the Agent → Execute Workflow Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e4294fc8-f7ae-4bf9-9bea-ab12f1467b25",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        -112
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0a3fb443-c849-4b8e-88b9-671776cfc594",
      "name": "Is Content Approved?",
      "type": "n8n-nodes-base.if",
      "position": [
        96,
        112
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "b62eb9fb-99d8-4cad-a067-acc40324e3d4",
      "name": "Gmail User for Approval",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -144,
        112
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "bc4e4c38-faf7-40d2-b937-d094f1202b61",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -960,
        1136
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "fda0aa9e-c2ee-4592-b3ff-45ad1a87b79e",
      "name": "pollinations.ai1",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "maxTries": 5,
      "position": [
        1040,
        864
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "d9e95cb8-f8b2-48c1-8f23-1d65369b60d0",
      "name": "Sticky Note26",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        688
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "aef8200f-3581-4efb-8711-10102f88297c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        848
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9947a02e-f8cd-45de-9f92-2e263967126d",
      "name": "gpt-4o-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        224,
        1328
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "f8b0aa3f-e137-4e0f-bb51-3da72773840f",
      "name": "Schema",
      "type": "n8n-nodes-base.set",
      "position": [
        -624,
        992
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "bcf82c88-1b5c-4160-96db-564e7ec70412",
      "name": "System Prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        -624,
        1264
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "f37ddb7b-e8d4-4828-b84c-4dbeba8c9ab9",
      "name": "Parse Schema",
      "type": "n8n-nodes-base.code",
      "position": [
        -416,
        992
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "cbd81910-21d9-4777-ae67-53a922ca7467",
      "name": "Parse System Prompt",
      "type": "n8n-nodes-base.code",
      "position": [
        -416,
        1264
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "831f292f-f28a-40b8-9998-57e4ed575378",
      "name": "Compose Prompt & Schema",
      "type": "n8n-nodes-base.set",
      "position": [
        -48,
        1120
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "579c2851-133a-49de-8ec4-4bc01b493947",
      "name": "Social Media Content Creator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        240,
        1120
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "059df7e8-e50f-464a-9129-f55745516e10",
      "name": "Merge Prompts and Schema",
      "type": "n8n-nodes-base.merge",
      "position": [
        -224,
        1120
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "2933b2a7-1942-4947-b311-eec8bba223d8",
      "name": "Social Content",
      "type": "n8n-nodes-base.set",
      "position": [
        592,
        1120
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "10a975a3-77f3-470b-a9c1-c953c5459c03",
      "name": "SerpAPI",
      "type": "@n8n/n8n-nodes-langchain.toolSerpApi",
      "position": [
        432,
        1328
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6826f371-360c-48f9-85e6-8f80e9659ac1",
      "name": "Sticky Note45",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        848
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6813dc0a-c472-4a5d-9e76-e78d76b5da37",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        1008
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "16ca1155-8c29-4935-86e2-2cdb5330eb17",
      "name": "RSS Feed Trigger",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "position": [
        -944,
        432
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "36773d9e-0a68-42ad-b71d-9cf8939c24c2",
      "name": "Generate an image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        832,
        992
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "8adafc7b-45ee-4262-bb13-b2a210eafc70",
      "name": "Create X Post",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        -560,
        560
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "7ca839f2-d1c4-4e65-907c-0117a09a6cec",
      "name": "Create Linkedin Post",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        -560,
        224
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "3864f9bc-3a44-4dec-a009-f7e836d0a18f",
      "name": "Create a post",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        832,
        208
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d738b003-e64b-4720-9423-bd0b280d5cf0",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        512,
        208
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "8f28a097-ca25-45e4-9919-2738765094ac",
      "name": "Save Image to imgbb.com",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -384,
        112
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "d0cd8ce5-29f2-48ac-8d35-a895f0900c96",
      "name": "Is Content Approved?1",
      "type": "n8n-nodes-base.if",
      "position": [
        96,
        384
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "c6aa5ed5-2c8c-4703-83f1-6c41fc23ba8e",
      "name": "Gmail User for Approval1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -160,
        384
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "52295bfe-cce4-4a10-9810-cb53f6a2a315",
      "name": "Merge2",
      "type": "n8n-nodes-base.merge",
      "position": [
        512,
        544
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "80f021f3-7cd9-4b65-9441-0fc8cea137fa",
      "name": "Save Image to imgbb.com1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -384,
        384
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "691e56be-5fa6-4999-b8f8-b89339c7326c",
      "name": "Create Tweet",
      "type": "n8n-nodes-base.twitter",
      "onError": "continueRegularOutput",
      "position": [
        848,
        544
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 2
    },
    {
      "id": "f56ec474-2505-42e4-83f0-55eab44c75b8",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1776,
        -80
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a28d20bf-a5d8-4bd2-917b-404ed924dc77",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1024,
        -80
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "98a44e58-329b-4b21-b104-659332062ef0",
      "name": "output",
      "type": "n8n-nodes-base.merge",
      "position": [
        1056,
        1328
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "c62246c7-e953-4d9c-a807-1cd870e5c53a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -416,
        -144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Create a post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge2": {
      "main": [
        [
          {
            "node": "Create Tweet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schema": {
      "main": [
        [
          {
            "node": "Parse Schema",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SerpAPI": {
      "ai_tool": [
        [
          {
            "node": "Social Media Content Creator",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "gpt-4o-mini": {
      "ai_languageModel": [
        [
          {
            "node": "Social Media Content Creator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Create Tweet": {
      "main": [
        []
      ]
    },
    "Parse Schema": {
      "main": [
        [
          {
            "node": "Merge Prompts and Schema",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create X Post": {
      "main": [
        [
          {
            "node": "Save Image to imgbb.com1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge2",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Create a post": {
      "main": [
        []
      ]
    },
    "System Prompt": {
      "main": [
        [
          {
            "node": "Parse System Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Social Content": {
      "main": [
        [
          {
            "node": "output",
            "type": "main",
            "index": 1
          },
          {
            "node": "Generate an image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Feed Trigger": {
      "main": [
        [
          {
            "node": "Create X Post",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create Linkedin Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "pollinations.ai1": {
      "main": [
        []
      ]
    },
    "Generate an image": {
      "main": [
        [
          {
            "node": "output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse System Prompt": {
      "main": [
        [
          {
            "node": "Merge Prompts and Schema",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Create Linkedin Post": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          },
          {
            "node": "Save Image to imgbb.com",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Content Approved?": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Content Approved?1": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compose Prompt & Schema": {
      "main": [
        [
          {
            "node": "Social Media Content Creator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail User for Approval": {
      "main": [
        [
          {
            "node": "Is Content Approved?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Image to imgbb.com": {
      "main": [
        [
          {
            "node": "Gmail User for Approval",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail User for Approval1": {
      "main": [
        [
          {
            "node": "Is Content Approved?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Prompts and Schema": {
      "main": [
        [
          {
            "node": "Compose Prompt & Schema",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Image to imgbb.com1": {
      "main": [
        [
          {
            "node": "Gmail User for Approval1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Social Media Content Creator": {
      "main": [
        [
          {
            "node": "Social Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Merge Prompts and Schema",
            "type": "main",
            "index": 1
          },
          {
            "node": "Schema",
            "type": "main",
            "index": 0
          },
          {
            "node": "System Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

How this works

This workflow automates content creation and approval, enabling teams to generate high-quality articles or posts efficiently while ensuring they meet standards before distribution. It's ideal for content creators, marketers, or small businesses relying on AI-driven tools to streamline ideation and review processes, saving hours on manual checks and revisions. The key step involves an AI model like GPT-4o-mini evaluating generated content, followed by an approval email via Gmail that triggers further actions only if endorsed, integrating seamlessly with external APIs through HTTP requests for enhanced research.

Use this workflow when handling regular content pipelines that require human oversight to maintain brand voice, such as blog publishing or social media campaigns, especially with event-based triggers for on-demand execution. Avoid it for simple, non-AI tasks or high-volume outputs needing real-time processing, as the 35-node chain might introduce unnecessary complexity. Common variations include swapping Gmail for Slack notifications or adding SERP API tools for fact-checking during generation.

About this workflow

Awesome N8N Templates. Uses stickyNote, gmail, executeWorkflowTrigger, httpRequest. Event-driven trigger; 35 nodes.

Source: https://github.com/ScraperNode/awesome-n8n-templates/blob/main/templates/ai-and-llm/5376-convert-rss-feeds-into-linkedin-x-posts-with-gpt-4o-ai-images-approval/workflow.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents. ​

Tool Http Request, Agent, HTTP Request +27
AI & RAG

22-Automate_Multi_Platform_Social_Media_Content_Creation. Uses outputParserStructured, lmChatGoogleGemini, lmChatOpenAi, httpRequest. Event-driven trigger; 57 nodes.

Output Parser Structured, Google Gemini Chat, OpenAI Chat +11
AI & RAG

Hacker News to Video Template - AlexK1919. Uses manualTrigger, hackerNews, splitInBatches, lmChatOpenAi. Event-driven trigger; 48 nodes.

Hacker News, OpenAI Chat, Tool Http Request +11
AI & RAG

Instead of staring at a blank page, this workflow scrapes top-performing content, breaks down the psychological hooks, rewrites it for your specific audience, and drafts a custom text graphic. Once yo

Twitter, Facebook Graph Api, LinkedIn +8
AI & RAG

Whether you’re a product manager, developer, or simply curious about workflow automation, you’re in the right place. This n8n workflow is designed to help you streamline and automate your social media

Output Parser Structured, OpenAI Chat, LinkedIn +8