{
  "name": "Enrich people skip-trace results from n8n forms with ScraperCity into Notion",
  "nodes": [
    {
      "id": "6828091e-ea35-41ce-b08f-87ddc90a367d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2608,
        224
      ],
      "parameters": {
        "width": 480,
        "height": 896,
        "content": "## Find and enrich people records from form submissions into Notion\n\n### How it works\n\n1. A form submission triggers the workflow, capturing name, email, and phone details to search for.\n2. Default se"
      }
    },
    {
      "id": "919f26ae-0362-49b1-a517-7307c6d4402f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2048,
        240
      ],
      "parameters": {
        "width": 448,
        "height": 320,
        "content": "## Form input and setup\n\nAccepts a form submission from a user and sets default search parameters (name, email, phone, max results) before the job is dispatched."
      }
    },
    {
      "id": "ec9d722b-468d-4681-9a8e-519e663c825d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1552,
        240
      ],
      "parameters": {
        "width": 448,
        "height": 320,
        "content": "## Job submission and ID storage\n\nPOSTs the search request to the ScraperCity people-finder API and stores the returned run ID for use in the polling loop."
      }
    },
    {
      "id": "75c47616-a416-49b2-b60b-d23728e57b1f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        272
      ],
      "parameters": {
        "width": 944,
        "height": 304,
        "content": "## Polling loop and status check\n\nRepeatedly waits 60 seconds then polls the ScraperCity API for job status, looping back until the scrape is confirmed complete."
      }
    },
    {
      "id": "092afe92-f4bc-411a-8f83-7ab8f94f3a46",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        272
      ],
      "parameters": {
        "width": 688,
        "height": 304,
        "content": "## Results download and processing\n\nDownloads the enriched results file, parses and formats each person record with custom code, then removes any duplicates."
      }
    },
    {
      "id": "38e08297-9ebd-4b75-9664-5c98559fe58c",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        224
      ],
      "parameters": {
        "width": 240,
        "height": 336,
        "content": "## Notion record creation\n\nSaves each unique, enriched person record as a new page in the configured Notion database."
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000010",
      "name": "People Finder Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -2000,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000011",
      "name": "Configure Search Defaults",
      "type": "n8n-nodes-base.set",
      "position": [
        -1750,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000020",
      "name": "Submit People Finder Job",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1500,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000021",
      "name": "Store Run ID",
      "type": "n8n-nodes-base.set",
      "position": [
        -1250,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000030",
      "name": "Loop Controller",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1000,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000031",
      "name": "Wait 60 Seconds Before Poll",
      "type": "n8n-nodes-base.wait",
      "position": [
        -750,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000032",
      "name": "Check Scrape Job Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -500,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000033",
      "name": "Is Scrape Complete?",
      "type": "n8n-nodes-base.if",
      "position": [
        -250,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000040",
      "name": "Download Enriched Results",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000041",
      "name": "Parse and Format Records",
      "type": "n8n-nodes-base.code",
      "position": [
        250,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000042",
      "name": "Remove Duplicate People",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        500,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000043",
      "name": "Save Person Record to Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        750,
        400
      ]
    }
  ],
  "connections": {
    "Store Run ID": {
      "main": [
        [
          {
            "node": "Loop Controller",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Controller": {
      "main": [
        [
          {
            "node": "Wait 60 Seconds Before Poll",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "People Finder Form": {
      "main": [
        [
          {
            "node": "Configure Search Defaults",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Scrape Complete?": {
      "main": [
        [
          {
            "node": "Download Enriched Results",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Controller",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Scrape Job Status": {
      "main": [
        [
          {
            "node": "Is Scrape Complete?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Duplicate People": {
      "main": [
        [
          {
            "node": "Save Person Record to Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse and Format Records": {
      "main": [
        [
          {
            "node": "Remove Duplicate People",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit People Finder Job": {
      "main": [
        [
          {
            "node": "Store Run ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configure Search Defaults": {
      "main": [
        [
          {
            "node": "Submit People Finder Job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Enriched Results": {
      "main": [
        [
          {
            "node": "Parse and Format Records",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 60 Seconds Before Poll": {
      "main": [
        [
          {
            "node": "Check Scrape Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}