{
  "name": "Scrape Shopify store leads with ScraperCity and send contacts to Slack",
  "nodes": [
    {
      "id": "d62ab14b-207f-4fc0-bbbe-7ee3934169c1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        352
      ],
      "parameters": {
        "width": 480,
        "height": 896,
        "content": "## Scrape Shopify store leads and deliver new contacts to Slack via ScraperCity\n\n### How it works\n\n1. The workflow is triggered manually and search parameters (platform, country, lead count, email inc"
      }
    },
    {
      "id": "9702c96f-72f4-4487-aaea-c351562b1c46",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        368
      ],
      "parameters": {
        "width": 448,
        "height": 320,
        "content": "## Trigger and search setup\n\nManual trigger that kicks off the workflow and a configuration node that sets the scrape parameters (platform, country, lead count, email flag)."
      }
    },
    {
      "id": "2273329b-8c6f-40d4-bc37-31d2a13d7c1c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        352
      ],
      "parameters": {
        "width": 448,
        "height": 336,
        "content": "## Scrape job submission\n\nSends the scrape request to the ScraperCity API and stores the returned run ID along with the target Slack channel for use throughout the rest of the workflow."
      }
    },
    {
      "id": "3348f282-9d28-4b37-9fde-c0141263c4e5",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        400
      ],
      "parameters": {
        "width": 944,
        "height": 304,
        "content": "## Scrape status polling loop\n\nRepeatedly waits 60 seconds, checks the job status via the ScraperCity API, and loops back if the scrape is not yet complete, advancing only when the job finishes."
      }
    },
    {
      "id": "6d324085-e134-4fbf-a5a3-2cc4940eaea1",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2000,
        368
      ],
      "parameters": {
        "width": 448,
        "height": 320,
        "content": "## Lead download and parsing\n\nDownloads the completed CSV result file from ScraperCity and parses it into structured lead objects ready for deduplication."
      }
    },
    {
      "id": "cd6bbefe-a0c9-471d-b864-a66e1a89856f",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2496,
        368
      ],
      "parameters": {
        "width": 448,
        "height": 320,
        "content": "## Dedup and Slack delivery\n\nRemoves any duplicate leads from the parsed results and posts each unique lead as a message to the configured Slack channel."
      }
    },
    {
      "id": "44a19673-3bdc-40ae-962b-79c69be8db87",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        48,
        528
      ]
    },
    {
      "id": "1aae2c10-5b2d-480f-89b4-18bcb9a733b9",
      "name": "Configure Search Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        304,
        528
      ]
    },
    {
      "id": "0a6af119-235a-4ac4-9746-ddf59b426292",
      "name": "Start Shopify Lead Scrape",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        544,
        528
      ]
    },
    {
      "id": "41a39753-bc8f-4a54-8e86-8b3128fd6ade",
      "name": "Store Run ID",
      "type": "n8n-nodes-base.set",
      "position": [
        800,
        528
      ]
    },
    {
      "id": "cedbce6f-355c-421f-8f40-07ba99025a61",
      "name": "Poll Loop Controller",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1040,
        528
      ]
    },
    {
      "id": "1ec6bcb6-08ba-4f3b-b43c-e7de8930cc8c",
      "name": "Wait 60 Seconds",
      "type": "n8n-nodes-base.wait",
      "position": [
        1296,
        528
      ]
    },
    {
      "id": "ce6bc0b6-e192-46f3-bb99-5a22a654f796",
      "name": "Check Scrape Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1552,
        528
      ]
    },
    {
      "id": "7980ab02-30b6-41a9-a756-ac3a36075825",
      "name": "Is Scrape Complete?",
      "type": "n8n-nodes-base.if",
      "position": [
        1792,
        528
      ]
    },
    {
      "id": "11126753-ee8d-41d3-8bba-569bbe9bfb16",
      "name": "Download Lead Results",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2048,
        528
      ]
    },
    {
      "id": "27602325-1879-4bba-8a7f-540aea611d83",
      "name": "Parse CSV and Format Leads",
      "type": "n8n-nodes-base.code",
      "position": [
        2304,
        528
      ]
    },
    {
      "id": "f88ddcc3-4e5b-4d33-befc-c465768c45f4",
      "name": "Remove Duplicate Leads",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        2544,
        528
      ]
    },
    {
      "id": "80550a8f-2aa5-454e-bc4f-b4514afddafb",
      "name": "Post Lead to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        2800,
        528
      ]
    }
  ],
  "connections": {
    "Store Run ID": {
      "main": [
        [
          {
            "node": "Poll Loop Controller",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 60 Seconds": {
      "main": [
        [
          {
            "node": "Check Scrape Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Scrape Status": {
      "main": [
        [
          {
            "node": "Is Scrape Complete?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Scrape Complete?": {
      "main": [
        [
          {
            "node": "Download Lead Results",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Poll Loop Controller",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Poll Loop Controller": {
      "main": [
        [
          {
            "node": "Wait 60 Seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Lead Results": {
      "main": [
        [
          {
            "node": "Parse CSV and Format Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Duplicate Leads": {
      "main": [
        [
          {
            "node": "Post Lead to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Shopify Lead Scrape": {
      "main": [
        [
          {
            "node": "Store Run ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse CSV and Format Leads": {
      "main": [
        [
          {
            "node": "Remove Duplicate Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configure Search Parameters": {
      "main": [
        [
          {
            "node": "Start Shopify Lead Scrape",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Configure Search Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}