๐ฏ ์ ๋ฐ ๊ณ ๊ฐ ์ ์น: Bright Data๋ฅผ ์ฌ์ฉํ์ฌ LinkedIn ์ ์ฌ ๊ณ ๊ฐ ์์ฑ ์๋ํ
์ด๊ฒ์Sales, AI๋ถ์ผ์์๋ํ ์ํฌํ๋ก์ฐ๋ก, 13๊ฐ์ ๋ ธ๋๋ฅผ ํฌํจํฉ๋๋ค.์ฃผ๋ก Html, Limit, Filter, SplitOut, Agent ๋ฑ์ ๋ ธ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ์ธ๊ณต์ง๋ฅ ๊ธฐ์ ์ ๊ฒฐํฉํ์ฌ ์ค๋งํธ ์๋ํ๋ฅผ ๊ตฌํํฉ๋๋ค. ๐ฏ ์ ๋ฐ ๊ณ ๊ฐ ์ ์น: Bright Data๋ฅผ ์ฌ์ฉํ์ฌ LinkedIn ์ ์ฌ ๊ณ ๊ฐ ์์ฑ ์๋ํ
- โขOpenAI API Key
์ฌ์ฉ๋ ๋ ธ๋ (13)
์นดํ ๊ณ ๋ฆฌ
{
"meta": {
"instanceId": "b1f85eae352fde76d801a1a612661df6824cc2e68bfd6741e31305160a737e6e",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "0f2da238-9741-4019-a691-ddf17b523ca3",
"name": "์ฑํ
๋ฉ์์ง ์์ ์",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-880,
-20
],
"webhookId": "22c79cd1-0bd1-4bd1-bde0-88e0b3dcf553",
"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": "๋ค๋ฅธ ์ํฌํ๋ก์ฐ์ ์ํด ์คํ ์",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
-880,
-240
],
"parameters": {
"inputSource": "passthrough"
},
"typeVersion": 1.1
},
{
"id": "1bd808f6-bba4-43f5-b28c-d2c9a3dd0003",
"name": "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": "LinkedIn ํ๋กํ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ",
"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": {
"id": "jk945kIuAFAo9bcg",
"name": "BrightData account"
}
},
"typeVersion": 1
},
{
"id": "b84107a5-0a56-4ec9-82c9-3ef674613bb8",
"name": "OpenAI ์ฑํ
๋ชจ๋ธ",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-500,
140
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "oKzfvOwieOm4upQ2",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "27165580-6ed9-428e-a7dc-3c119519894c",
"name": "๋งํฌ ์ถ์ถ",
"type": "n8n-nodes-base.splitOut",
"position": [
40,
-240
],
"parameters": {
"options": {
"destinationFieldName": "url"
},
"fieldToSplitOut": "link"
},
"typeVersion": 1
},
{
"id": "2d0f43b7-4818-4f4d-aac4-862cd1bb8729",
"name": "๋ณธ๋ฌธ์์ ๋งํฌ ๊ฐ์ ธ์ค๊ธฐ",
"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": "LinkedIn ํ๋กํ๋ง ํํฐ๋ง",
"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": "์ ํ",
"type": "n8n-nodes-base.limit",
"position": [
480,
-240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "424f2539-c0ae-4228-ba9c-86ad15e24654",
"name": "AI ํ๋ก์คํํฐ ์์ด์ ํธ",
"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": "1๊ฐ Google ๊ฒฐ๊ณผ ๊ฐ์ ธ์ค๊ธฐ",
"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": {
"id": "jk945kIuAFAo9bcg",
"name": "BrightData account"
}
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"27165580-6ed9-428e-a7dc-3c119519894c": {
"main": [
[
{
"node": "c61dd9c4-9c64-4bdb-aaf4-0e7dcf6f340f",
"type": "main",
"index": 0
}
]
]
},
"a02120f5-aa93-4269-92af-2e7486768736": {
"ai_memory": [
[
{
"node": "424f2539-c0ae-4228-ba9c-86ad15e24654",
"type": "ai_memory",
"index": 0
}
]
]
},
"b84107a5-0a56-4ec9-82c9-3ef674613bb8": {
"ai_languageModel": [
[
{
"node": "424f2539-c0ae-4228-ba9c-86ad15e24654",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"df94a25c-a03e-46d9-92c8-5f0f3a5097f7": {
"main": [
[
{
"node": "2d0f43b7-4818-4f4d-aac4-862cd1bb8729",
"type": "main",
"index": 0
}
]
]
},
"2d0f43b7-4818-4f4d-aac4-862cd1bb8729": {
"main": [
[
{
"node": "27165580-6ed9-428e-a7dc-3c119519894c",
"type": "main",
"index": 0
}
]
]
},
"1bd808f6-bba4-43f5-b28c-d2c9a3dd0003": {
"ai_tool": [
[
{
"node": "424f2539-c0ae-4228-ba9c-86ad15e24654",
"type": "ai_tool",
"index": 0
}
]
]
},
"a7a7269a-e091-4327-ac67-a6f5f7946b25": {
"ai_tool": [
[
{
"node": "424f2539-c0ae-4228-ba9c-86ad15e24654",
"type": "ai_tool",
"index": 0
}
]
]
},
"0f2da238-9741-4019-a691-ddf17b523ca3": {
"main": [
[
{
"node": "424f2539-c0ae-4228-ba9c-86ad15e24654",
"type": "main",
"index": 0
}
]
]
},
"c61dd9c4-9c64-4bdb-aaf4-0e7dcf6f340f": {
"main": [
[
{
"node": "a689a9f6-d7a1-4e4c-8265-7753bbc41bdb",
"type": "main",
"index": 0
}
]
]
},
"ac560c1c-2e1e-4985-a398-6b837b89a7f3": {
"main": [
[
{
"node": "df94a25c-a03e-46d9-92c8-5f0f3a5097f7",
"type": "main",
"index": 0
}
]
]
}
}
}์ด ์ํฌํ๋ก์ฐ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์?
์์ JSON ๊ตฌ์ฑ ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ n8n ์ธ์คํด์ค์์ ์ ์ํฌํ๋ก์ฐ๋ฅผ ์์ฑํ๊ณ "JSON์์ ๊ฐ์ ธ์ค๊ธฐ"๋ฅผ ์ ํํ ํ, ๊ตฌ์ฑ์ ๋ถ์ฌ๋ฃ๊ณ ํ์์ ๋ฐ๋ผ ์ธ์ฆ ์ค์ ์ ์์ ํ์ธ์.
์ด ์ํฌํ๋ก์ฐ๋ ์ด๋ค ์๋๋ฆฌ์ค์ ์ ํฉํ๊ฐ์?
์ค๊ธ - ์์ , ์ธ๊ณต์ง๋ฅ
์ ๋ฃ์ธ๊ฐ์?
์ด ์ํฌํ๋ก์ฐ๋ ์์ ํ ๋ฌด๋ฃ์ด๋ฉฐ ์ง์ ๊ฐ์ ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค๋ง, ์ํฌํ๋ก์ฐ์์ ์ฌ์ฉํ๋ ํ์ฌ ์๋น์ค(์: OpenAI API)๋ ์ฌ์ฉ์ ์ง์ ๋น์ฉ์ ์ง๋ถํด์ผ ํ ์ ์์ต๋๋ค.
๊ด๋ จ ์ํฌํ๋ก์ฐ ์ถ์ฒ
Miquel Colomer
@mcolomerAs a passionate developer and AI agent creator, Iโve been at the forefront of automation, pioneering workflows and training AI to handle complex tasks seamlessly. Iโm an early adopter and expert of n8n, having worked with its powerful capabilities to create automation solutions for diverse industries. I founded n8nhackers, the first AI-powered agency focused on n8n, where we help businesses transform their workflows with cutting-edge automation.
์ด ์ํฌํ๋ก์ฐ ๊ณต์