AutomationFlowsSlack & Telegram › Generate and Publish SEO Blog Posts From Google Sheets to Webflow with Openai

Generate and Publish SEO Blog Posts From Google Sheets to Webflow with Openai

BySpaGreen Creative @spagreen on n8n.io

This n8n workflow is designed for SEO managers, content creators, and blog administrators who want to automate their blog publishing pipeline. The workflow creates an end-to-end AI-powered system that can fetch content ideas from a Google Sheet, scrape existing competitor URLs,…

Cron / scheduled trigger★★★★★ complexityAI-powered43 nodesOutput Parser AutofixingOpenAI ChatWebflow ToolOutput Parser StructuredAgentOpenAIWebflowGoogle Sheets
Slack & Telegram Trigger: Cron / scheduled Nodes: 43 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #15280 — we link there as the canonical source.

This workflow follows the Agent → Discord 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
{
  "id": "X7q1ky48xY4qV7jV",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Automated SEO Blog Writer & Webflow Publisher",
  "tags": [],
  "nodes": [
    {
      "id": "9967bf20-0cfc-44b2-9356-5b4ad136bb20",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1600,
        1152
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "d4281d08-28b7-48a0-9aa2-c2f056638b8a",
      "name": "Auto-fixing Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
      "position": [
        -128,
        1424
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4a84d8db-2224-4b8b-982a-8f07b2344b64",
      "name": "Execute Workflow",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        384,
        1216
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "780d1870-1561-4fff-856c-14d888b6ed32",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        1120
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "28600a49-4d59-4a22-a871-fe39190dd5e7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        1152
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "11abf3d9-c460-4e47-821b-003b9bb60cdd",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        1168
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "408f533f-252d-4479-98b9-156200a62f8a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        1184
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5787b15b-7dac-422f-b9bc-ed25564fa9a8",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        1168
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "30bd2ef9-779b-4284-b2c9-8cbb72a533d5",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -560,
        1456
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "3d36ae31-39ff-45b2-bbf2-dd703eebdab3",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1184,
        1232
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "b3761ea2-74bd-4029-a5f1-629cc8a2a4d8",
      "name": "Get Articles1",
      "type": "n8n-nodes-base.webflowTool",
      "position": [
        -464,
        1408
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "b1a923b1-52e1-435e-86a6-6e39726d9b0d",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -48,
        1552
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "20be6539-c47f-452f-b7a1-d0bc239214f5",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        80,
        1520
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "9bdf6ac8-d595-45fd-a648-4054b5f6e650",
      "name": "Fetch/Load Webflow Posts",
      "type": "n8n-nodes-base.webflowTool",
      "position": [
        -224,
        1472
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "a31ba16e-cfe0-4c81-a5f4-3f5b192c896a",
      "name": "If (Check Article Is Available)",
      "type": "n8n-nodes-base.if",
      "position": [
        112,
        1232
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "e59e82c2-4778-4d74-b725-f144cfe0b208",
      "name": "AI Content writer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueErrorOutput",
      "position": [
        -192,
        1248
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 1.9,
      "alwaysOutputData": false
    },
    {
      "id": "9a7f0c8a-f9fb-491b-af65-fa9e3ddaeff9",
      "name": "If (Check SEO Percent)",
      "type": "n8n-nodes-base.if",
      "position": [
        560,
        1216
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "194b3d98-dbd9-43bf-8cf5-ea6e5a7a4b75",
      "name": "OpenAI model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        992,
        1312
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a43597dc-f57c-410b-8446-cd8ea9be771a",
      "name": "AI Prompt Generator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        784,
        1200
      ],
      "parameters": {},
      "typeVersion": 1.9
    },
    {
      "id": "a03a8e3c-283c-4e82-9d3f-ac701d7006d9",
      "name": "Generate an image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1088,
        1200
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "571c5a8c-3bb7-4989-898e-31f7e982b574",
      "name": "Webflow Create Item",
      "type": "n8n-nodes-base.webflow",
      "position": [
        1440,
        1200
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "cefbee5e-8410-4aa6-abd5-d2def47c3f9e",
      "name": "Update on Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1616,
        1200
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "aa3823cb-c77f-4360-a599-15be59802357",
      "name": "Wait 20s",
      "type": "n8n-nodes-base.wait",
      "position": [
        1248,
        1200
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "cf1297e5-1292-4aa1-bf57-3ebde746b935",
      "name": "Rapiwa (Send error on WhatsApp)",
      "type": "n8n-nodes-rapiwa.rapiwa",
      "position": [
        816,
        1664
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 1
    },
    {
      "id": "1751d862-5987-41cf-aa95-cd47f5cf2074",
      "name": "Slack (Send error)",
      "type": "n8n-nodes-base.slack",
      "position": [
        576,
        1520
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.3
    },
    {
      "id": "bc52134c-76e8-4c46-93ed-e775aa57eca8",
      "name": "Discord (Send error)",
      "type": "n8n-nodes-base.discord",
      "position": [
        976,
        1584
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2
    },
    {
      "id": "f37560cd-319b-4b6d-997e-346b01fcef78",
      "name": "Teams (Send error)",
      "type": "n8n-nodes-base.microsoftTeams",
      "position": [
        816,
        1520
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2
    },
    {
      "id": "efc59ef8-6a80-4121-a8da-56afda65ad5f",
      "name": "Telegram (Send error)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        576,
        1664
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 1.2
    },
    {
      "id": "dd7214ce-1232-4d5f-b5e9-87f5698a8c49",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        1456
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0d159bba-bf8c-4ae1-96b0-abf4c0fa6ba6",
      "name": "No Operation",
      "type": "n8n-nodes-base.noOp",
      "position": [
        336,
        1584
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "08f5baee-8812-444f-a811-ea2d69fe4655",
      "name": "Rapiwa (Send error on WhatsApp)1",
      "type": "n8n-nodes-rapiwa.rapiwa",
      "position": [
        1648,
        1664
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 1
    },
    {
      "id": "f0117835-796f-4cc2-a5c0-f9c0c0eeea48",
      "name": "Slack (Send error)1",
      "type": "n8n-nodes-base.slack",
      "position": [
        1408,
        1520
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.3
    },
    {
      "id": "121449d2-2e5f-433a-85c3-8bd3649e53f6",
      "name": "Discord (Send error)1",
      "type": "n8n-nodes-base.discord",
      "position": [
        1408,
        1664
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2
    },
    {
      "id": "8514fe0d-ad6d-4d1a-a506-8efe059b3590",
      "name": "Teams (Send error)1",
      "type": "n8n-nodes-base.microsoftTeams",
      "position": [
        1648,
        1520
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2
    },
    {
      "id": "951991ac-3ee4-495c-95a3-7dc3bcbd049b",
      "name": "Telegram (Send error)1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1248,
        1584
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 1.2
    },
    {
      "id": "86d89a3d-694b-49dc-b9ed-9ee77798aa43",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        1456
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6ce3653e-e506-4e8f-a3b4-916e383f36ff",
      "name": "Manual/Clicking Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1600,
        1312
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "94b0a54b-9561-41bb-9414-939fadaafabd",
      "name": "Get data form Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1376,
        1232
      ],
      "parameters": {},
      "typeVersion": 4.5,
      "alwaysOutputData": false
    },
    {
      "id": "2fb45395-03a4-4ff7-aa55-cdce1df6e47b",
      "name": "HTTP (Fetch Data from URL)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -976,
        1248
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "c03e7332-d4ad-468a-92cd-8b55a4efae62",
      "name": "Code (Clean HTML Content)",
      "type": "n8n-nodes-base.code",
      "position": [
        -800,
        1248
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "2add4973-1777-4912-87f4-d78ff6f61145",
      "name": "AI SEO Content Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueRegularOutput",
      "position": [
        -560,
        1248
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 1.9,
      "alwaysOutputData": false
    },
    {
      "id": "15f81752-9120-4111-a09e-47cbc4867231",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1648,
        1088
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4294bf1d-4ce7-4209-aecb-3b6444989818",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2160,
        1088
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "771462ad-838e-497c-b4ed-d4bae366c7bb",
  "connections": {
    "OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "AI Content writer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Wait 20s": {
      "main": [
        [
          {
            "node": "Webflow Create Item",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation": {
      "main": [
        [
          {
            "node": "Slack (Send error)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Rapiwa (Send error on WhatsApp)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Discord (Send error)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Teams (Send error)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Telegram (Send error)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Prompt Generator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get Articles1": {
      "ai_tool": [
        [
          {
            "node": "AI SEO Content Analyzer",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "HTTP (Fetch Data from URL)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute Workflow": {
      "main": [
        [
          {
            "node": "If (Check SEO Percent)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get data form Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Content writer": {
      "main": [
        [
          {
            "node": "If (Check Article Is Available)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate an image": {
      "main": [
        [
          {
            "node": "Wait 20s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI SEO Content Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "AI Prompt Generator": {
      "main": [
        [
          {
            "node": "Generate an image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webflow Create Item": {
      "main": [
        [
          {
            "node": "Update on Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If (Check SEO Percent)": {
      "main": [
        [
          {
            "node": "AI Prompt Generator",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Content writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI SEO Content Analyzer": {
      "main": [
        [
          {
            "node": "AI Content writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Manual/Clicking Trigger": {
      "main": [
        [
          {
            "node": "Get data form Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update on Google Sheets": {
      "main": [
        [
          {
            "node": "Telegram (Send error)1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Teams (Send error)1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Discord (Send error)1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Rapiwa (Send error on WhatsApp)1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Slack (Send error)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch/Load Webflow Posts": {
      "ai_tool": [
        [
          {
            "node": "AI Content writer",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Auto-fixing Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Content writer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Code (Clean HTML Content)": {
      "main": [
        [
          {
            "node": "AI SEO Content Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get data form Google Sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP (Fetch Data from URL)": {
      "main": [
        [
          {
            "node": "Code (Clean HTML Content)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If (Check Article Is Available)": {
      "main": [
        [
          {
            "node": "Execute Workflow",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

This n8n workflow is designed for SEO managers, content creators, and blog administrators who want to automate their blog publishing pipeline. The workflow creates an end-to-end AI-powered system that can fetch content ideas from a Google Sheet, scrape existing competitor URLs,…

Source: https://n8n.io/workflows/15280/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

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

Slack & Telegram

Get notified when the International Space Station passes over your location - but only when you can actually see it! This workflow combines real-time ISS tracking with weather condition checks to send

HTTP Request, OpenAI Chat, Chain Llm +5
Slack & Telegram

This advanced n8n workflow is designed for SEO specialists, digital agency owners, webmasters, and marketing managers who need a comprehensive, automated solution to track and improve their website's

Google Sheets Tool, Telegram Trigger, Telegram +9
Slack & Telegram

This n8n workflow, BlogBlitz, automates the creation and publishing of SEO-optimized blog posts for WordPress, saving you hours of content creation time. Triggered via Telegram or a scheduled interval

Chain Llm, Output Parser Structured, WordPress +7
Slack & Telegram

This comprehensive N8N automation template revolutionizes content creation by delivering a complete end-to-end solution for AI-powered blog generation. Transform simple ideas into fully SEO-optimized,

Slack Trigger, Telegram Trigger, Gmail Trigger +16
Slack & Telegram

This template is perfect for: AI art enthusiasts who want to stay updated on trending AI-generated artwork Content curators looking to automate art discovery Japanese-speaking users who want translate

@Apify/N8N Nodes Apify, Google Sheets, OpenAI Chat +6