{
  "name": "AI guest post generator with OpenAI & Google Sheets automation",
  "nodes": [
    {
      "id": "68a9526a-163e-438f-a957-7e828315fce9",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        752,
        -224
      ]
    },
    {
      "id": "984ca7ac-7bf6-4c75-a3a0-5d72cea27bd6",
      "name": "Start Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -352,
        -336
      ]
    },
    {
      "id": "45d96bcb-8343-46e4-bf31-71cf00d7bcff",
      "name": "Read Config Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -128,
        -336
      ]
    },
    {
      "id": "5586500f-e6b1-4080-8b3c-acd768666222",
      "name": "Check if Status is Start",
      "type": "n8n-nodes-base.if",
      "position": [
        96,
        -336
      ]
    },
    {
      "id": "d3acad1d-b721-4745-9f85-fd83fd9270d5",
      "name": "Read Guest Post Input",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        320,
        -624
      ]
    },
    {
      "id": "89411d00-5a17-443a-82c8-2667a6782819",
      "name": "Read Writting Rules",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        320,
        -432
      ]
    },
    {
      "id": "715c3f06-7238-49a6-ac33-a62d2f919b14",
      "name": "Read Portfolio Requirements",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        320,
        -240
      ]
    },
    {
      "id": "d5a4244e-a8ec-4062-96a9-29aa4eb4f0b6",
      "name": "Merge All Inputs",
      "type": "n8n-nodes-base.merge",
      "position": [
        544,
        -448
      ]
    },
    {
      "id": "35ceb1ee-2b8f-42f4-9b41-c4d31165e7a5",
      "name": "Generate post with AI (German)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        752,
        -448
      ]
    },
    {
      "id": "91f40b8c-6121-4525-8bd9-ec91b4d3473c",
      "name": "Save Generated Content to Outreach",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1104,
        -448
      ]
    },
    {
      "id": "8490dcef-5467-4c1b-9310-8eaaadb7c542",
      "name": "Mark Config Row as Finished",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1312,
        -448
      ]
    },
    {
      "id": "369f25ff-116b-4743-b15d-0fb1815fbede",
      "name": "Notify When No Action is Taken",
      "type": "n8n-nodes-base.gmail",
      "position": [
        96,
        -48
      ]
    },
    {
      "id": "99372085-e6d6-4dec-bbae-7e34ef589845",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        -864
      ],
      "parameters": {
        "width": 288,
        "height": 352,
        "content": "## 🧠 Overview\nThis workflow automates the generation of guest post content using OpenAI, based on inputs from a Google Sheet. It is designed to streamline outreach content production.\n\n- Input: Google"
      }
    },
    {
      "id": "185e18a8-f9bc-4f50-ac83-8ee77934db16",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -512
      ],
      "parameters": {
        "width": 384,
        "height": 144,
        "content": "## 1. Manual Trigger & Config\nThis part of the workflow starts manually and reads the configuration sheet containing all scheduled content rows.\n\nOnly rows with STATUS = \"Start\" are processed.\n"
      }
    },
    {
      "id": "d61118df-18be-467f-a3f6-2edceb330584",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        -688
      ],
      "parameters": {
        "width": 352,
        "height": 192,
        "content": "## 2. Merge Guest Post Data\nThis node merges:\n- Guest post topic input\n- Writing rules\n- Portfolio requirements\n...into a single object to be passed to the OpenAI Agent.\n"
      }
    },
    {
      "id": "567f30b3-9a2f-451a-bfaa-4336bf369880",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -64
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## 3. Generate Content with AI\nThe AI Agent uses the merged input to generate a guest post in German.\n\nModel: OpenAI GPT-4 (configurable)\nMemory: Optional\n"
      }
    },
    {
      "id": "8545fc83-4906-495d-8265-fc245583ad0a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1104,
        -576
      ],
      "parameters": {
        "width": 384,
        "height": 112,
        "content": "## 4. Save Results\n- Append generated content to the Outreach Sheet\n- Mark the original row in Config sheet as \"Finished\"\n"
      }
    },
    {
      "id": "7c3a0856-b060-48f6-ad39-377d04f5c95b",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -96
      ],
      "parameters": {
        "width": 272,
        "height": null,
        "content": "## Optional: Email Notification\nIf the status is not \"Start\", the workflow sends a Gmail notification to let you know that no action was taken.\n"
      }
    }
  ],
  "connections": {
    "Merge All Inputs": {
      "main": [
        [
          {
            "node": "Generate post with AI (German)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate post with AI (German)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Read Config Sheet": {
      "main": [
        [
          {
            "node": "Check if Status is Start",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Writting Rules": {
      "main": [
        [
          {
            "node": "Merge All Inputs",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Start Manual Trigger": {
      "main": [
        [
          {
            "node": "Read Config Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Guest Post Input": {
      "main": [
        [
          {
            "node": "Merge All Inputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Status is Start": {
      "main": [
        [
          {
            "node": "Read Guest Post Input",
            "type": "main",
            "index": 0
          },
          {
            "node": "Read Writting Rules",
            "type": "main",
            "index": 0
          },
          {
            "node": "Read Portfolio Requirements",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notify When No Action is Taken",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Portfolio Requirements": {
      "main": [
        [
          {
            "node": "Merge All Inputs",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Generate post with AI (German)": {
      "main": [
        [
          {
            "node": "Save Generated Content to Outreach",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify When No Action is Taken": {
      "main": [
        [
          {
            "node": "Read Config Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Generated Content to Outreach": {
      "main": [
        [
          {
            "node": "Mark Config Row as Finished",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}