AutomationFlowsAI & RAG › Precision Prospecting: Automate Linkedin Lead Gen with Bright Data

Precision Prospecting: Automate Linkedin Lead Gen with Bright Data

Original n8n title: 🎯 Precision Prospecting: Automate Linkedin Lead Gen with Bright Data

ByMiquel Colomer @mcolomer on n8n.io

🎯 Precision Prospecting: Automate LinkedIn Lead Gen with n8n & Bright Data

Chat trigger trigger★★★★☆ complexityAI-powered13 nodesChat TriggerMemory Buffer WindowExecute Workflow TriggerTool WorkflowN8N Nodes BrightdataOpenAI ChatAgent
AI & RAG Trigger: Chat trigger Nodes: 13 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Chat 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "0f2da238-9741-4019-a691-ddf17b523ca3",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -880,
        -20
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "a02120f5-aa93-4269-92af-2e7486768736",
      "name": "Simple Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -320,
        140
      ],
      "parameters": {
        "contextWindowLength": 20
      },
      "typeVersion": 1.3
    },
    {
      "id": "ac560c1c-2e1e-4985-a398-6b837b89a7f3",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -880,
        -240
      ],
      "parameters": {
        "inputSource": "passthrough"
      },
      "typeVersion": 1.1
    },
    {
      "id": "1bd808f6-bba4-43f5-b28c-d2c9a3dd0003",
      "name": "Search LinkedIn URI",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        -100,
        140
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "fjEIEQ1L6n2IKqlx"
        },
        "description": "Pass the google uri to get first linkedin link from Google Search",
        "workflowInputs": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a7a7269a-e091-4327-ac67-a6f5f7946b25",
      "name": "Get LinkedIn Profile Data",
      "type": "n8n-nodes-brightdata.brightDataTool",
      "position": [
        120,
        140
      ],
      "parameters": {
        "urls": "={{ $fromAI('URLs') }}",
        "resource": "webScrapper",
        "dataset_id": {
          "__rl": true,
          "mode": "list",
          "value": "=gd_l1viktl72bvl7bjuj0"
        },
        "descriptionType": "manual",
        "toolDescription": "Scrape data synchronously by URL in BrightData\nURLs parameter must follow the next format:\n[{\"url\":\"https://www.linkedin.com/in/dvirsharon/\"}]"
      },
      "credentials": {
        "brightdataApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b84107a5-0a56-4ec9-82c9-3ef674613bb8",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -500,
        140
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "27165580-6ed9-428e-a7dc-3c119519894c",
      "name": "Extract Links",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        40,
        -240
      ],
      "parameters": {
        "options": {
          "destinationFieldName": "url"
        },
        "fieldToSplitOut": "link"
      },
      "typeVersion": 1
    },
    {
      "id": "2d0f43b7-4818-4f4d-aac4-862cd1bb8729",
      "name": "Get Links from Body",
      "type": "n8n-nodes-base.html",
      "position": [
        -180,
        -240
      ],
      "parameters": {
        "options": {
          "trimValues": true,
          "cleanUpText": true
        },
        "operation": "extractHtmlContent",
        "dataPropertyName": "body",
        "extractionValues": {
          "values": [
            {
              "key": "link",
              "attribute": "href",
              "cssSelector": "a",
              "returnArray": true,
              "returnValue": "attribute"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c61dd9c4-9c64-4bdb-aaf4-0e7dcf6f340f",
      "name": "Filter only LinkedIn Profiles",
      "type": "n8n-nodes-base.filter",
      "position": [
        260,
        -240
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7ccbfe62-09f0-44d1-aa72-c65a2d1750b2",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.url }}",
              "rightValue": "linkedin.com/"
            },
            {
              "id": "de368fe2-6559-4316-97c5-2c6bb0a72a51",
              "operator": {
                "type": "string",
                "operation": "startsWith"
              },
              "leftValue": "={{ $json.url }}",
              "rightValue": "https://"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a689a9f6-d7a1-4e4c-8265-7753bbc41bdb",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        480,
        -240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "424f2539-c0ae-4228-ba9c-86ad15e24654",
      "name": "AI Prospector Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -400,
        -80
      ],
      "parameters": {
        "text": "={{ $json.chatInput }}",
        "options": {
          "maxIterations": 10,
          "systemMessage": "=You are an expert AI Prospector Agent.\nYou return information about any person using LinkedIn profiles.\n\nFollow the next guidelines always:\n\n1) User can ask your for people in two ways:\n- by company and first name\n- by company and position\n- by linkedin company\n\n2) if user searches by company and first, do a google search and scrape links matching request. Sample url generated for this case:\n- if company = bright data\n- fullname = dvir\nThe url generated is\nhttps://www.google.com/search?q=site%3Alinkedin.com%2Fin+bright%20data+dvir\n\nCall \"Search LinkedIn URI\", pass as query property the generated url, and get first https:// linkedin.com link\n\n3) if user searches by company and position, do a google search and scrape links matching request. Sample url generated for this case:\n- if company = bright data\n- position = cmo\nThe url generated is\nhttps://www.google.com/search?q=site%3Alinkedin.com%2Fin+bright%20data+cmo\n\nCall \"Search LinkedIn URI\", pass as query property the generated url, and get first https:// linkedin.com link\n\n4) if user searches by LinkedIn URI, pass link to tool \"Get LinkedIn Profile Data\".\n\n5) Present a summary for all data returned by \"Get LinkedIn Profile Data\" tool\n"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "3d0ee963-ed48-4bd1-b7d5-ae8009bfb1d7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1000,
        -480
      ],
      "parameters": {
        "width": 1680,
        "height": 760,
        "content": "# Precision Prospector with Bright Data\n\n## TODO\n- After pasting this workflow, update node \"Search LinkedIn URI\" tool and add current Workflow ID (for instance, if your workflow in n8n has the next url https://n8n-ai.cr.vps2.clients.killia.com/workflow/fjEIEQ1L6n2IKqlx your workflow Id is fjEIEQ1L6n2IKqlx).\n- Add your Bright Data api key to \"Get LinkedIn Profile Data\" tool and \"Get 1 Google Result\" node."
      },
      "typeVersion": 1
    },
    {
      "id": "df94a25c-a03e-46d9-92c8-5f0f3a5097f7",
      "name": "Get 1 Google Result",
      "type": "n8n-nodes-brightdata.brightData",
      "position": [
        -480,
        -240
      ],
      "parameters": {
        "url": "={{ $json.query }}&num=1",
        "zone": {
          "__rl": true,
          "mode": "list",
          "value": "web_unlocker1"
        },
        "format": "json",
        "country": {
          "__rl": true,
          "mode": "list",
          "value": "us"
        }
      },
      "credentials": {
        "brightdataApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Extract Links": {
      "main": [
        [
          {
            "node": "Filter only LinkedIn Profiles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory1": {
      "ai_memory": [
        [
          {
            "node": "AI Prospector Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Prospector Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get 1 Google Result": {
      "main": [
        [
          {
            "node": "Get Links from Body",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Links from Body": {
      "main": [
        [
          {
            "node": "Extract Links",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search LinkedIn URI": {
      "ai_tool": [
        [
          {
            "node": "AI Prospector Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get LinkedIn Profile Data": {
      "ai_tool": [
        [
          {
            "node": "AI Prospector Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Prospector Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter only LinkedIn Profiles": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Get 1 Google Result",
            "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

🎯 Precision Prospecting: Automate LinkedIn Lead Gen with n8n & Bright Data

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

by Varritech Technologies

Chat Trigger, Agent, OpenAI Chat +8
AI & RAG

Airtable AI Agent. Uses lmChatOpenAi, agent, toolWorkflow, toolCode. Chat trigger; 42 nodes.

OpenAI Chat, Agent, Tool Workflow +6
AI & RAG

Ai Agent To Chat With Airtable And Analyze Data. Uses lmChatOpenAi, agent, stickyNote, memoryBufferWindow. Chat trigger; 41 nodes.

OpenAI Chat, Agent, Memory Buffer Window +6
AI & RAG

I prepared a detailed guide that shows the entire process of building an AI agent that integrates with Airtable data in n8n. This template covers everything from data preparation to advanced configura

OpenAI Chat, Agent, Memory Buffer Window +6
AI & RAG

Categories: AI Agents, Design Automation, Business Tools

Tool Workflow, HTTP Request Tool, Memory Buffer Window +7