{
  "$schema": "https://promptfoo.tech/schemas/workflow-template.json",
  "name": "n8n: SEO Content Brief Generator from Keyword",
  "slug": "n8n-content-brief-generator",
  "platform": "n8n",
  "category": "n8n",
  "difficulty": "Intermediate",
  "tags": [
    "n8n",
    "seo",
    "content",
    "openai"
  ],
  "summary": "Input a target keyword — get back a full SEO brief: SERP analysis, entity list, outline, meta title/desc, and internal linking suggestions.",
  "overview": "Great SEO briefs take an hour. This n8n workflow generates one in 90 seconds by combining SerpAPI results, an entity extraction pass, and a Claude-generated outline calibrated against the top 5 ranking pages. Writers get everything they need before opening a doc.",
  "variables": {
    "WEBHOOK_URL": "<your webhook URL>",
    "API_KEY": "<your provider API key>",
    "OPENAI_API_KEY": "sk-..."
  },
  "steps": [
    {
      "order": 1,
      "name": "Wire SerpAPI",
      "description": "Use n8n's HTTP node. Query params: q, num=10, gl=us, hl=en. Store the JSON."
    },
    {
      "order": 2,
      "name": "Scrape headings",
      "description": "Iterate top 5 URLs; extract h1/h2 (skip anything with 'cookie' or 'subscribe'). Respect robots.txt."
    },
    {
      "order": 3,
      "name": "Entity extraction pass",
      "description": "Small model: 'Given these 5 pages' headings, list the 20 entities and topics every ranking page mentions.'"
    },
    {
      "order": 4,
      "name": "Outline generation",
      "description": "Claude Sonnet with the target keyword, intent, entities, and PAA. Output as markdown H1-H3."
    },
    {
      "order": 5,
      "name": "Meta + suggestions",
      "description": "Separate call for meta title/desc under the character limits, plus 5 internal link opportunities from your existing sitemap."
    },
    {
      "order": 6,
      "name": "Push to Notion",
      "description": "Create a page in your Briefs DB with sections: SERP snapshot, entities, outline, meta, internal links."
    }
  ],
  "howItWorks": [
    "Webhook input: {keyword, intent, wordcount_target}.",
    "SerpAPI fetch: top 10 organic results + PAA questions + related searches.",
    "Fetch each top result's <h1> and <h2> headings via a lightweight scraper.",
    "Claude synthesizes: entities to cover, outline (H1-H3), meta title (< 60 chars) and description (< 155).",
    "Return a Notion page with the full brief."
  ],
  "benefits": [
    "60x faster than manual brief creation.",
    "Writers start with a strategic doc, not a keyword.",
    "Entity coverage improves ranking probability."
  ],
  "useCases": [
    "In-house SEO teams pushing 20+ briefs a month.",
    "Agencies scaling brief production for multiple clients.",
    "Solo bloggers who want a shortcut to competitive briefs."
  ],
  "example": "Keyword: 'model context protocol'. Brief includes entity list (MCP, Claude Desktop, JSON-RPC, tools, servers), 8-section outline, meta title 'What Is MCP? Practical Guide to Model Context Protocol', 5 internal link candidates.",
  "faqs": [
    {
      "q": "Do I have to use SerpAPI?",
      "a": "Alternatives: Serper.dev (cheaper), ValueSERP, or a headless-browser scrape. All work."
    },
    {
      "q": "Legal on scraping?",
      "a": "Respect robots.txt. Fetching a public H1 for research is generally fine; hammering pages at scale isn't."
    },
    {
      "q": "Will writers still edit the outline?",
      "a": "Yes, and they should. The brief is a starting point, not a final structure."
    }
  ],
  "source": "https://promptfoo.tech/workflows/n8n-content-brief-generator",
  "updated": "2026-06-10",
  "license": "CC-BY-4.0"
}