{
  "name": "Create research-based LinkedIn posts with OpenAI, Perplexity and human review",
  "nodes": [
    {
      "id": "3ef4644e-7c2e-4642-8bed-2ebbb30c9fb1",
      "name": "🖼️ Image Prompt Generator",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2680,
        480
      ]
    },
    {
      "id": "de8492e6-9fa5-4da6-90db-95a2c979ed2b",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        3040,
        480
      ]
    },
    {
      "id": "a1d79590-cd7a-4a8f-9027-534891c233e9",
      "name": "Generate an image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3320,
        480
      ]
    },
    {
      "id": "2f23ae1c-9bb0-4a2a-924d-ab65ccf42296",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        20,
        280
      ]
    },
    {
      "id": "5e26fa9f-c556-4469-80da-7b29633702d9",
      "name": "Click to start",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        20,
        480
      ]
    },
    {
      "id": "c0f1a648-55be-448a-a775-7b683a7db088",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        -80
      ],
      "parameters": {
        "width": 280,
        "height": 720,
        "content": "🕒 WORKFLOW STARTER\nThis triggers the content generation process automatically.\n\nSetup Required:\n• Set your preferred trigger interval. \n\nBelow I suggest two possible trigger. If you want to automate y"
      }
    },
    {
      "id": "afec1b86-eda6-42fd-b800-bd92663b5eb5",
      "name": "🔍 Research the Trends",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        360,
        480
      ]
    },
    {
      "id": "603c1b98-afa1-41e8-b47f-2e434449ad63",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -80
      ],
      "parameters": {
        "width": 340,
        "height": 720,
        "content": "🧠 Perplexity Research – Trends & Use Cases\n\nThis node queries the Perplexity API to retrieve verified, up-to-date insights on a specific topic — ideal for identifying real-world trends, use cases, and"
      }
    },
    {
      "id": "ab88ea12-c30d-4080-9eff-47340511d2e4",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        -80
      ],
      "parameters": {
        "width": 340,
        "height": 720,
        "content": "📨 Gmail – Select the Best Topic (Human-in-the-loop)\n\nThis node sends you an email listing the 3 main topics extracted from the previous Perplexity node. You act as the human-in-the-loop, choosing whic"
      }
    },
    {
      "id": "d4705dde-36a4-475e-8440-f3060588500d",
      "name": "Select the Best Topic",
      "type": "n8n-nodes-base.gmail",
      "position": [
        720,
        480
      ]
    },
    {
      "id": "1d8651a7-45a2-4ade-9f34-732d982488ea",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        660
      ],
      "parameters": {
        "width": 640,
        "height": 220,
        "content": "🗂️ Legend – Node Color Coding\nTo help navigate and document this workflow, notes are color-coded based on their function:\n\n🔵 Blue – General information or high-level context\n🟢 Green – Workflow trigger"
      }
    },
    {
      "id": "cc84f9f0-057a-4136-8aef-45852fecc040",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -80
      ],
      "parameters": {
        "width": 600,
        "height": 720,
        "content": "🧠 OpenAI – Content Creation Support\n\nThis is one of the core nodes of the workflow. It generates the actual LinkedIn post based on the topic you selected and the insights retrieved earlier.\n\nHere, you"
      }
    },
    {
      "id": "121a6e68-f406-41f1-aaeb-dc04c8532c2c",
      "name": "✍️ Content Creator",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1140,
        480
      ]
    },
    {
      "id": "b33c7433-6ca5-447a-aff2-98989b9ec3ba",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        660
      ],
      "parameters": {
        "width": 420,
        "height": 520,
        "content": "## 🚀 Automate LinkedIn Content Creation with Perplexity, OpenAI & Gmail\n\nWhat This Workflow Does:\n- Generates original, research-based LinkedIn posts\n- Combines AI insights with personal storytelling\n"
      }
    },
    {
      "id": "51314562-a031-4cfb-9f16-25e74fcebe50",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        660
      ],
      "parameters": {
        "width": 520,
        "height": 520,
        "content": "## 📋 WORKFLOW PROCESS OVERVIEW\n\nStep 1: 🔍 Perplexity finds 3 recent, verifiable AI-related topics  \n\nStep 2: 📧 Email sent – you choose your favorite topic  \n\nStep 3: ✍️ OpenAI generates a LinkedIn pos"
      }
    },
    {
      "id": "810d39b7-8c7a-4671-a6c5-d80f8307ac52",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1580,
        -80
      ],
      "parameters": {
        "width": 300,
        "height": 720,
        "content": "📝 Edit Fields – Content Aggregator & Finalizer\nThis node collects and consolidates the final version of the content before it's published or sent.\n\nWhile it may look simple, it's strategically importa"
      }
    },
    {
      "id": "64298786-6b84-49cb-aef8-7994b09a6b4a",
      "name": "Content Aggregator",
      "type": "n8n-nodes-base.set",
      "position": [
        1680,
        480
      ]
    },
    {
      "id": "0657ddd6-1923-479a-85cd-1b028e569569",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1900,
        -80
      ],
      "parameters": {
        "width": 420,
        "height": 720,
        "content": "✅ Gmail – Content Review & Approval\nThis node sends the drafted LinkedIn post to your personal email, allowing a final manual review and approval step.\n\nIn the email, you'll find the full content gene"
      }
    },
    {
      "id": "b472a93d-49a4-4822-96ad-8cf7efdf4ad3",
      "name": "Content Review & Approval",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2060,
        480
      ]
    },
    {
      "id": "2fbc7b1d-12d3-44ce-981d-de1857b19537",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2340,
        -80
      ],
      "parameters": {
        "width": 300,
        "height": 720,
        "content": "🔀 IF – Content Approval Routing\nThis node acts as a decision point based on your reply to the Gmail approval email.\n\nIf the response is \"Yes\", the workflow proceeds to generate a custom image with Ope"
      }
    },
    {
      "id": "1cab82ee-7946-414d-867d-e7a859478465",
      "name": "IF – Content Approval Routing",
      "type": "n8n-nodes-base.if",
      "position": [
        2440,
        480
      ]
    },
    {
      "id": "16289995-beac-4d68-9a6f-c8dfc9cdc00d",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1580,
        660
      ],
      "parameters": {
        "width": 1060,
        "height": 520,
        "content": "🧐 OpenAI – Content Reviewer\nThis node helps you refine the LinkedIn post based on feedback, ensuring the final version is more aligned with your tone, goals, and personal voice.\n\nIt compares:\n\nThe ori"
      }
    },
    {
      "id": "1dc611c7-d02e-4666-90e8-4f0b20e2da7d",
      "name": "✍️ Content Reviewer",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2320,
        840
      ]
    },
    {
      "id": "790ac9e4-571e-4fea-9e94-5c8d927390ed",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2660,
        -80
      ],
      "parameters": {
        "width": 300,
        "height": 720,
        "content": "🖼️ OpenAI – Image Prompt Generator\nThis node helps generate a custom image prompt based on the content of your LinkedIn post, using OpenAI’s image engine (DALL·E).\n\nThe image is meant to visually supp"
      }
    },
    {
      "id": "5926b3ea-a517-4c36-a2e1-2ca23d3718a3",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2980,
        -80
      ],
      "parameters": {
        "width": 220,
        "height": 720,
        "content": "🧹 Code – Clean Image Prompt for API\nThis simple Code node cleans up the image prompt generated in the previous step to make it safe and compact for API calls (like OpenAI’s image generation).\n\n⚙️ What"
      }
    },
    {
      "id": "827b880a-9328-4f95-9cd1-a232b8345c65",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3220,
        -80
      ],
      "parameters": {
        "width": 300,
        "height": 720,
        "content": "🧠 OpenAI – Generate Image (DALL·E 3)\nThis node takes the cleaned image prompt and uses OpenAI’s image generation model (DALL·E 3) to create a visual asset ready to be published with the LinkedIn post."
      }
    },
    {
      "id": "4f962698-3e27-4898-8663-515fad69a138",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3540,
        -80
      ],
      "parameters": {
        "width": 340,
        "height": 720,
        "content": "📬 Gmail – Final Delivery of Your LinkedIn Post\nThis node sends a summary email that contains your finalized LinkedIn post and the generated image. It’s the last step of the workflow — delivering every"
      }
    },
    {
      "id": "e7a228d5-e079-42c1-8024-9b41da4e36d5",
      "name": "Final Content Delivery",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3660,
        480
      ]
    }
  ],
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Generate an image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Click to start": {
      "main": [
        [
          {
            "node": "🔍 Research the Trends",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate an image": {
      "main": [
        [
          {
            "node": "Final Content Delivery",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Content Aggregator": {
      "main": [
        [
          {
            "node": "Content Review & Approval",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select the Best Topic": {
      "main": [
        [
          {
            "node": "✍️ Content Creator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Final Content Delivery": {
      "main": [
        []
      ]
    },
    "✍️ Content Creator": {
      "main": [
        [
          {
            "node": "Content Aggregator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "✍️ Content Reviewer": {
      "main": [
        [
          {
            "node": "Content Aggregator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🔍 Research the Trends": {
      "main": [
        [
          {
            "node": "Select the Best Topic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Content Review & Approval": {
      "main": [
        [
          {
            "node": "IF – Content Approval Routing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "🖼️ Image Prompt Generator": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF – Content Approval Routing": {
      "main": [
        [
          {
            "node": "🖼️ Image Prompt Generator",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "✍️ Content Reviewer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}