Workflow: LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini
Integrations: emailSend, filter, form, formTrigger, html, if, limit, merge, noOp, set, splitOut

{"id": "nmVATBvrztDxZX6z", "meta": {"instanceId": "workflow-baf697a7", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:54.676047", "updatedAt": "2025-09-29T07:07:54.676059", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "ff6d4985-8b42-46d8-95c8-e80ff102440c", "name": "Extract Body and Title from Website", "type": "n8n-nodes-base.html", "position": [1600, -1120], "parameters": {"options": {"trimValues": true}, "operation": "extractHtmlContent", "dataPropertyName": "body", "extractionValues": {"values": [{"key": "YOUR_CREDENTIAL_HERE", "cssSelector": "title"}, {"key": "YOUR_CREDENTIAL_HERE", "cssSelector": "body"}]}}, "typeVersion": 1.2, "notes": "This html node performs automated tasks as part of the workflow."}, {"id": "4da21d9c-59d2-4151-a1ca-5e7a85cf0316", "name": "When User Completes Form", "type": "n8n-nodes-base.formTrigger", "position": [580, -1120], "webhookId": "41d0bffa-f5ca-4df7-b757-ca5a1e472b8a", "parameters": {"options": {"path": "search-user", "ignoreBots": true, "buttonLabel": "Get References"}, "formTitle": "Sales prospecting", "formFields": {"values": [{"fieldLabel": "Person Fullname", "placeholder": "Complete the fullname", "requiredField": true}, {"fieldLabel": "Person's company", "placeholder": "Complete the company", "requiredField": true}]}, "responseMode": "lastNode", "formDescription": "Complete the data of the prospect you want to analyze.\n\nA personalized follow-up email with insights and suggested outreach steps will be sent to you:"}, "typeVersion": 2.2, "notes": "This formTrigger node performs automated tasks as part of the workflow."}, {"id": "644fab8f-66c6-4ae5-984b-7e1e66c265a2", "name": "Get LinkedIn Entry on Google", "type": "n8n-nodes-brightdata.brightData", "position": [1280, -1120], "parameters": {"url": "{{ $env.BASE_URL }}", "zone": {"__rl": true, "mode": "list", "value": "web_unlocker1", "cachedResultName": "web_unlocker1"}, "format": "json", "country": {"__rl": true, "mode": "list", "value": "us", "cachedResultName": "us"}, "requestOptions": {}}, "credentials": {"brightdataApi": {"id": "jk945kIuAFAo9bcg", "name": "BrightData account"}}, "typeVersion": 1, "notes": "This brightData node performs automated tasks as part of the workflow."}, {"id": "e226ea33-a643-4396-9cbf-53901eeef89f", "name": "Parse Google Results", "type": "n8n-nodes-base.noOp", "position": [1920, -1120], "parameters": {"modelId": {"__rl": true, "mode": "list", "value": "gpt-4o-mini", "cachedResultName": "GPT-4O-MINI"}, "options": {}, "messages": {"values": [{"role": "system", "content": "=Extract Linkedin profiles from google results (link, fullname, position, company if possible). \n\nReturn a results property with all the parsed results including a property \"match\" if user matches the data entry values \"{{ $('When User Completes Form').item.json[\"Person Fullname\"].trim() }} {{ $('When User Completes Form').item.json[\"Person Position\"].trim() }} {{ $('When User Completes Form').item.json[\"Person's company\"].trim() }}\""}, {"content": "=The input text is:\n{{ $json.body }}"}, {"content": "=Categories to filter: {{ $('When User Completes Form').item.json.Category.join(',') }}"}]}, "jsonOutput": true}, "credentials": {"openAiApi": {"id": "oKzfvOwieOm4upQ2", "name": "OpenAi account"}}, "typeVersion": 1.8, "notes": "This openAi node performs automated tasks as part of the workflow."}, {"id": "8018f6c1-037b-4577-ae4c-d2129fe2ecf4", "name": "Form Not Found", "type": "n8n-nodes-base.form", "position": [2280, -800], "webhookId": "a509f577-231f-435f-b3c2-0fed718f0cc8", "parameters": {"operation": "completion", "respondWith": "showText", "responseText": "=We didn't found a person for \"{{ $('When User Completes Form').item.json[\"Person Fullname\"] }} {{ $('When User Completes Form').item.json[\"Person Fullname\"] }} {{ $('When User Completes Form').item.json[\"Person's company\"] }}\""}, "typeVersion": 1, "notes": "This form node performs automated tasks as part of the workflow."}, {"id": "3de33b35-63b5-419d-9719-b217c92767c6", "name": "Get only Matching Profiles", "type": "n8n-nodes-base.filter", "position": [1460, -820], "parameters": {"options": {}, "conditions": {"options": {"version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "loose"}, "combinator": "and", "conditions": [{"id": "51a15ff2-457c-4a96-bfad-fe6d29a8cd9f", "operator": {"name": "filter.operator.equals", "type": "string", "operation": "equals"}, "leftValue": "={{ $json.match }}", "rightValue": "true"}]}, "looseTypeValidation": true}, "typeVersion": 2.2, "notes": "This filter node performs automated tasks as part of the workflow."}, {"id": "b7e925b1-3b67-4b17-bcc1-10111ed41c32", "name": "Limit to 1 Profile", "type": "n8n-nodes-base.limit", "position": [1740, -820], "parameters": {}, "typeVersion": 1, "notes": "This limit node performs automated tasks as part of the workflow."}, {"id": "d4a6a867-6e9b-48d3-9ba2-0d9d2e803e67", "name": "Extract Parsed Results", "type": "n8n-nodes-base.splitOut", "position": [2340, -1120], "parameters": {"options": {}, "fieldToSplitOut": "message.content.results"}, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow."}, {"id": "daf17e0e-0fc9-45e4-9393-8ba3a60f868e", "name": "LinkedIn Profile is Found?", "type": "n8n-nodes-base.if", "position": [1960, -820], "parameters": {"options": {}, "conditions": {"options": {"version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "645d85d3-c5cc-4e51-a989-075c0a851449", "operator": {"type": "object", "operation": "exists", "singleValue": true}, "leftValue": "={{ $json }}", "rightValue": 1}]}}, "typeVersion": 2.2, "notes": "This if node performs automated tasks as part of the workflow."}, {"id": "300da9f8-6c24-4081-af96-ae09a1b513f8", "name": "Edit Url LinkedIn", "type": "n8n-nodes-base.set", "position": [940, -1120], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "6b95685b-3286-4643-bfa1-6335d3f8cb39", "name": "google_search", "type": "string", "value": "={{ $env.WEBHOOK_URL }}{{ encodeURIComponent($json[\"Person Fullname\"].trim() + \" \" + $json[\"Person's company\"].trim()) }}"}]}}, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "3ffaef02-ee98-4663-9a64-37907943427d", "name": "Edit Company Search", "type": "n8n-nodes-base.set", "position": [300, -860], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "6b95685b-3286-4643-bfa1-6335d3f8cb39", "name": "google_search", "type": "string", "value": "={{ $env.WEBHOOK_URL }}{{ encodeURIComponent($json[\"Person's company\"].trim()) }}"}]}}, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "29294eaa-4692-4c1b-806a-11bd32428fdd", "name": "Extract Body and Title from Website1", "type": "n8n-nodes-base.html", "position": [860, -860], "parameters": {"options": {"trimValues": true}, "operation": "extractHtmlContent", "dataPropertyName": "body", "extractionValues": {"values": [{"key": "YOUR_CREDENTIAL_HERE", "cssSelector": "title"}, {"key": "YOUR_CREDENTIAL_HERE", "cssSelector": "body"}]}}, "typeVersion": 1.2, "notes": "This html node performs automated tasks as part of the workflow."}, {"id": "e5232b69-eefe-4875-b339-54f7d2787863", "name": "Get Company on Google", "type": "n8n-nodes-brightdata.brightData", "position": [540, -860], "parameters": {"url": "{{ $env.BASE_URL }}", "zone": {"__rl": true, "mode": "list", "value": "web_unlocker1", "cachedResultName": "web_unlocker1"}, "format": "json", "country": {"__rl": true, "mode": "list", "value": "us", "cachedResultName": "us"}, "requestOptions": {}}, "credentials": {"brightdataApi": {"id": "jk945kIuAFAo9bcg", "name": "BrightData account"}}, "typeVersion": 1, "notes": "This brightData node performs automated tasks as part of the workflow."}, {"id": "a8696ab3-76f0-4b58-93d6-1b73f4c1d83a", "name": "Parse Google Results for Company", "type": "n8n-nodes-base.noOp", "position": [720, -420], "parameters": {"modelId": {"__rl": true, "mode": "list", "value": "gpt-4o-mini", "cachedResultName": "GPT-4O-MINI"}, "options": {}, "messages": {"values": [{"role": "system", "content": "=Get first entry matching company {{ $('When User Completes Form').item.json[\"Person's company\"] }}\n\nOutput first entry data in a content property"}, {"content": "=The input text is:\n{{ $json.body }}"}, {"content": "=Categories to filter: {{ $('When User Completes Form').item.json.Category.join(',') }}"}]}, "jsonOutput": true}, "credentials": {"openAiApi": {"id": "oKzfvOwieOm4upQ2", "name": "OpenAi account"}}, "typeVersion": 1.8, "notes": "This openAi node performs automated tasks as part of the workflow."}, {"id": "4b4a6ef2-92ae-4dee-aac1-081fb1a2dbd9", "name": "Split Out", "type": "n8n-nodes-base.splitOut", "position": [1080, -420], "parameters": {"options": {}, "fieldToSplitOut": "message.content"}, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow."}, {"id": "cbf625d0-097d-47e7-8ab0-fb2da9dc3f7c", "name": "Create a Followup for Company and Person", "type": "n8n-nodes-base.noOp", "position": [1500, -440], "parameters": {"modelId": {"__rl": true, "mode": "list", "value": "gpt-4o-mini", "cachedResultName": "GPT-4O-MINI"}, "options": {}, "messages": {"values": [{"role": "system", "content": "=Use data to analyze as a buyer persona. Find the best approach to connect for future champion in his company. Give recommendations and a concrete outreach steps.\n\nOutput report as raw html in a propety called content. Use tailwind for styles."}, {"content": "=The input text is:\n{{ JSON.stringify($json)}}"}]}, "jsonOutput": true}, "credentials": {"openAiApi": {"id": "oKzfvOwieOm4upQ2", "name": "OpenAi account"}}, "typeVersion": 1.8, "notes": "This openAi node performs automated tasks as part of the workflow."}, {"id": "6347e20c-b3f0-42ff-bc31-ddf4d13a4398", "name": "Merge", "type": "n8n-nodes-base.merge", "position": [1320, -440], "parameters": {"mode": "combine", "options": {}, "combineBy": "combineByPosition"}, "typeVersion": 3.1, "notes": "This merge node performs automated tasks as part of the workflow."}, {"id": "4df0fb38-dad4-4eda-876c-591111e98807", "name": "Send Email", "type": "n8n-nodes-base.emailSend", "position": [1880, -440], "webhookId": "1e6e9588-2bc6-4f05-8531-2d7ca8348d0c", "parameters": {"html": "={{ $json.message.content.content }}", "options": {}, "subject": "Next followup", "toEmail": "miquel@n8nhackers.com", "fromEmail": "miquel@n8nhackers.com"}, "credentials": {"smtp": {"id": "z3kiLWNZTH4wQaGy", "name": "SMTP account"}}, "typeVersion": 2.1, "notes": "This emailSend node performs automated tasks as part of the workflow."}, {"id": "5d28cc94-3193-48e6-9bad-f15baf403645", "name": "Form Email Sent", "type": "n8n-nodes-base.form", "position": [2120, -440], "webhookId": "a509f577-231f-435f-b3c2-0fed718f0cc8", "parameters": {"options": {}, "operation": "completion", "completionTitle": "Thank you!", "completionMessage": "We have sent you an email"}, "typeVersion": 1, "notes": "This form node performs automated tasks as part of the workflow."}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "ea9dab20-4b74-45d0-9bf9-b0c1a884fe81", "connections": {"e226ea33-a643-4396-9cbf-53901eeef89f": {"main": [[{"node": "error-handler-e226ea33-a643-4396-9cbf-53901eeef89f-e5925861", "type": "main", "index": 0}]]}, "a8696ab3-76f0-4b58-93d6-1b73f4c1d83a": {"main": [[{"node": "error-handler-a8696ab3-76f0-4b58-93d6-1b73f4c1d83a-91bd2efd", "type": "main", "index": 0}]]}, "cbf625d0-097d-47e7-8ab0-fb2da9dc3f7c": {"main": [[{"node": "error-handler-cbf625d0-097d-47e7-8ab0-fb2da9dc3f7c-c983685f", "type": "main", "index": 0}]]}, "4df0fb38-dad4-4eda-876c-591111e98807": {"main": [[{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-bba8d473", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-50b8db8e", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-90b4e1f7", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-1431ab95", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-2dbde25b", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-9619482e", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-b38a8287", "type": "main", "index": 0}], [{"node": "error-handler-4df0fb38-dad4-4eda-876c-591111e98807-d92e6e07", "type": "main", "index": 0}]]}}, "description": "Automated workflow: LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini. This workflow processes data and performs automated tasks.", "notes": "Excellent quality workflow: LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}