AutomationFlowsData & Sheets › Scrape Leads and Save to Airtable

Scrape Leads and Save to Airtable

Original n8n title: Lead Generation System (template)

Lead Generation System (Template). Uses manualTrigger, stickyNote, httpRequest, airtable. Event-driven trigger; 7 nodes.

Event trigger★★★★☆ complexity7 nodesHTTP RequestAirtable
Data & Sheets Trigger: Event Nodes: 7 Complexity: ★★★★☆ Added:

This workflow follows the Airtable → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "EWIrJ8e9z7AijmTu",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Lead Generation System (Template)",
  "tags": [],
  "nodes": [
    {
      "id": "03eabaeb-ad13-4764-98de-183325e32cbd",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        160,
        -80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e7df072c-fba8-4dc2-94ce-ae20a135a633",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        840,
        -80
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ab7e33d5-986e-4fba-b4d0-bc47bcd1cf82",
              "name": "first_name",
              "type": "string",
              "value": "={{ $json.first_name }}"
            },
            {
              "id": "f29e8cf7-3cd0-4ffc-a071-96be9dd1da50",
              "name": "last_name",
              "type": "string",
              "value": "={{ $json.last_name }}"
            },
            {
              "id": "54ee5cec-ccaf-4f34-8030-d17206abef5d",
              "name": "email",
              "type": "string",
              "value": "={{ $json.email }}"
            },
            {
              "id": "daf1fa7c-a7fc-4b96-8184-a5569b9ab9a0",
              "name": "email_status",
              "type": "string",
              "value": "={{ $json.email_status }}"
            },
            {
              "id": "2c7e31e5-42a2-4295-ae8b-108d8a7d409a",
              "name": "linkedin_url",
              "type": "string",
              "value": "={{ $json.linkedin_url }}"
            },
            {
              "id": "4002f912-0581-4219-8443-96c13133dc76",
              "name": "headline",
              "type": "string",
              "value": "={{ $json.headline }}"
            },
            {
              "id": "fa92887f-fff5-4ee4-9b80-05115b83f718",
              "name": "organization",
              "type": "string",
              "value": "={{ $json.organization_name }}"
            },
            {
              "id": "c274e875-6a53-484a-87b1-3c672101603f",
              "name": "organization_website",
              "type": "string",
              "value": "={{ $json.organization_website_url }}"
            },
            {
              "id": "af6208a2-d064-471b-a417-7d96e9d05803",
              "name": "organization_linkedin_url",
              "type": "string",
              "value": "={{ $json.organization_linkedin_url }}"
            },
            {
              "id": "d61f2ddb-4c50-4548-8a7f-08261c60c429",
              "name": "current_job_title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "838c77f2-618e-43b2-9df6-e5e1bde39105",
              "name": "country",
              "type": "string",
              "value": "={{ $json.country }}"
            },
            {
              "id": "9dc784cf-ae01-44e3-afed-16a95192bf71",
              "name": "city",
              "type": "string",
              "value": "={{ $json.city }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3aaa9ea7-0c5d-4ea3-aa10-6cd0125ea91a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -280
      ],
      "parameters": {
        "color": 5,
        "width": 1200,
        "height": 520,
        "content": "## Lead Generation\nGet thousands of enriched leads in seconds."
      },
      "typeVersion": 1
    },
    {
      "id": "42e3f6de-4ec4-46a7-a7f9-c028d27a677b",
      "name": "Scrape Leads",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        380,
        -80
      ],
      "parameters": {
        "url": "=",
        "options": {},
        "jsonBody": "{\n    \"getPersonalEmails\": true,\n    \"getWorkEmails\": true,\n    \"totalRecords\": 500,\n    \"url\": \"\"\n}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "dfd580f6-99b5-414a-b6f3-77c73edc85ec",
      "name": "Save Leads in database",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1040,
        -80
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appy1hlfTk0UuYwRb",
          "cachedResultUrl": "https://airtable.com/appy1hlfTk0UuYwRb",
          "cachedResultName": "Lead Gen - Mastersheet"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl0rwfpUYkqMiysR",
          "cachedResultUrl": "https://airtable.com/appy1hlfTk0UuYwRb/tbl0rwfpUYkqMiysR",
          "cachedResultName": "Leads"
        },
        "columns": {
          "value": {
            "city": "={{ $json.city }}",
            "country": "={{ $json.country }}",
            "headline": "={{ $json.headline }}",
            "last_name": "={{ $json.last_name }}",
            "first_name": "={{ $json.first_name }}",
            "email_status": "={{ $json.email_status }}",
            "linkedin_url": "={{ $json.linkedin_url }}",
            "email_address": "={{ $json.email }}",
            "current_job_title": "={{ $json.current_job_title }}",
            "organization_name": "={{ $json.organization }}",
            "organization_website": "={{ $json.organization_website }}",
            "organization_linkedin_url": "={{ $json.organization_linkedin_url }}"
          },
          "schema": [
            {
              "id": "email_address",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "email_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "first_name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "first_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "last_name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "last_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "headline",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "headline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "linkedin_url",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "linkedin_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "organization_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_website",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "organization_website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_linkedin_url",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "organization_linkedin_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "current_job_title",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "current_job_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "country",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "country",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email_status",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "email_status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "city",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "city",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ff009ef3-c7da-460a-80e5-ba1330631c00",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -280
      ],
      "parameters": {
        "color": 3,
        "width": 460,
        "height": 180,
        "content": "## \ud83d\udea8 readMeFirst \ud83d\udea8\nThis template is built by [Not Another Marketer](https://notanothermarketer.com)\n\nStep-by-step setup guide: https://notanothermarketer.gitbook.io/\n\nAny questions? [Reach out on X](https://x.com/notanothermrktr) "
      },
      "typeVersion": 1
    },
    {
      "id": "0915cea5-746a-4dde-9208-885e08644ae2",
      "name": "Filter leads without email",
      "type": "n8n-nodes-base.if",
      "position": [
        600,
        -80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "231ec40a-bd12-46e2-ab6b-a8c4d6728983",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.email }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f574ed33-bd0a-496b-865e-e6be2c1e3060",
  "connections": {
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Save Leads in database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Leads": {
      "main": [
        [
          {
            "node": "Filter leads without email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter leads without email": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Scrape Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Lead Generation System (Template). Uses manualTrigger, stickyNote, httpRequest, airtable. Event-driven trigger; 7 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Splitout Code. Uses airtable, formTrigger, form, splitOut. Event-driven trigger; 34 nodes.

Airtable, Form Trigger, Form +1
Data & Sheets

This n8n template showcases a cool feature of n8n Forms where the form itself can be defined dynamically using the form fields schema.

Airtable, Form Trigger, Form +1
Data & Sheets

Code. Uses googleDrive, httpRequest, googleDriveTrigger, airtable. Event-driven trigger; 18 nodes.

Google Drive, HTTP Request, Google Drive Trigger +1
Data & Sheets

Dynamically create tables in Airtable for your Webflow form submissions. Uses webflowTrigger, httpRequest, airtable, stickyNote. Event-driven trigger; 17 nodes.

Webflow Trigger, HTTP Request, Airtable
Data & Sheets

Effortlessly convert any text into stunningly realistic, high-quality audio with this powerful n8n workflow. Leveraging Google's advanced Text-to-Speech (TTS) AI, this template provides a complete, en

Google Drive, Airtable, Form Trigger +1