{
  "name": "Automated lead generation from digital footprints with Decodo & Airtable",
  "nodes": [
    {
      "id": "61cb1154-9052-4c6f-ae7d-d1a817988b5c",
      "name": "Decodo: Google Search",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        -96,
        -208
      ]
    },
    {
      "id": "8c326ac9-8c83-4471-97db-23f1d0bf3eac",
      "name": "Decodo: Scrape Contact Page",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        3152,
        0
      ]
    },
    {
      "id": "e79c81d0-9794-46a1-abfc-e4820d7343fa",
      "name": "If: Lead Exists?",
      "type": "n8n-nodes-base.if",
      "position": [
        992,
        -192
      ]
    },
    {
      "id": "993802a8-1c83-4696-8917-935e0abae41c",
      "name": "Airtable: Create Lead",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1360,
        16
      ]
    },
    {
      "id": "c1f1f2b0-3ee7-4a27-a0f8-8adaae810da3",
      "name": "Airtable: Update Lead",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1360,
        -416
      ]
    },
    {
      "id": "a2d23095-83f2-42df-bc8c-033a0e3bc14d",
      "name": "Loop: Process Leads",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        512,
        -208
      ]
    },
    {
      "id": "24e41037-2074-4e51-9b34-9ce021c48ed4",
      "name": "Decodo: Email Search",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        2208,
        16
      ]
    },
    {
      "id": "30652bbf-15ac-4324-9090-b8f3964f1177",
      "name": "Code: Initial Enrichment",
      "type": "n8n-nodes-base.code",
      "position": [
        2512,
        16
      ]
    },
    {
      "id": "99a61acf-57e8-408d-b9ec-24a52b308731",
      "name": "If: Enrichment Needed?",
      "type": "n8n-nodes-base.if",
      "position": [
        1600,
        -416
      ]
    },
    {
      "id": "9129d716-c5e3-4182-bb96-ef95ced84ed6",
      "name": "If: Contact Page Exists?",
      "type": "n8n-nodes-base.if",
      "position": [
        2752,
        16
      ]
    },
    {
      "id": "800d85e2-a896-40f7-8d96-674a9a24c47e",
      "name": "If: Contact Email Exists?",
      "type": "n8n-nodes-base.if",
      "position": [
        3760,
        0
      ]
    },
    {
      "id": "e2ec9ccd-47d3-4a90-8aeb-df8d6621a039",
      "name": "Airtable: Update Lead Contact Email",
      "type": "n8n-nodes-base.airtable",
      "position": [
        4032,
        -16
      ]
    },
    {
      "id": "b73304d7-b9b7-493b-806a-527c08684145",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -944,
        -208
      ]
    },
    {
      "id": "c42d696f-bdde-4224-a3e5-ecef78c8578c",
      "name": "Config: Set Search Params",
      "type": "n8n-nodes-base.set",
      "position": [
        -576,
        -208
      ]
    },
    {
      "id": "bcb527c8-d0df-42bc-a2a9-67c82513309c",
      "name": "Code: Initial Domain Filter",
      "type": "n8n-nodes-base.code",
      "position": [
        128,
        -208
      ]
    },
    {
      "id": "268cd586-242b-4a26-bc27-aa8dfe5dad62",
      "name": "Airtable: Check Existence",
      "type": "n8n-nodes-base.airtable",
      "position": [
        768,
        -192
      ]
    },
    {
      "id": "ae15497e-a4d7-4fc3-bb1a-14fa1d1b9d83",
      "name": "Code: Finalize Contact Data",
      "type": "n8n-nodes-base.code",
      "position": [
        3376,
        0
      ]
    },
    {
      "id": "a5df343a-678e-46b7-abaa-910d12d0d564",
      "name": "Data Merger: ID Finalizer",
      "type": "n8n-nodes-base.set",
      "position": [
        1984,
        16
      ]
    },
    {
      "id": "6bbfe143-f892-47d9-8915-db0cc92bf8f2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        -848
      ],
      "parameters": {
        "width": 592,
        "height": 848,
        "content": "# Digital Footprint Lead Generation: Decodo & Airtable\n\n## How It Works\nThe workflow executes a dedicated **Find/Create/Update** sequence for every lead:\n\n1.  **Search & Standardize:** Decodo executes"
      }
    },
    {
      "id": "ad30e671-980f-4faf-9ce1-1e15d09f858f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -768,
        -416
      ],
      "parameters": {
        "width": 480,
        "height": 416,
        "content": "## Configuration: Set Search Parameters\nThis node is the central control panel for lead generation. Change values to define your target market, technology, and search scope."
      }
    },
    {
      "id": "06083a07-924b-4a07-9955-852c27e3ecac",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3008,
        -208
      ],
      "parameters": {
        "width": 608,
        "height": 448,
        "content": "## Deep Enrichment Pipeline\n* **Decodo** conditionally scrapes the target contact page only if data is missing.\n* **The Code:** Final Email Data node then uses Regex to extract the highest-quality ema"
      }
    },
    {
      "id": "b4616783-f8ef-4ccf-a3c8-85d1d0e5983d",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1856,
        -208
      ],
      "parameters": {
        "width": 576,
        "height": 448,
        "content": "## Data Consolidation & Continuation\n**ID Finalizer** extracts the **Airtable Record ID** and merges it with original lead data. This single item then proceeds to the **Decodo Email Search** node for "
      }
    },
    {
      "id": "756977e3-abb9-4fc5-8afa-65e73f4be417",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        -416
      ],
      "parameters": {
        "width": 784,
        "height": 416,
        "content": "## Database Integrity Loop\nThe loop processes each lead and runs the Find/Create/Update logic.\n**Airtable: Check Existence** prevents duplicates. If the lead is **New**, it's **Created**; if **Existin"
      }
    },
    {
      "id": "33f1e17c-36fd-4919-82ac-02129c4deb97",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        -416
      ],
      "parameters": {
        "width": 544,
        "height": 416,
        "content": "## Data Sourcing & Lead List Generation\n* **Decodo: Google Search** executes the customized query (JS Rendering disabled for cost).\n* **Code: Initial Domain Filter** then processes the raw search resu"
      }
    },
    {
      "id": "81cc8577-b141-49f1-89e2-049a3baf8504",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        -656
      ],
      "parameters": {
        "width": 544,
        "height": 208,
        "content": "## 🎁 Exclusive 80% Discount!\n\nGet **80% OFF** the **23k Advanced Scraping API** plan at Decodo using this workflow.\n\n**Coupon Code:** `ATTAN8N`\n\n👉 [**Click here to Sign Up & Claim**](https://visit.dec"
      }
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Config: Set Search Params",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If: Lead Exists?": {
      "main": [
        [
          {
            "node": "Airtable: Update Lead",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Airtable: Create Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop: Process Leads": {
      "main": [
        [],
        [
          {
            "node": "Airtable: Check Existence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decodo: Email Search": {
      "main": [
        [
          {
            "node": "Code: Initial Enrichment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable: Create Lead": {
      "main": [
        [
          {
            "node": "Data Merger: ID Finalizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable: Update Lead": {
      "main": [
        [
          {
            "node": "If: Enrichment Needed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decodo: Google Search": {
      "main": [
        [
          {
            "node": "Code: Initial Domain Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If: Enrichment Needed?": {
      "main": [
        [
          {
            "node": "Data Merger: ID Finalizer",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop: Process Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Initial Enrichment": {
      "main": [
        [
          {
            "node": "If: Contact Page Exists?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If: Contact Page Exists?": {
      "main": [
        [
          {
            "node": "Decodo: Scrape Contact Page",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop: Process Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable: Check Existence": {
      "main": [
        [
          {
            "node": "If: Lead Exists?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config: Set Search Params": {
      "main": [
        [
          {
            "node": "Decodo: Google Search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Merger: ID Finalizer": {
      "main": [
        [
          {
            "node": "Decodo: Email Search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If: Contact Email Exists?": {
      "main": [
        [
          {
            "node": "Airtable: Update Lead Contact Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop: Process Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Finalize Contact Data": {
      "main": [
        [
          {
            "node": "If: Contact Email Exists?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Initial Domain Filter": {
      "main": [
        [
          {
            "node": "Loop: Process Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decodo: Scrape Contact Page": {
      "main": [
        [
          {
            "node": "Code: Finalize Contact Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable: Update Lead Contact Email": {
      "main": [
        [
          {
            "node": "Loop: Process Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}