{
  "name": "Create curated industry trend reports from Medium to Google Docs with Claude via OpenRouter and BrowserAct",
  "nodes": [
    {
      "id": "9b77ff1c-97de-4e2e-8db2-8f9ce1fab2d1",
      "name": "Structured Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -480,
        448
      ]
    },
    {
      "id": "7dca1ae1-667f-497b-9e2a-e5879564b6eb",
      "name": "OpenRouter",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -624,
        448
      ]
    },
    {
      "id": "316a1bba-f2af-4910-a556-7f2665dd3316",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        640,
        240
      ]
    },
    {
      "id": "30b52f1e-4bc2-409a-b55b-7c0bd5062e0d",
      "name": "Analyzer & Script writer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -624,
        256
      ]
    },
    {
      "id": "6a521c5f-f533-4046-83fe-170b1aa73619",
      "name": "Add Spacer",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1200,
        -160
      ]
    },
    {
      "id": "c61ed05e-a466-4d55-bad6-d00dd8ecfc1a",
      "name": "Add Header & Body",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1472,
        -160
      ]
    },
    {
      "id": "2d1bab1f-6ffa-43e8-bd08-7915560b295f",
      "name": "Add Body",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1472,
        32
      ]
    },
    {
      "id": "55dedd48-0617-4789-bda9-6fad19c07d81",
      "name": "Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1904,
        -320
      ],
      "parameters": {
        "width": 420,
        "height": 444,
        "content": "## ⚡ Workflow Overview & Setup\n\n**Summary:** This automation periodically scrapes Medium for industry trends, uses AI to filter spam and categorize insights, and compiles a formatted digest into a Goo"
      }
    },
    {
      "id": "d041b38a-ec5e-4d81-98ed-be477d29d355",
      "name": "Step 1 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1456,
        96
      ],
      "parameters": {
        "width": 588,
        "height": 112,
        "content": "### ⏰ Step 1: Schedule & Extract\n\nThe workflow triggers on a set schedule and targets a specific Medium tag URL. It then initiates a BrowserAct automation to scrape article data from the target page f"
      }
    },
    {
      "id": "806ed69f-6711-4dc4-b70a-a6a3c8619131",
      "name": "Step 2 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        -64
      ],
      "parameters": {
        "width": 1084,
        "height": 144,
        "content": "### 🧠 Step 2: AI Intelligence\n\nAn AI agent analyzes the raw scraped data to remove duplicates and spam. It then categorizes valid articles into specific industry segments (e.g., \"Must Reads,\" \"Enginee"
      }
    },
    {
      "id": "f7572f49-3bbb-4496-831d-efa37f5e767d",
      "name": "Step 3 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        -336
      ],
      "parameters": {
        "width": 1052,
        "height": 144,
        "content": "### 📄 Step 3: Digest Generation\n\nThe system creates a new Google Doc and iterates through the structured AI output. It dynamically appends headers and article summaries to the document, inserting spac"
      }
    },
    {
      "id": "200809bb-f8c2-46c9-98bb-6a0d417a0337",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1472,
        -320
      ],
      "parameters": {
        "width": 576,
        "height": 336,
        "content": "@[youtube](XUpmdpucNzg)"
      }
    },
    {
      "id": "05835aab-ba99-4a52-afda-bd2995b17aeb",
      "name": "Target Page Link",
      "type": "n8n-nodes-base.set",
      "position": [
        -1264,
        256
      ]
    },
    {
      "id": "8a4df843-5970-4418-93de-85d72d5c9f67",
      "name": "Every Day",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1472,
        256
      ]
    },
    {
      "id": "cfa3b7b7-a838-43cd-a90e-be1975ba6c8f",
      "name": "Scrape Headlines",
      "type": "n8n-nodes-browseract.browserAct",
      "position": [
        -1024,
        256
      ]
    },
    {
      "id": "dc6c75ed-caf4-4440-bbb1-63dac47f427e",
      "name": "Waiting for Inputs",
      "type": "n8n-nodes-base.merge",
      "position": [
        80,
        240
      ]
    },
    {
      "id": "a894a274-892f-49ab-bd33-b25c732c5f5a",
      "name": "Slack Team Notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        832,
        336
      ]
    },
    {
      "id": "e521b76b-c584-4252-b233-d680cc2cead3",
      "name": "Check for Header",
      "type": "n8n-nodes-base.if",
      "position": [
        1200,
        80
      ]
    },
    {
      "id": "c4e6a2f6-133c-441c-b2b8-0acc4855b61c",
      "name": "Rate Limit Mitigation",
      "type": "n8n-nodes-base.wait",
      "position": [
        960,
        80
      ]
    },
    {
      "id": "474c4852-d637-4fac-986f-a190d75249b6",
      "name": "Split the AI-generated data",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        304,
        240
      ]
    },
    {
      "id": "15ae5ed5-81f3-4da4-a2c1-3daedb640aa2",
      "name": "Create a Document for Outlines",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        -192,
        144
      ]
    }
  ],
  "connections": {
    "Add Body": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every Day": {
      "main": [
        [
          {
            "node": "Target Page Link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter": {
      "ai_languageModel": [
        [
          {
            "node": "Analyzer & Script writer",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Structured Output",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Slack Team Notification",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Rate Limit Mitigation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for Header": {
      "main": [
        [
          {
            "node": "Add Header & Body",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Add Body",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Headlines": {
      "main": [
        [
          {
            "node": "Analyzer & Script writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Target Page Link": {
      "main": [
        [
          {
            "node": "Scrape Headlines",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Header & Body": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output": {
      "ai_outputParser": [
        [
          {
            "node": "Analyzer & Script writer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Waiting for Inputs": {
      "main": [
        [
          {
            "node": "Split the AI-generated data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rate Limit Mitigation": {
      "main": [
        [
          {
            "node": "Check for Header",
            "type": "main",
            "index": 0
          },
          {
            "node": "Add Spacer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyzer & Script writer": {
      "main": [
        [
          {
            "node": "Create a Document for Outlines",
            "type": "main",
            "index": 0
          },
          {
            "node": "Waiting for Inputs",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Split the AI-generated data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a Document for Outlines": {
      "main": [
        [
          {
            "node": "Waiting for Inputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}