{
  "id": "JuW1Q92YSk4ErvvC",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Get Company LinkedIn Page",
  "tags": [],
  "nodes": [
    {
      "id": "293786b0-e37d-4c79-83fc-2c3bbae1752b",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -40,
        -120
      ],
      "parameters": {
        "options": {},
        "formTitle": "Company LinkedIn",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Company domain",
              "placeholder": "company.com",
              "requiredField": true
            },
            {
              "fieldLabel": "Airtop Profile (connected to Linkedin)",
              "requiredField": true
            }
          ]
        },
        "formDescription": "=<p>This automation searches for a company's LinkedIn page.</p>\n\n<p>The automation requires 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>"
      },
      "typeVersion": 2.2
    },
    {
      "id": "311095ba-b1b7-4080-ab0e-814b3c216003",
      "name": "Unify parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        180,
        -20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ca4288c1-9336-4c1e-8eee-4e96c2f240cc",
              "name": "Company domain",
              "type": "string",
              "value": "={{ $json[\"Company domain\"] }}"
            },
            {
              "id": "efcc1d50-ff92-4420-af90-63ff7863cc1a",
              "name": "Airtop Profile",
              "type": "string",
              "value": "={{ $json[\"Airtop Profile (connected to Linkedin)\"] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1f3f3545-6960-42dc-823e-10be62dfb3c7",
      "name": "Company LinkedIn exists?",
      "type": "n8n-nodes-base.filter",
      "position": [
        1520,
        -40
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "955d2f74-f1ae-46a6-ba1f-894e39c552bd",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data.modelResponse }}",
              "rightValue": "linkedin.com/company"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d939dbee-98ec-49aa-94d9-8c36912fd8d7",
      "name": "Map data",
      "type": "n8n-nodes-base.set",
      "position": [
        1980,
        -140
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "02614eff-4a1e-479f-9b50-c2d5f7fead35",
              "name": "company_linkedin",
              "type": "string",
              "value": "={{ $json.company_linkedin }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "31c29d58-730e-4610-b41f-814ba9775159",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -40,
        80
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "Company domain"
            },
            {
              "name": "Airtop Profile (connected to Linkedin)"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "c2952fbe-0622-4c0e-8d93-f34ccde536a7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -220
      ],
      "parameters": {
        "width": 400,
        "height": 460,
        "content": "## Input Parameters\nRun this workflow using a form or from another workflow"
      },
      "typeVersion": 1
    },
    {
      "id": "c020ca75-1cae-43aa-bd84-97be6da53a05",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -220
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 460,
        "content": "## Query webpage\nSearch the provided company webpage for a LinkedIn profile link.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "61060ba2-5b44-4e9e-a9d6-b99769ed2426",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        -60
      ],
      "parameters": {
        "color": 5,
        "width": 920,
        "height": 280,
        "content": "## Search LinkedIn\nIf the webpage can't be found or doesn't contain a LinkedIn link, \na search is performed on LinkedIn (and then on Google)"
      },
      "typeVersion": 1
    },
    {
      "id": "1c21c09e-22ca-4c1d-8a92-92fd23a3bcc0",
      "name": "Webpage search",
      "type": "n8n-nodes-base.airtop",
      "onError": "continueRegularOutput",
      "position": [
        400,
        -20
      ],
      "parameters": {
        "url": "={{ $json[\"Company domain\"] }}",
        "prompt": "This is the webpage for a company. Search for the linkedin of the company, it is highly probable that it is in the footer. Return only the link",
        "resource": "extraction",
        "operation": "query",
        "profileName": "={{ $('Unify parameters').item.json[\"Airtop Profile\"] }}",
        "sessionMode": "new",
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d306ed90-f949-4f23-904a-375e0fd65a59",
      "name": "Linkedin search",
      "type": "n8n-nodes-base.airtop",
      "maxTries": 2,
      "position": [
        840,
        60
      ],
      "parameters": {
        "url": "=https://www.linkedin.com/search/results/companies/?keywords={{  encodeURIComponent(['org','com','co','fr','us','uk','de','es','it','nl','ca','au','in','jp'].includes($('Unify parameters').item.json[\"Company domain\"].split('.').at(-1)) ? $('Unify parameters').item.json[\"Company domain\"].split('.')[0] : $('Unify parameters').item.json[\"Company domain\"].split('.').join(\" \")\n) }}",
        "prompt": "=This is Linked Search results. One of the first results should be the Linkedin Page of {{ $('Unify parameters').item.json[\"Company domain\"] }}\nReturn the Linkedin URL of the most likely page and nothing else.",
        "resource": "extraction",
        "operation": "query",
        "profileName": "={{ $('Unify parameters').item.json[\"Airtop Profile\"] }}",
        "sessionMode": "new",
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1
    },
    {
      "id": "e01562fd-0222-42fe-8d5b-80dd2d20e136",
      "name": "LinkedIn link found?",
      "type": "n8n-nodes-base.if",
      "position": [
        620,
        -120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "bc93d626-bed0-4f63-8145-f2514b0ba38d",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data.modelResponse }}",
              "rightValue": "linkedin.com/company"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "44767679-1c79-4257-9f6e-ef0cae6fdd6c",
      "name": "LinkedIn link found?1",
      "type": "n8n-nodes-base.if",
      "position": [
        1080,
        40
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "bc93d626-bed0-4f63-8145-f2514b0ba38d",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data.modelResponse }}",
              "rightValue": "linkedin.com/company"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0570831d-5172-4621-9fab-ad8d022f3065",
      "name": "Google search",
      "type": "n8n-nodes-base.airtop",
      "maxTries": 2,
      "position": [
        1360,
        60
      ],
      "parameters": {
        "url": "=https://www.google.com/search?q={{  encodeURIComponent(`${$('Unify parameters').item.json[\"Company domain\"]} LinkedIn`) }}",
        "prompt": "=This is Google Search results. One of the first results should be the Linkedin Page of {{ $('Unify parameters').item.json[\"Company domain\"] }}\nReturn the Linkedin URL of the most likely page and nothing else.\nIf can't find the URL return 'NA'\nA valid Linkedin profile URL starts with \"https://www.linkedin.com/company/\"",
        "resource": "extraction",
        "operation": "query",
        "profileName": "=",
        "sessionMode": "new",
        "additionalFields": {}
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1
    },
    {
      "id": "c928ff04-0a60-4be4-972b-c60cdfe9e246",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1720,
        -220
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 440,
        "content": "## Verify LinkedIn URL"
      },
      "typeVersion": 1
    },
    {
      "id": "be500c1a-af4a-4a4d-83c0-c4557aed7a38",
      "name": "Verify LinkedIn link",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1760,
        -140
      ],
      "parameters": {
        "options": {},
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "5oytfka3VbKglzBE",
          "cachedResultName": "AIRTOP \u2014 Verify Company LinkedIn by Domain"
        },
        "workflowInputs": {
          "value": {
            "Company Domain": "={{ $('Unify parameters').item.json[\"Company domain\"] }}",
            "Company LinkedIn": "={{ $json.data.modelResponse }}",
            "Airtop Profile (connected to Linkedin)": "={{ $('Unify parameters').item.json[\"Airtop Profile\"] }}"
          },
          "schema": [
            {
              "id": "Company LinkedIn",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company Domain",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company Domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Airtop Profile (connected to Linkedin)",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Airtop Profile (connected to Linkedin)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c2b5aff0-cea1-4564-a512-273e62c95495",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -480
      ],
      "parameters": {
        "width": 700,
        "height": 1040,
        "content": "README\n\n# Automating LinkedIn Company Page Discovery\n\n## Use Case\n\nFinding 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\u2019s website and LinkedIn to locate the correct profile.\n\n## What This Automation Does\n\nThis automation identifies a company's LinkedIn page using the following input parameters:\n\n- **Company domain**: The official website domain of the company (e.g., `company.com`).\n- **Airtop Profile (connected to LinkedIn)**: The name of your [Airtop Profile](https://portal.airtop.ai/browser-profiles) authenticated on LinkedIn.\n\n## How It Works\n\n1. Launches an Airtop session using the provided authenticated profile.\n2. Attempts to extract a LinkedIn link directly from the company's website.\n3. If not found, performs a LinkedIn search for the company.\n4. If still unsuccessful, falls back to a Google search.\n5. Validates the most likely result to confirm it\u2019s a LinkedIn company page.\n6. Outputs the verified LinkedIn URL.\n\n## Setup Requirements\n\n1. [Airtop API Key](https://portal.airtop.ai/api-keys) \u2014 free to generate.\n2. An [Airtop Profile](https://portal.airtop.ai/browser-profiles) logged in to LinkedIn (requires one-time login).\n\n## Next Steps\n\n- **Combine with People Enrichment**: Use this with LinkedIn profile discovery for full contact + company data workflows.\n- **CRM Integration**: Automatically enrich company records with LinkedIn links.\n- **Build Custom Outreach Workflows**: Connect company pages to SDR tooling for deeper research and engagement."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a26d6a2d-0cc4-4c5f-b126-c1c118955814",
  "connections": {
    "Google search": {
      "main": [
        [
          {
            "node": "Company LinkedIn exists?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webpage search": {
      "main": [
        [
          {
            "node": "LinkedIn link found?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Linkedin search": {
      "main": [
        [
          {
            "node": "LinkedIn link found?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Unify parameters": {
      "main": [
        [
          {
            "node": "Webpage search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Unify parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn link found?": {
      "main": [
        [
          {
            "node": "Verify LinkedIn link",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Linkedin search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify LinkedIn link": {
      "main": [
        [
          {
            "node": "Map data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn link found?1": {
      "main": [
        [
          {
            "node": "Company LinkedIn exists?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Google search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Company LinkedIn exists?": {
      "main": [
        [
          {
            "node": "Verify LinkedIn link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Unify parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}