AutomationFlowsAI & RAG › Generate SEO Meta Tags and Content Briefs From Serp Analysis with Claude AI

Generate SEO Meta Tags and Content Briefs From Serp Analysis with Claude AI

ByAllan Vaccarizi @growthai on n8n.io

This workflow is for SEO managers, content strategists, and digital agencies who need to produce optimised meta tags, H1s, and full content briefs at scale — one per keyword — without doing manual competitor research. The workflow is triggered manually and reads client…

Event trigger★★★★☆ complexityAI-powered23 nodesGoogle SheetsAgent@Mendable/N8N Nodes FirecrawlHTTP RequestAnthropic ChatOutput Parser Structured
AI & RAG Trigger: Event Nodes: 23 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Google Sheets 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": "f7c0451f-7982-43d2-a511-162802263f66",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        944
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "952017e7-bba6-4649-8896-45d46549ae0d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        1040
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "2ead129b-c829-48e9-aafe-7be997891f71",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        992
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "80e5aafe-9a2e-47e1-b0ef-10faa8239d52",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        1008
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1bf64cdf-be8d-4589-b721-13c480d3e2b5",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2592,
        1008
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d42fde61-affa-4a76-81b4-6d03a8ec6a88",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3344,
        944
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ab667bd7-bb4b-4959-a14f-dc18a35e7557",
      "name": "Filter Valid SEO Items",
      "type": "n8n-nodes-base.filter",
      "position": [
        1072,
        1168
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "7fb9a972-d4da-4e44-a833-562ba8785968",
      "name": "Read Client Info from Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        624,
        1168
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "beb84910-3c92-46a0-a8ca-6b08fbc2d882",
      "name": "Read SEO Info from Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        848,
        1168
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "51769da5-851c-4fe7-9613-0d0098d21a9b",
      "name": "Loop Over SEO Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1312,
        1168
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "96db62fd-9d64-49db-b91e-ec8ac654da7b",
      "name": "Generate Meta Tags and H1 Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "maxTries": 5,
      "position": [
        2640,
        1168
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 1.9,
      "waitBetweenTries": 5000
    },
    {
      "id": "174746cd-9909-434b-8640-4af0c432f031",
      "name": "Generate Content Brief Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "maxTries": 5,
      "position": [
        3008,
        1168
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 1.9,
      "waitBetweenTries": 5000
    },
    {
      "id": "e4ab5a6b-2b77-4ee2-aca7-3ed31097dd9b",
      "name": "When Workflow Executed Manually",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        432,
        1168
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a6f762ee-3982-4e72-8474-1b0326f14c59",
      "name": "Scrape Page with Firecrawl",
      "type": "@mendable/n8n-nodes-firecrawl.firecrawl",
      "onError": "continueRegularOutput",
      "position": [
        2192,
        1168
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "662f53e2-7153-448b-b0b2-fb3989561e9d",
      "name": "Split Organic Results",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1808,
        1168
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7f40e56c-db7c-4d8d-841e-4297eab7a083",
      "name": "Take Top 10 Results",
      "type": "n8n-nodes-base.limit",
      "position": [
        2000,
        1168
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "96732b3c-0344-46d1-b13d-8b61a2e092a0",
      "name": "Collect Firecrawl Items",
      "type": "n8n-nodes-base.code",
      "position": [
        2400,
        1168
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "17e4ad54-abfa-49ea-bb57-965fc775efce",
      "name": "Fetch SERP Results via Apify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1568,
        1168
      ],
      "parameters": {},
      "typeVersion": 4.4,
      "alwaysOutputData": true
    },
    {
      "id": "b660bc01-52b2-4440-a566-2f4d2a7190fe",
      "name": "Claude Sonnet Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        2896,
        1360
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "dec4fa1d-04ca-4453-9be1-1ff375c25c05",
      "name": "Parse Structured JSON Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2736,
        1360
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "9fb2609e-e5c4-4d72-9eca-29dcd479ff5a",
      "name": "Update SEO Row in Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3392,
        1168
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "7bcf1502-a5be-4ba9-8185-1240967a8784",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1216,
        560
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "37ccb447-a7ae-46dc-90eb-468cb087ce28",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1216,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Claude Sonnet Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Meta Tags and H1 Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Generate Content Brief Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over SEO Items": {
      "main": [
        [],
        [
          {
            "node": "Fetch SERP Results via Apify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Take Top 10 Results": {
      "main": [
        [
          {
            "node": "Scrape Page with Firecrawl",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Organic Results": {
      "main": [
        [
          {
            "node": "Take Top 10 Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Valid SEO Items": {
      "main": [
        [
          {
            "node": "Loop Over SEO Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Collect Firecrawl Items": {
      "main": [
        [
          {
            "node": "Generate Meta Tags and H1 Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update SEO Row in Sheets": {
      "main": [
        [
          {
            "node": "Loop Over SEO Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read SEO Info from Sheets": {
      "main": [
        [
          {
            "node": "Filter Valid SEO Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Page with Firecrawl": {
      "main": [
        [
          {
            "node": "Collect Firecrawl Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch SERP Results via Apify": {
      "main": [
        [
          {
            "node": "Split Organic Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Content Brief Agent": {
      "main": [
        [
          {
            "node": "Update SEO Row in Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Structured JSON Output": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Meta Tags and H1 Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Read Client Info from Sheets": {
      "main": [
        [
          {
            "node": "Read SEO Info from Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Meta Tags and H1 Agent": {
      "main": [
        [
          {
            "node": "Generate Content Brief Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Workflow Executed Manually": {
      "main": [
        [
          {
            "node": "Read Client Info from Sheets",
            "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 workflow is for SEO managers, content strategists, and digital agencies who need to produce optimised meta tags, H1s, and full content briefs at scale — one per keyword — without doing manual competitor research. The workflow is triggered manually and reads client…

Source: https://n8n.io/workflows/8946/ — 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

SMS Outreach Engine: Service providers. Uses agent, lmChatAnthropic, httpRequest, googleSheets. Event-driven trigger; 60 nodes.

Agent, Anthropic Chat, HTTP Request +3
AI & RAG

SMS Outreach Engine: Property Managers. Uses agent, lmChatAnthropic, httpRequest, googleSheets. Event-driven trigger; 43 nodes.

Agent, Anthropic Chat, HTTP Request +3
AI & RAG

> ⚠️ Self-hosted only — This template uses a community node () and cannot run on n8n Cloud.

Airtable, HTTP Request, @Mendable/N8N Nodes Firecrawl +3
AI & RAG

⚠️ Self-hosted only — This template uses a community node (Firecrawl) and cannot run on n8n Cloud.

Airtable, @Mendable/N8N Nodes Firecrawl, Output Parser Structured +3
AI & RAG

Content creators, marketers, and video editors who want to automatically extract highlight clips from YouTube videos using natural language descriptions—no manual timestamp hunting required.

Form Trigger, HTTP Request, Agent +3