AutomationFlowsSocial Media › Find and Verify Linkedin Profile with Airtop

Find and Verify Linkedin Profile with Airtop

ByAirtop @cesar-at-airtop on n8n.io

Accurately identifying and verifying a person’s LinkedIn profile is essential for prospecting, recruiting, or contact enrichment. This automation ensures high accuracy by combining search logic with optional profile validation.

Event trigger★★★★☆ complexity9 nodesForm TriggerExecute Workflow TriggerAirtop
Social Media Trigger: Event Nodes: 9 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #4257 — we link there as the canonical source.

This workflow follows the Execute Workflow Trigger → Form Trigger 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": "BTxosiCF2PaCkBWJ",
  "meta": {
    "templateId": "3477"
  },
  "name": "LinkedIn Profile Discovery w Verification",
  "tags": [
    {
      "id": "gNiDOCnjqCXR7phD",
      "name": "Marketing",
      "createdAt": "2025-04-15T01:08:25.516Z",
      "updatedAt": "2025-04-15T01:08:25.516Z"
    },
    {
      "id": "zKNO4Omjzfu6J25M",
      "name": "Demo",
      "createdAt": "2025-04-15T18:59:57.364Z",
      "updatedAt": "2025-04-15T18:59:57.364Z"
    }
  ],
  "nodes": [
    {
      "id": "9e79490c-16c6-40ed-a732-6e2b45a9dfe9",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        540,
        240
      ],
      "parameters": {
        "options": {},
        "formTitle": "Linkedin Profile Extractor",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Person Info",
              "requiredField": true
            },
            {
              "fieldLabel": "Airtop Profile (connected to Linkedin)",
              "requiredField": true
            }
          ]
        },
        "formDescription": "<h2>Find LinkedIn Profile URLs</h2>\n<p>This automation simplifies take whatever you have about a person (name, title, email etc) and returns a verified linkedin profile URL</p>\n<p>For verification provide Enter an Airtop Profile name that is authenticated on Linkedin. Don't have one? Create a free Profile and log-in to X at - <a href=\"https://portal.airtop.ai/browser-profiles\">https://portal.airtop.ai/browser-profiles</a></p>\n<p>If no Airtop Profile provided, the verification will be skipped</p>"
      },
      "typeVersion": 2.2
    },
    {
      "id": "aca747c1-6a71-4b7f-b654-c7e7cad379da",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        540,
        440
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "Person_info"
            },
            {
              "name": "Airtop_profile"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "15461964-1a8b-43fe-9f0f-2817e727be83",
      "name": "Search Profile URL",
      "type": "n8n-nodes-base.airtop",
      "notes": "This could take a few minutes depending on the number of rows",
      "position": [
        1000,
        340
      ],
      "parameters": {
        "url": "=https://www.google.com/search?q={{ encodeURI($json['Person_info']+' Linkedin') }}",
        "prompt": "=This is Google Search results. one of the first results should be the Linkedin Page of {{ $json['Person_info'] }} \nReturn the Linkedin URL of the most likely page and nothing else.\nIf you cannot find the Linkedin URL, return NA. ",
        "resource": "extraction",
        "operation": "query",
        "sessionMode": "new",
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "0a491a72-67f0-4676-988f-01736e30208c",
      "name": "Verify Profile URL",
      "type": "n8n-nodes-base.airtop",
      "notes": "This could take a few minutes depending on the number of rows",
      "position": [
        1420,
        340
      ],
      "parameters": {
        "url": "={{ $('Search Profile URL').item.json.data.modelResponse }}",
        "prompt": "=Review the page in details, analyze the experience history and determine whether this the Linkedin Profile Page of {{ $('Unify Parameters').item.json.Person_info }} ? \nIf yes, return just the Profile URL: {{ $json.data.modelResponse }}\nIf no, return: NA\nDon't return anything else",
        "resource": "extraction",
        "operation": "query",
        "profileName": "={{ $('Unify Parameters').item.json.Airtop_profile }}",
        "sessionMode": "new",
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "f4f5bb51-b322-4506-bdea-e71d93f4f62d",
      "name": "Unify Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        760,
        340
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e612bf63-72bd-4b61-82c9-786a90b58b7b",
              "name": "Person_info",
              "type": "string",
              "value": "={{ $json[\"Person Info\"] || $json.Person_info }}"
            },
            {
              "id": "567e5e7d-4efd-4d0a-a93c-6c7aed02c305",
              "name": "Airtop_profile",
              "type": "string",
              "value": "={{ $json[\"Airtop Profile (connected to Linkedin)\"] || $json.Airtop_profile }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1f230961-53e6-46b8-b1cf-5caa5a1a3861",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        500,
        120
      ],
      "parameters": {
        "width": 420,
        "height": 480,
        "content": "## Input Parameters\n** Run this workflow using a form or from another workflow"
      },
      "typeVersion": 1
    },
    {
      "id": "9be6a60f-9476-44f8-8a59-af516c5fe495",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        940,
        120
      ],
      "parameters": {
        "color": 4,
        "width": 700,
        "height": 480,
        "content": "## Search LinkedIn\nSearch for the LinkedIn profile using Google. If a link is found, verify that the profile belongs to the correct person.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "47faf136-4f70-461c-9bf7-eda7aaf8bf8b",
      "name": "Is valid Linkedin link?",
      "type": "n8n-nodes-base.filter",
      "position": [
        1200,
        340
      ],
      "parameters": {
        "options": {
          "ignoreCase": true
        },
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ec6588d2-7404-4a06-a141-d368aa2748f0",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('Unify Parameters').item.json.Airtop_profile }}",
              "rightValue": ""
            },
            {
              "id": "28a66f63-fdda-413f-be42-913a2da1e37c",
              "operator": {
                "type": "string",
                "operation": "notStartsWith"
              },
              "leftValue": "={{ $json.data.modelResponse }}",
              "rightValue": "NA"
            },
            {
              "id": "9d0ffa4a-79c2-4113-926e-c2f2233a1c03",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data.modelResponse }}",
              "rightValue": "linkedin.com/in"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "4cd8ecb5-df56-44f9-8480-745fa755b321",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -120
      ],
      "parameters": {
        "width": 700,
        "height": 1000,
        "content": "README\n\n# Automating LinkedIn Profile Discovery with Verification\n\n## Use Case\n\nAccurately identifying and verifying a person\u2019s LinkedIn profile is essential for prospecting, recruiting, or contact enrichment. This automation ensures high accuracy by combining search logic with optional profile validation.\n\n## What This Automation Does\n\nThis automation locates and verifies a LinkedIn profile using the following inputs:\n\n- **Person_info**: Any identifying information about the person (e.g., name, company, email).\n- **Airtop_profile**: Your [Airtop Profile](https://portal.airtop.ai/browser-profiles) authenticated on LinkedIn, used for verifying the profile.\n\n## How It Works\n\n1. Extracts a likely LinkedIn URL by performing a Google search using the provided person info.\n2. Validates the result (if Airtop Profile is provided):\n   - Visits the LinkedIn profile.\n   - Verifies match by checking the content (e.g., experience, role) against the person info.\n3. Returns a verified LinkedIn profile URL or \"NA\" if not found or not valid.\n\n## Setup Requirements\n\n1. [Airtop API Key](https://portal.airtop.ai/api-keys)\n2. Optional but recommended: an [Airtop Profile](https://portal.airtop.ai/browser-profiles) authenticated on LinkedIn.\n\n## Next Steps\n\n- **Combine with Email Lookup**: Use email-to-profile tools upstream to gather inputs.\n- **CRM Integration**: Automatically append LinkedIn profiles to contact records.\n- **Automate Outreach**: Use the verified URLs for personalized LinkedIn engagement workflows."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {},
  "versionId": "f3699b6b-de11-4294-84cd-892b79727436",
  "connections": {
    "Unify Parameters": {
      "main": [
        [
          {
            "node": "Search Profile URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Unify Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Profile URL": {
      "main": [
        [
          {
            "node": "Is valid Linkedin link?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Profile URL": {
      "main": [
        []
      ]
    },
    "Is valid Linkedin link?": {
      "main": [
        [
          {
            "node": "Verify Profile URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Unify Parameters",
            "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

Accurately identifying and verifying a person’s LinkedIn profile is essential for prospecting, recruiting, or contact enrichment. This automation ensures high accuracy by combining search logic with optional profile validation.

Source: https://n8n.io/workflows/4257/ — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

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

Social Media

Automatically sending LinkedIn connection requests to prospects can significantly streamline your outreach process. This automation ensures you only send requests to users you're not already connected

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

Finding the official LinkedIn page of a company is crucial for tasks like outreach, research, or enrichment. This automation streamlines the process by intelligently searching the company’s website an

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

This automation verifies that a given LinkedIn URL actually belongs to a company by comparing the website listed on their LinkedIn page against the expected company domain. It is essential for ensurin

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

This automation is designed to extract key engagement metrics and audience data from a LinkedIn post. It's useful for analyzing the impact of content and identifying engaged users for lead generation,

Airtop, Execute Workflow Trigger, Form Trigger
Social Media

This automation extracts detailed company insights from a LinkedIn company page, including identity, scale, classification, and funding data. Ideal for investors, sales teams, and market researchers.

Form Trigger, Execute Workflow Trigger, Airtop