
Upwork Job Poster Email
描述
分类
🤖 AI & Machine Learning
使用的节点
n8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.noOpn8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.httpRequest
价格免费
浏览量0
最后更新11/28/2025
workflow.json
{
"id": "wAomRf96IfSnpTA7",
"meta": {
"instanceId": "84ad02d6104594179f43f1ce9cfe3a81637b2faedb57dafcb9e649b7542988db",
"templateCredsSetupCompleted": true
},
"name": "Upwork Job Poster Email",
"tags": [],
"nodes": [
{
"id": "aa72ce26-28ae-4dab-982f-be16fa123d87",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
420,
360
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "wYwTjEv45IzlAOAu",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "94fba561-bc7e-4180-9b5d-beb9482b28b6",
"name": "Run Every X Hours",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
140
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "603403fa-6f4b-4124-90ee-f852954e67a4",
"name": "Fetch Latest Upwork Jobs (Apify)",
"type": "n8n-nodes-base.httpRequest",
"position": [
220,
140
],
"parameters": {
"url": "https://api.apify.com/v2/actor-tasks/<TASK_ID>/run-sync-get-dataset-items?token=<API_TOKEN>",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "0ed2ab83-1fcb-459c-aa6d-ef81c8414b45",
"name": "Extract Company or Person Name from Job",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
440,
140
],
"parameters": {
"text": "=Title: {{ $json.title }}\nDescription: {{ $json.description }}",
"options": {
"systemMessage": "\"Extract the client's name or company name if it is mentioned. Return only the name or 'null' if not found.\""
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "ccd6cf3c-2666-45eb-8dc3-6575180c897b",
"name": "Name is Found?",
"type": "n8n-nodes-base.if",
"position": [
800,
140
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7366a7c6-e767-4aea-96e1-0cbbcbb26100",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.output }}",
"rightValue": "null"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c9721e93-707d-45c1-a06b-68606157f995",
"name": "No Name Found - End Early",
"type": "n8n-nodes-base.noOp",
"position": [
1240,
320
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4164b6e9-9ba7-4fc6-a1b6-c976f626aea5",
"name": "Is It a Person or Company?",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1180,
40
],
"parameters": {
"text": "={{ $json.output }}",
"options": {
"systemMessage": "\"Extract the client's name or company name. Return only the 'person' if looks like a person's name if not return 'company'.\"\n"
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "93c7b341-6257-4ee2-a54f-ecbfcdf0f89b",
"name": "Person or Company?",
"type": "n8n-nodes-base.if",
"position": [
1540,
40
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "729e7baa-ae94-4661-a061-7d656faf820f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output }}",
"rightValue": "company"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7dcacf79-eb65-454c-97fd-16ea6aed2f94",
"name": "Search LinkedIn for Company (Phantombuster)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1960,
-120
],
"parameters": {
"url": "https://api.phantombuster.com/api/v2/agents/<AGENT_ID>/launch",
"method": "POST",
"options": {},
"jsonBody": "={\n \"argument\": {\n \"search\": {{ $json.output }},\n \"numberOfProfiles\": 5,\n \"sessionCookie\": \"<LINKEDIN_SESSION_COOKIE>\"\n },\n \"saveArguments\": true\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "X-Phantombuster-Key-1",
"value": "<YOUR_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "e2f7db77-373e-462a-bc57-57653e067e30",
"name": "Scrape LinkedIn Company Profile",
"type": "n8n-nodes-base.httpRequest",
"position": [
2180,
-120
],
"parameters": {
"url": "https://api.phantombuster.com/api/v2/agents/<AGENT_ID>/launch",
"method": "POST",
"options": {},
"jsonBody": "={\n \"argument\": {\n \"spreadsheetUrl\": {{ $json.profileUrl }},\n \"sessionCookie\": \"<LINKEDIN_SESSION_COOKIE>\"\n },\n \"saveArguments\": true\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "X-Phantombuster-Key-1",
"value": "<YOUR_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "14d7f669-dbc1-484e-b3c0-3d1e83d4c74f",
"name": "Find Company Email (Hunter.io)",
"type": "n8n-nodes-base.httpRequest",
"position": [
2400,
-120
],
"parameters": {
"url": "=https://api.hunter.io/v2/domain-search?domain{{ $json.website }}=&api_key=<YOUR_API_KEY>",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "4fd05ce5-495e-4d3a-8998-3120c3456e57",
"name": "Search LinkedIn for Person (Phantombuster)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1960,
1280
],
"parameters": {
"url": "https://api.phantombuster.com/api/v2/agents/<AGENT_ID>/launch",
"method": "POST",
"options": {},
"jsonBody": "{\n \"argument\": {\n \"search\": {{ $json.output }},\n \"numberOfProfiles\": 3,\n \"sessionCookie\": \"<LINKEDIN_SESSION_COOKIE>\"\n },\n \"saveArguments\": true\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "X-Phantombuster-Key-1",
"value": "<YOUR_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "f048e198-cc4b-4739-be7d-d3d885c6d2bb",
"name": "Scrape LinkedIn Person Profile",
"type": "n8n-nodes-base.httpRequest",
"position": [
2180,
1280
],
"parameters": {
"url": "https://api.phantombuster.com/api/v2/agents/<AGENT_ID>/launch",
"method": "POST",
"options": {},
"jsonBody": "={\n \"argument\": {\n \"spreadsheetUrl\": {{ $json.profileUrl }},\n \"sessionCookie\": \"<LINKEDIN_SESSION_COOKIE>\"\n },\n \"saveArguments\": true\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "X-Phantombuster-Key-1",
"value": "<YOUR_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "dbc8c317-b469-4125-b939-614524a0339b",
"name": "Find Personal Email (Hunter.io)",
"type": "n8n-nodes-base.httpRequest",
"position": [
2400,
1280
],
"parameters": {
"url": "=https://api.hunter.io/v2/email-finder?domain={{ $json.fullName }}=Ali%20Raza&api_key=<YOUR_API_KEY>",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "047146a8-2b02-4098-a0e9-f8366c42aa4f",
"name": "Store Results in Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
2760,
20
],
"parameters": {
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "Rp7XiR3hxJfv03ZO",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "1e9dee68-e0c2-4588-b6ca-666534d14dd4",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1820,
-2200
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n [email protected]\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "2085a7ca-f68b-490a-9dcb-3c96fc6a739d",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1820,
-1860
],
"parameters": {
"color": 4,
"width": 1289,
"height": 5558,
"content": "# 🚀 **Automated Upwork Lead Enrichment Workflow**\n\n> ✨ *Fetch potential clients from Upwork, extract their info using AI, search them on LinkedIn, gather emails, and store all in Google Sheets* ✨\n\n---\n\n## 🧩 **1. Trigger & Data Collection**\n\n---\n\n### ⏰ `Trigger - Run Every X Hours`\n\n**🔧 Node Type**: Schedule Trigger\n**🧠 Purpose**:\nThis node starts your automation periodically. You define how often it runs (e.g., every 6 hours, daily, etc.).\n\n**📚 Why It’s Important**:\nYou don’t want to manually check Upwork every few hours. This node automates it for you.\n\n---\n\n### 🌐 `Fetch Latest Upwork Jobs (Apify)`\n\n**🔧 Node Type**: HTTP Request\n**🧠 Purpose**:\nFetch the latest Upwork jobs by calling the [Apify Upwork Actor API](https://apify.com/).\n\n**⚙️ Tech Behind It**:\nA simple `GET` request pulls in structured job listings (title, description, budget, etc.) as JSON data.\n\n**💡 Beginner Tip**:\nNo coding needed—just copy your Apify API URL with your token and plug it into the node.\n\n---\n\n## 🤖 **2. AI Name Extraction**\n\n---\n\n### 🧠 `AI - Extract Company or Person Name from Job`\n\n**🔧 Node Type**: AI Agent / OpenAI Chat\n**🧠 Purpose**:\nUses GPT to scan the job title + description and extract a **company name or client’s full name**, if present.\n\n**📚 Why It’s Smart**:\nClients sometimes mention names like “Hi, we at DevSync...” or sign with their name at the bottom. This step grabs that.\n\n**🧠 AI Prompt Tip**:\nUse structured prompts like:\n\n> “Extract a full person or company name from this job description. If not found, say 'none’.”\n\n---\n\n### 🧪 `IF - Name is Found?`\n\n**🔧 Node Type**: IF\n**🧠 Purpose**:\nChecks whether the AI returned a name. If not, it skips that job.\n\n**🛑 `No Name Found - End Early`**\nStops further processing and prevents wasted API calls or errors.\n\n---\n\n## 🧭 **3. AI Classification – Person vs Company**\n\n---\n\n### 🧠 `AI - Is It a Person or Company?`\n\n**🔧 Node Type**: AI Agent\n**🧠 Purpose**:\nClassifies the extracted name as either a **company** or a **person** using simple AI logic.\n\n**🔍 Why It Matters**:\nDepending on what it is, the next step—searching LinkedIn—will differ.\n\n---\n\n### 🔀 `IF - Person or Company?`\n\n**🔧 Node Type**: IF\n**🧠 Purpose**:\nRoutes the flow to two different paths:\n\n* Company → Search company profile\n* Person → Search individual profile\n\n---\n\n## 🏢 **4A. Company Path**\n\n---\n\n### 🔍 `Search LinkedIn for Company (Phantombuster)`\n\n**🔧 Node Type**: HTTP Request\n**📡 Purpose**:\nUses [Phantombuster’s LinkedIn Search API](https://phantombuster.com/) to search for the **company name**.\n\n**📦 Input**: `\"DevSync\"`\n**📤 Output**: Company’s LinkedIn URL\n\n---\n\n### 🏭 `Scrape LinkedIn Company Profile`\n\n**🔧 Node Type**: HTTP Request\n**🔍 Purpose**:\nScrapes the company’s LinkedIn page to pull:\n\n* Size\n* Website\n* Industry\n* Location\n* Description\n\n---\n\n### 📬 `Find Company Email (Hunter.io)`\n\n**🔧 Node Type**: HTTP Request\n**🔍 Purpose**:\nUses [Hunter.io](https://hunter.io) to find company-level email addresses like `[email protected]`, `[email protected]`, etc.\n\n**📦 Input**: Company’s domain (e.g., `devsync.com`)\n**📤 Output**: Emails + Confidence Score\n\n---\n\n## 👤 **4B. Person Path**\n\n---\n\n### 🔍 `Search LinkedIn for Person (Phantombuster)`\n\n**🔧 Node Type**: HTTP Request\n**📡 Purpose**:\nSearches for the extracted **person’s name** like \"John Smith\" using Phantombuster.\n\n**📤 Output**: LinkedIn profile URL(s)\n\n---\n\n### 🧑💼 `Scrape LinkedIn Person Profile`\n\n**🔧 Node Type**: HTTP Request\n**📄 Purpose**:\nScrapes:\n\n* Name\n* Current Job Title\n* Company\n* Location\n* Education\n* LinkedIn URL\n\n---\n\n### ✉️ `Find Personal Email (Hunter.io)`\n\n**🔧 Node Type**: HTTP Request\n**🔍 Purpose**:\nAttempts to find personal emails using the name + company domain.\n\n**📤 Output**: Email (if public), sometimes with confidence score.\n\n---\n\n## 📑 **5. Store Everything in Google Sheets**\n\n---\n\n### 🧾 `Store Results in Google Sheet`\n\n**🔧 Node Type**: Google Sheets (Append Row)\n**🧠 Purpose**:\nSaves:\n\n* Job title\n* Description\n* Client Name\n* Person/Company\n* LinkedIn Profile\n* Scraped Info\n* Emails\n\n**📚 Why It’s Gold**:\nYou now have a **personal CRM of Upwork clients** to reach out to directly or research further.\n\n---\n\n## 🌟 **Summary of Benefits**\n\n| ✅ Feature | 💡 Benefit |\n| ---------------------- | ------------------------------------- |\n| Fully automated | Save hours of manual research |\n| Uses AI | No need to write complex regex or NLP |\n| Phantombuster scraping | Get verified LinkedIn profiles |\n| Hunter.io | Helps gather email leads |\n| Google Sheets | Easy to filter, review, and manage |\n\n---\n\n## 📌 **Beginner Tips**\n\n* 🧪 Start with dummy job data and test just the first few nodes.\n* 🔑 Always **secure your API keys** using environment variables or secrets.\n* 🧠 Use **n8n’s execution log** to debug any failures.\n* 🧹 Add rate-limiting or error handling if APIs return errors or limits.\n\n---\n\nWould you like a Notion-ready documentation, downloadable PDF, or HTML guide for your team or clients?\n"
},
"typeVersion": 1
},
{
"id": "5bda85dd-7559-4239-9b38-c887a39dbb54",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-2180
],
"parameters": {
"color": 3,
"width": 1800,
"height": 2680,
"content": "## 🧩 **1. Trigger & Data Collection**\n\n---\n\n### ⏰ `Trigger - Run Every X Hours`\n\n**🔧 Node Type**: Schedule Trigger\n**🧠 Purpose**:\nThis node starts your automation periodically. You define how often it runs (e.g., every 6 hours, daily, etc.).\n\n**📚 Why It’s Important**:\nYou don’t want to manually check Upwork every few hours. This node automates it for you.\n\n---\n\n### 🌐 `Fetch Latest Upwork Jobs (Apify)`\n\n**🔧 Node Type**: HTTP Request\n**🧠 Purpose**:\nFetch the latest Upwork jobs by calling the [Apify Upwork Actor API](https://apify.com/).\n\n**⚙️ Tech Behind It**:\nA simple `GET` request pulls in structured job listings (title, description, budget, etc.) as JSON data.\n\n**💡 Beginner Tip**:\nNo coding needed—just copy your Apify API URL with your token and plug it into the node.\n\n---\n\n## 🤖 **2. AI Name Extraction**\n\n---\n\n### 🧠 `AI - Extract Company or Person Name from Job`\n\n**🔧 Node Type**: AI Agent / OpenAI Chat\n**🧠 Purpose**:\nUses GPT to scan the job title + description and extract a **company name or client’s full name**, if present.\n\n**📚 Why It’s Smart**:\nClients sometimes mention names like “Hi, we at DevSync...” or sign with their name at the bottom. This step grabs that.\n\n**🧠 AI Prompt Tip**:\nUse structured prompts like:\n\n> “Extract a full person or company name from this job description. If not found, say 'none’.”\n\n---\n\n### 🧪 `IF - Name is Found?`\n\n**🔧 Node Type**: IF\n**🧠 Purpose**:\nChecks whether the AI returned a name. If not, it skips that job.\n\n**🛑 `No Name Found - End Early`**\nStops further processing and prevents wasted API calls or errors.\n\n---\n\n## 🧭 **3. AI Classification – Person vs Company**\n\n---\n\n### 🧠 `AI - Is It a Person or Company?`\n\n**🔧 Node Type**: AI Agent\n**🧠 Purpose**:\nClassifies the extracted name as either a **company** or a **person** using simple AI logic.\n\n**🔍 Why It Matters**:\nDepending on what it is, the next step—searching LinkedIn—will differ.\n\n---\n\n### 🔀 `IF - Person or Company?`\n\n**🔧 Node Type**: IF\n**🧠 Purpose**:\nRoutes the flow to two different paths:\n\n* Company → Search company profile\n* Person → Search individual profile"
},
"typeVersion": 1
},
{
"id": "aa30a465-97e4-449f-a0b4-07a97a0f3d2c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1880,
-1300
],
"parameters": {
"color": 5,
"width": 700,
"height": 1420,
"content": "## 🏢 **4A. Company Path**\n\n---\n\n### 🔍 `Search LinkedIn for Company (Phantombuster)`\n\n**🔧 Node Type**: HTTP Request\n**📡 Purpose**:\nUses [Phantombuster’s LinkedIn Search API](https://phantombuster.com/) to search for the **company name**.\n\n**📦 Input**: `\"DevSync\"`\n**📤 Output**: Company’s LinkedIn URL\n\n---\n\n### 🏭 `Scrape LinkedIn Company Profile`\n\n**🔧 Node Type**: HTTP Request\n**🔍 Purpose**:\nScrapes the company’s LinkedIn page to pull:\n\n* Size\n* Website\n* Industry\n* Location\n* Description\n\n---\n\n### 📬 `Find Company Email (Hunter.io)`\n\n**🔧 Node Type**: HTTP Request\n**🔍 Purpose**:\nUses [Hunter.io](https://hunter.io) to find company-level email addresses like `[email protected]`, `[email protected]`, etc.\n\n**📦 Input**: Company’s domain (e.g., `devsync.com`)\n**📤 Output**: Emails + Confidence Score\n\n---\n"
},
"typeVersion": 1
},
{
"id": "7d7ec4da-d52c-4563-94df-3dcf88c85ff0",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
160
],
"parameters": {
"color": 6,
"width": 640,
"height": 1300,
"content": "## 👤 **4B. Person Path**\n\n---\n\n### 🔍 `Search LinkedIn for Person (Phantombuster)`\n\n**🔧 Node Type**: HTTP Request\n**📡 Purpose**:\nSearches for the extracted **person’s name** like \"John Smith\" using Phantombuster.\n\n**📤 Output**: LinkedIn profile URL(s)\n\n---\n\n### 🧑💼 `Scrape LinkedIn Person Profile`\n\n**🔧 Node Type**: HTTP Request\n**📄 Purpose**:\nScrapes:\n\n* Name\n* Current Job Title\n* Company\n* Location\n* Education\n* LinkedIn URL\n\n---\n\n### ✉️ `Find Personal Email (Hunter.io)`\n\n**🔧 Node Type**: HTTP Request\n**🔍 Purpose**:\nAttempts to find personal emails using the name + company domain.\n\n**📤 Output**: Email (if public), sometimes with confidence score.\n\n---"
},
"typeVersion": 1
},
{
"id": "46f24197-38da-43a1-ba03-1e394169340a",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2680,
-520
],
"parameters": {
"color": 6,
"width": 260,
"height": 720,
"content": "## 📑 **5. Store Everything in Google Sheets**\n\n---\n\n### 🧾 `Store Results in Google Sheet`\n\n**🔧 Node Type**: Google Sheets (Append Row)\n**🧠 Purpose**:\nSaves:\n\n* Job title\n* Description\n* Client Name\n* Person/Company\n* LinkedIn Profile\n* Scraped Info\n* Emails"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Find Company Email (Hunter.io)": [
{
"json": {
"data": {
"domain": "devsync.io",
"emails": [
{
"type": "personal",
"value": "[email protected]",
"sources": [
{
"domain": "devsync.io",
"extracted_on": "2024-12-01",
"last_seen_on": "2025-05-30",
"still_on_page": true
}
],
"linkedin": "https://www.linkedin.com/in/aliraza-devsync",
"position": "Founder",
"last_name": "Raza",
"confidence": 95,
"department": "Executive",
"first_name": "Ali"
},
{
"type": "generic",
"value": "[email protected]",
"confidence": 100
}
],
"pattern": "{first}.{last}@devsync.io",
"webmail": false,
"disposable": false,
"organization": "DevSync"
},
"meta": {
"limit": 100,
"offset": 0,
"results": 2
}
}
}
],
"Scrape LinkedIn Person Profile": [
{
"json": {
"skills": [
"Python",
"Distributed Systems",
"Kubernetes",
"GCP"
],
"summary": "Experienced software engineer specializing in backend and distributed systems.",
"fullName": "John Doe",
"headline": "Senior Software Engineer at Google",
"location": "Mountain View, California, United States",
"education": [
{
"degree": "B.S. in Computer Science",
"school": "Stanford University",
"dateRange": "2012 – 2016"
}
],
"profileUrl": "https://www.linkedin.com/in/john-doe-123456/",
"connections": "500+ connections",
"experiences": [
{
"title": "Senior Software Engineer",
"company": "Google",
"location": "Mountain View, CA",
"dateRange": "Jan 2021 – Present",
"description": "Working on scalable cloud infrastructure and ML services."
},
{
"title": "Software Engineer",
"company": "Facebook",
"location": "Menlo Park, CA",
"dateRange": "2017 – 2021"
}
],
"profilePictureUrl": "https://media.licdn.com/dms/image/xyz.jpg"
}
}
],
"Find Personal Email (Hunter.io)": [
{
"json": {
"data": {
"email": "[email protected]",
"score": 93,
"domain": "devsync.io",
"company": "DevSync",
"twitter": null,
"position": "Founder",
"last_name": "Raza",
"first_name": "Ali",
"linkedin_url": "https://www.linkedin.com/in/aliraza-devsync",
"phone_number": null
},
"meta": {
"confidence": 93
}
}
}
],
"Scrape LinkedIn Company Profile": [
{
"json": {
"name": "DevSync",
"founded": "2021",
"website": "https://devsync.io",
"industry": "Computer Software",
"followers": 248,
"companySize": "11-50 employees",
"description": "DevSync is a real-time collaboration tool for distributed software teams.",
"linkedinUrl": "https://www.linkedin.com/company/devsync/",
"specialties": [
"Collaboration",
"Remote Work",
"Agile Tools"
],
"headquarters": "San Francisco, CA"
}
}
],
"Fetch Latest Upwork Jobs (Apify)": [
{
"json": {
"url": "https://www.upwork.com/job/React-developer_~01abcde12345fghij",
"title": "Looking for a React developer for long-term project",
"budget": 1000,
"client": {
"country": "United States",
"feedback": 4.9
},
"category": "Web, Mobile & Software Dev",
"postedAt": "2025-06-07T12:34:56Z",
"description": "We are a San Francisco-based startup called DevSync. We're building a real-time collaboration tool for remote teams..."
}
},
{
"json": {
"url": "https://www.upwork.com/job/AI-ML-Engineer_~01qwerty98765zxcvb",
"title": "AI/ML Engineer Needed for Predictive Model",
"budget": 2000,
"client": {
"country": "Canada",
"feedback": 4.7
},
"category": "Data Science & Analytics",
"postedAt": "2025-06-07T10:22:00Z",
"description": "Our company, BrightData Insights, needs help building a predictive model using open datasets..."
}
}
],
"Search LinkedIn for Person (Phantombuster)": [
{
"json": {
"name": "John Doe",
"title": "Senior Software Engineer at Google",
"location": "Mountain View, California, United States",
"profileUrl": "https://www.linkedin.com/in/john-doe-123456/",
"connectionDegree": "2nd",
"profilePictureUrl": "https://media.licdn.com/dms/image/xyz.jpg"
}
},
{
"json": {
"name": "Johnathan Doe",
"title": "AI Researcher at OpenAI",
"location": "San Francisco Bay Area",
"profileUrl": "https://www.linkedin.com/in/johnathan-doe-78910/",
"connectionDegree": "3rd",
"profilePictureUrl": "https://media.licdn.com/dms/image/abc.jpg"
}
}
],
"Search LinkedIn for Company (Phantombuster)": [
{
"json": {
"name": "DevSync",
"industry": "Computer Software",
"location": "San Francisco Bay Area",
"followers": 248,
"profileUrl": "https://www.linkedin.com/company/devsync/",
"description": "Real-time collaboration tool for remote teams.",
"linkedinSalesNavigatorUrl": null
}
},
{
"json": {
"name": "DevSync Co.",
"industry": "Information Technology & Services",
"location": "Toronto, Canada",
"followers": 123,
"profileUrl": "https://www.linkedin.com/company/devsync-co/",
"description": "Cloud-based productivity platform."
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "9c24521c-85cb-4dbe-b671-43cb6e038740",
"connections": {
"Name is Found?": {
"main": [
[
{
"node": "Is It a Person or Company?",
"type": "main",
"index": 0
}
],
[
{
"node": "No Name Found - End Early",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Extract Company or Person Name from Job",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Is It a Person or Company?",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Run Every X Hours": {
"main": [
[
{
"node": "Fetch Latest Upwork Jobs (Apify)",
"type": "main",
"index": 0
}
]
]
},
"Person or Company?": {
"main": [
[
{
"node": "Search LinkedIn for Company (Phantombuster)",
"type": "main",
"index": 0
}
],
[
{
"node": "Search LinkedIn for Person (Phantombuster)",
"type": "main",
"index": 0
}
]
]
},
"Is It a Person or Company?": {
"main": [
[
{
"node": "Person or Company?",
"type": "main",
"index": 0
}
]
]
},
"Find Company Email (Hunter.io)": {
"main": [
[
{
"node": "Store Results in Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Scrape LinkedIn Person Profile": {
"main": [
[
{
"node": "Find Personal Email (Hunter.io)",
"type": "main",
"index": 0
}
]
]
},
"Find Personal Email (Hunter.io)": {
"main": [
[
{
"node": "Store Results in Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Scrape LinkedIn Company Profile": {
"main": [
[
{
"node": "Find Company Email (Hunter.io)",
"type": "main",
"index": 0
}
]
]
},
"Fetch Latest Upwork Jobs (Apify)": {
"main": [
[
{
"node": "Extract Company or Person Name from Job",
"type": "main",
"index": 0
}
]
]
},
"Extract Company or Person Name from Job": {
"main": [
[
{
"node": "Name is Found?",
"type": "main",
"index": 0
}
]
]
},
"Search LinkedIn for Person (Phantombuster)": {
"main": [
[
{
"node": "Scrape LinkedIn Person Profile",
"type": "main",
"index": 0
}
]
]
},
"Search LinkedIn for Company (Phantombuster)": {
"main": [
[
{
"node": "Scrape LinkedIn Company Profile",
"type": "main",
"index": 0
}
]
]
}
}
}