AutomationFlowsMarketing & Ads › Linkedin Sales Navigator Leads to Google Sheets

Linkedin Sales Navigator Leads to Google Sheets

LinkedIn Sales Navigator Leads to Google Sheets. Uses httpRequest, googleSheets. Event-driven trigger; 11 nodes.

Event trigger★★★★☆ complexity11 nodesHTTP RequestGoogle Sheets
Marketing & Ads Trigger: Event Nodes: 11 Complexity: ★★★★☆ Added:

This workflow follows the Google Sheets → 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
{
  "name": "LinkedIn Sales Navigator Leads to Google Sheets",
  "nodes": [
    {
      "parameters": {},
      "id": "manual-trigger",
      "name": "Start Extraction",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        300
      ]
    },
    {
      "parameters": {
        "mode": "raw",
        "jsonOutput": "={\n  \"salesNavigatorUrl\": \"YOUR_SALES_NAVIGATOR_SEARCH_URL_HERE\",\n  \"maxResults\": 100\n}",
        "options": {}
      },
      "id": "set-input",
      "name": "Set Search Input",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        220,
        300
      ],
      "notesInFlow": true,
      "notes": "\ud83d\udcdd EDIT THIS: Paste your LinkedIn Sales Navigator search URL here and set max results"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/acts/curious_coder~linkedin-sales-navigator-search-scraper/runs",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpQueryAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"searchUrl\": \"{{ $json.salesNavigatorUrl }}\",\n  \"maxResults\": {{ $json.maxResults }},\n  \"proxyConfiguration\": {\n    \"useApifyProxy\": true,\n    \"apifyProxyGroups\": [\"RESIDENTIAL\"]\n  }\n}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        }
      },
      "id": "start-apify-actor",
      "name": "Start Apify Scraper",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        440,
        300
      ],
      "notesInFlow": true,
      "notes": "\ud83d\ude80 Starts the LinkedIn Sales Navigator scraper on Apify",
      "credentials": {
        "httpQueryAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": 30,
        "unit": "seconds"
      },
      "id": "wait-initial",
      "name": "Wait 30s",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        660,
        300
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "=https://api.apify.com/v2/actor-runs/{{ $('Start Apify Scraper').item.json.data.id }}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpQueryAuth",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        }
      },
      "id": "check-run-status",
      "name": "Check Run Status",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        880,
        300
      ],
      "credentials": {
        "httpQueryAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "condition-running",
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "SUCCEEDED",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "if-finished",
      "name": "Is Finished?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.1,
      "position": [
        1100,
        300
      ]
    },
    {
      "parameters": {
        "amount": 15,
        "unit": "seconds"
      },
      "id": "wait-more",
      "name": "Wait 15s More",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1100,
        520
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "=https://api.apify.com/v2/datasets/{{ $('Start Apify Scraper').item.json.data.defaultDatasetId }}/items",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpQueryAuth",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        }
      },
      "id": "get-results",
      "name": "Get Scraped Leads",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1320,
        300
      ],
      "credentials": {
        "httpQueryAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "raw",
        "jsonOutput": "={\n  \"fullName\": \"{{ $json.fullName || $json.firstName + ' ' + $json.lastName || 'N/A' }}\",\n  \"title\": \"{{ $json.title || $json.headline || 'N/A' }}\",\n  \"company\": \"{{ $json.companyName || $json.company || 'N/A' }}\",\n  \"location\": \"{{ $json.location || $json.geoRegion || 'N/A' }}\",\n  \"linkedinUrl\": \"{{ $json.linkedinUrl || $json.profileUrl || $json.url || 'N/A' }}\",\n  \"extractedAt\": \"{{ $now.format('yyyy-MM-dd HH:mm:ss') }}\"\n}",
        "options": {}
      },
      "id": "transform-data",
      "name": "Format Lead Data",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1540,
        300
      ],
      "notesInFlow": true,
      "notes": "\ud83d\udccb Maps Apify output to your required fields"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_GOOGLE_SHEET_ID_HERE"
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "Sheet1",
          "cachedResultName": "Sheet1"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Full Name": "={{ $json.fullName }}",
            "Title": "={{ $json.title }}",
            "Company": "={{ $json.company }}",
            "Location": "={{ $json.location }}",
            "LinkedIn URL": "={{ $json.linkedinUrl }}",
            "Extracted At": "={{ $json.extractedAt }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "Full Name",
              "displayName": "Full Name",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "type": "string"
            },
            {
              "id": "Title",
              "displayName": "Title",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "type": "string"
            },
            {
              "id": "Company",
              "displayName": "Company",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "type": "string"
            },
            {
              "id": "Location",
              "displayName": "Location",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "type": "string"
            },
            {
              "id": "LinkedIn URL",
              "displayName": "LinkedIn URL",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "type": "string"
            },
            {
              "id": "Extracted At",
              "displayName": "Extracted At",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "google-sheets-append",
      "name": "Save to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        1760,
        300
      ],
      "notesInFlow": true,
      "notes": "\ud83d\udcca EDIT THIS: Set your Google Sheet ID",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## \ud83c\udfaf LinkedIn Sales Navigator Lead Extraction\n\n### Setup Instructions:\n\n1. **Apify API Token** (HTTP Query Auth credential):\n   - Create at: https://console.apify.com/account/integrations\n   - Credential Name: `token`\n   - Credential Value: `your_apify_api_token`\n\n2. **Google Sheets**:\n   - Connect your Google account\n   - Create a sheet with columns:\n     `Full Name | Title | Company | Location | LinkedIn URL | Extracted At`\n\n3. **Configure the workflow**:\n   - Edit \"Set Search Input\" with your Sales Navigator URL\n   - Edit \"Save to Google Sheets\" with your Sheet ID\n\n### How to use:\n1. Paste your Sales Navigator search URL in the \"Set Search Input\" node\n2. Click \"Execute Workflow\"\n3. Wait for scraping to complete (30s-5min depending on results)\n4. Leads automatically added to your Google Sheet!",
        "height": 520,
        "width": 380
      },
      "id": "sticky-note",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -280,
        100
      ]
    }
  ],
  "connections": {
    "Start Extraction": {
      "main": [
        [
          {
            "node": "Set Search Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Search Input": {
      "main": [
        [
          {
            "node": "Start Apify Scraper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Apify Scraper": {
      "main": [
        [
          {
            "node": "Wait 30s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30s": {
      "main": [
        [
          {
            "node": "Check Run Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Run Status": {
      "main": [
        [
          {
            "node": "Is Finished?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Finished?": {
      "main": [
        [
          {
            "node": "Get Scraped Leads",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 15s More",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 15s More": {
      "main": [
        [
          {
            "node": "Check Run Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Scraped Leads": {
      "main": [
        [
          {
            "node": "Format Lead Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Lead Data": {
      "main": [
        [
          {
            "node": "Save to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [
    {
      "name": "LinkedIn",
      "createdAt": "2026-01-21T18:55:00.000Z",
      "updatedAt": "2026-01-21T18:55:00.000Z"
    },
    {
      "name": "Lead Generation",
      "createdAt": "2026-01-21T18:55:00.000Z",
      "updatedAt": "2026-01-21T18:55:00.000Z"
    }
  ],
  "triggerCount": 0,
  "updatedAt": "2026-01-21T18:55:00.000Z",
  "versionId": "1"
}

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

LinkedIn Sales Navigator Leads to Google Sheets. Uses httpRequest, googleSheets. Event-driven trigger; 11 nodes.

Source: https://gist.github.com/AutomatesWithJohnson/534341611707e686476306de09f499bf — original creator credit. Request a take-down →

More Marketing & Ads workflows → · Browse all categories →

Related workflows

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

Marketing & Ads

Enrich And Veryify Leads. Uses httpRequest, googleSheets, googleSheetsTrigger. Event-driven trigger; 32 nodes.

HTTP Request, Google Sheets, Google Sheets Trigger
Marketing & Ads

This workflow scrapes Google Maps business listings (e.g., carpenters in Tarragona) to extract websites and email addresses — perfect for lead generation, local business prospecting, or agency outreac

HTTP Request, Google Sheets
Marketing & Ads

Categories: Lead Generation, Web Scraping, Business Automation

HTTP Request, Google Sheets
Marketing & Ads

This template finds businesses on Google Maps → writes to Google Sheets → enriches + verifies email contact so your outreach stays clean and deliverable. It includes Sticky Notes** to explain the flow

HTTP Request, Google Sheets, @Verificaremails/N8N Nodes Verificaremails +1
Marketing & Ads

Description:

Google Sheets Trigger, Google Sheets, HTTP Request