{
  "name": "Healthcare policy monitoring with ScrapeGraphAI, Pipedrive and Matrix alerts",
  "nodes": [
    {
      "id": "a7b35349-86c3-4ca9-85ae-ea3494b4e76c",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        16
      ],
      "parameters": {
        "width": 550,
        "height": 690,
        "content": "## How it works\n\nThis workflow runs on a schedule and keeps healthcare administrators informed about brand-new policy documents released by major U.S. health agencies. Every 24 hours the Schedule Trig"
      }
    },
    {
      "id": "b9298827-c145-4472-9cc0-3fcbfc5efa88",
      "name": "Section – Trigger & URL Prep",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        64
      ],
      "parameters": {
        "width": 450,
        "height": 654,
        "content": "## Trigger & URL Preparation\n\nThis cluster kick-starts the entire automation. The **Schedule Trigger** launches the workflow once a day (you can change the interval to any cron or interval rule). Imme"
      }
    },
    {
      "id": "cfa312b2-b856-44e5-9534-76f30aa78e17",
      "name": "Section – Scraping",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        64
      ],
      "parameters": {
        "width": 450,
        "height": 638,
        "content": "## Scraping Engine\n\nThe nodes beneath this sticky handle live extraction of policy content. **Split URLs** ensures each web page travels its own execution path so ScrapeGraphAI can run multiple scrape"
      }
    },
    {
      "id": "59039658-1ede-4a0f-bd49-48f4403a93c6",
      "name": "Section – Processing & Detection",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        64
      ],
      "parameters": {
        "width": 450,
        "height": 638,
        "content": "## Data Processing & Change Detection\n\nAfter ScrapeGraphAI finishes, the **Normalize Data** Code node standardizes field names, converts dates to ISO-8601, and appends a boolean `isNew` flag if the pu"
      }
    },
    {
      "id": "a7aa22cb-4544-4111-9362-897a19fafef2",
      "name": "Section – Storage & Alerts",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        64
      ],
      "parameters": {
        "width": 674,
        "height": 638,
        "content": "## Storage & Notification\n\nEverything culminates here. The **Prepare Matrix Message** Set node composes a concise alert containing the policy title, agency, publication date, and a direct link. That f"
      }
    },
    {
      "id": "da488c85-9f34-4c80-a69b-7529972f4208",
      "name": "Daily Policy Check",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        304,
        400
      ]
    },
    {
      "id": "4b40f3a1-8ca6-4a64-ab98-bad0494085cd",
      "name": "Define Policy URLs",
      "type": "n8n-nodes-base.code",
      "position": [
        512,
        400
      ]
    },
    {
      "id": "ea292602-9055-47de-8a16-d8cc6898d8e3",
      "name": "Split URLs",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        832,
        464
      ]
    },
    {
      "id": "78479135-46d8-4a67-af6c-fb8ed2f59cd9",
      "name": "Fetch Policy Data",
      "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
      "position": [
        976,
        464
      ]
    },
    {
      "id": "b625d2fc-f1f8-4f0e-9833-db032b873b33",
      "name": "Normalize Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1120,
        432
      ]
    },
    {
      "id": "c0c76204-ae95-4f29-b55e-f5dc004cdba3",
      "name": "Merge Results",
      "type": "n8n-nodes-base.merge",
      "position": [
        1312,
        400
      ]
    },
    {
      "id": "fc49ead7-465d-454c-9be0-d008f96d1af4",
      "name": "Deduplicate Policies",
      "type": "n8n-nodes-base.code",
      "position": [
        1504,
        400
      ]
    },
    {
      "id": "c1cf62a9-ad96-4c29-8afd-760d11f2cb2b",
      "name": "Is New Policy?",
      "type": "n8n-nodes-base.if",
      "position": [
        1776,
        400
      ]
    },
    {
      "id": "5221d284-0e04-4d1c-b895-b286950f020d",
      "name": "Prepare Matrix Message",
      "type": "n8n-nodes-base.set",
      "position": [
        2000,
        352
      ]
    },
    {
      "id": "2548fbc6-7ebb-4b7d-8701-e7a8b617786f",
      "name": "Send Matrix Alert",
      "type": "n8n-nodes-base.matrix",
      "position": [
        2176,
        336
      ]
    },
    {
      "id": "a5578f51-ac76-4e54-b6e4-65b3db6fe765",
      "name": "Upsert Policy Deal",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        2016,
        528
      ]
    }
  ],
  "connections": {
    "Split URLs": {
      "main": [
        [
          {
            "node": "Fetch Policy Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Results": {
      "main": [
        [
          {
            "node": "Deduplicate Policies",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is New Policy?": {
      "main": [
        [
          {
            "node": "Prepare Matrix Message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upsert Policy Deal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Normalize Data": {
      "main": [
        [
          {
            "node": "Merge Results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Fetch Policy Data": {
      "main": [
        [
          {
            "node": "Normalize Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Policy Check": {
      "main": [
        [
          {
            "node": "Define Policy URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Define Policy URLs": {
      "main": [
        [
          {
            "node": "Split URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Deduplicate Policies": {
      "main": [
        [
          {
            "node": "Is New Policy?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Matrix Message": {
      "main": [
        [
          {
            "node": "Send Matrix Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}