{
  "name": "Optimize Webflow CMS SEO metadata using MCP and GPT‑4o-mini",
  "nodes": [
    {
      "id": "0156dff3-35ce-4866-9fdd-8079f2fd201e",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        992,
        2688
      ]
    },
    {
      "id": "65a97353-0687-4d5e-af71-1c898e55ef10",
      "name": "Track Metrics",
      "type": "n8n-nodes-base.code",
      "position": [
        3184,
        2688
      ]
    },
    {
      "id": "8b9af1aa-af12-4f39-b64f-b0788ed5e5f0",
      "name": "Set Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1216,
        2688
      ]
    },
    {
      "id": "26576080-76ea-438d-ba42-468df5b6b50d",
      "name": "Fetch CMS Items",
      "type": "@n8n/n8n-nodes-langchain.mcpClient",
      "position": [
        1440,
        2688
      ]
    },
    {
      "id": "67810024-e919-4b42-8721-da432621c4e0",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1664,
        2688
      ]
    },
    {
      "id": "d95e34ae-bf07-487e-b3ac-18d08f8034aa",
      "name": "SEO Analysis Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1952,
        2688
      ]
    },
    {
      "id": "f0419ea1-4483-4e13-9e4c-3220c135e5ec",
      "name": "Format for Update",
      "type": "n8n-nodes-base.code",
      "position": [
        2512,
        2688
      ]
    },
    {
      "id": "fe9d2b7d-a242-4b40-81fa-a175dc57d02e",
      "name": "Update Items",
      "type": "@n8n/n8n-nodes-langchain.mcpClient",
      "position": [
        2736,
        2688
      ]
    },
    {
      "id": "d0912e99-4dfc-423f-b086-f54462c67ffe",
      "name": "Publish Items",
      "type": "@n8n/n8n-nodes-langchain.mcpClient",
      "position": [
        2960,
        2688
      ]
    },
    {
      "id": "0b465118-b2e6-4447-bf1b-37960c70cb6f",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2144,
        2912
      ]
    },
    {
      "id": "169f8777-4974-4964-9c4f-6d718b3c4eb0",
      "name": "Parser Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        2224,
        3120
      ]
    },
    {
      "id": "e197a0aa-75c6-4228-8879-8e88c3a4df78",
      "name": "Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1888,
        2912
      ]
    },
    {
      "id": "91504172-c37d-42bf-a6cd-004b273f18c0",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        2016,
        2912
      ]
    },
    {
      "id": "820b8fd3-9dad-45e2-b198-4ebd05e2a59a",
      "name": "Save Summary",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3408,
        2688
      ]
    },
    {
      "id": "01aa9a8a-83c8-4fe0-a863-ead528c8b2a4",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        2304
      ],
      "parameters": {
        "width": 512,
        "height": 1744,
        "content": "# 🚀 Webflow CMS SEO Bulk Optimizer\nThis workflow optimizes SEO metadata for Webflow CMS collections using AI.\n\n**What it does:**\n- Fetches CMS items from your Webflow collection\n- Analyzes titles and "
      }
    },
    {
      "id": "34c6c61a-b2a8-49d6-9353-dfda7fc12ebf",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        2256
      ],
      "parameters": {
        "width": 224,
        "height": 560,
        "content": "#### Start Here: Configure Your Collection\nUpdate these values for your Webflow collection:\n- **collectionId**: Get from Webflow CMS URL (required)\n- **batchSize**: 5-20 items per batch (5 = slower/sa"
      }
    },
    {
      "id": "6b984edd-da56-4374-95f9-43e968ecd278",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        2288
      ],
      "parameters": {
        "width": 480,
        "height": 528,
        "content": "#### AI Agent: Customize for Your Fields\n\n**Current setup optimizes:**\n- `name` → 50-60 character titles\n- `project-summary` → 120-155 character descriptions\n\n**If your collection uses different field"
      }
    },
    {
      "id": "dbee186d-7a77-4d2d-8194-0f50a1fb77fb",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2464,
        2384
      ],
      "parameters": {
        "width": 224,
        "height": 464,
        "content": "#### Update Collection ID\n\n**Line 23 in this code node MUST match your collection ID.**\n\n**Also update if using different field names:**\n- Line 9: `fieldData.name` → your title field\n- Line 10: `field"
      }
    },
    {
      "id": "c38935a9-e019-4bfd-9fee-2b9965134cbe",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3360,
        2864
      ],
      "parameters": {
        "width": 208,
        "height": null,
        "content": "#### Summary\n\nAll optimizations are logged to Google Sheets. This is optional, remove this node if you don't need it."
      }
    },
    {
      "id": "610d1216-388f-4fc2-8999-4ecbecd8c28e",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        2256
      ],
      "parameters": {
        "width": 224,
        "height": 560,
        "content": "#### Fetch CMS Items\nRetrieves up to 100 items from your Webflow collection\n\n**Settings:**\n- **Endpoint URL**: https://mcp.webflow.com/mcp\n- **Tool**: data_cms_tool \n- **Action**: list_collection_item"
      }
    },
    {
      "id": "0fbeed20-3c26-4684-9df4-233e95bc0fd2",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2704,
        2304
      ],
      "parameters": {
        "width": 224,
        "height": 528,
        "content": "#### Update Items\n\nUpdates fieldData for CMS items\n\n**settings:**\n- **Input Mode**: JSON (not parameters)\n- **Action**: update_collection_items\n- **Timeout**: 60000ms (1 minute for large batches)\n- **"
      }
    },
    {
      "id": "658eafc9-29fc-4159-8c9e-4c6307e9c094",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2944,
        2304
      ],
      "parameters": {
        "width": 224,
        "height": 528,
        "content": "####  Publish Items\n\nPublishes updated items to live Webflow site\n\n**settings:**\n- **Input Mode**: JSON (not parameters)\n- **Action**: publish_collection_items\n- **Parameter name**: itemIds (case sens"
      }
    }
  ],
  "connections": {
    "Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "SEO Analysis Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set Fields": {
      "main": [
        [
          {
            "node": "Fetch CMS Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parser Model": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Update Items": {
      "main": [
        [
          {
            "node": "Publish Items",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Publish Items": {
      "main": [
        [
          {
            "node": "Track Metrics",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "SEO Analysis Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Track Metrics": {
      "main": [
        [
          {
            "node": "Save Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Set Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch CMS Items": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "SEO Analysis Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format for Update": {
      "main": [
        [
          {
            "node": "Update Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SEO Analysis Agent": {
      "main": [
        [
          {
            "node": "Format for Update",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "SEO Analysis Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}