N
n8n Store
Workflow Market
Upwork Job Poster Email

Upwork Job Poster Email

by yaron-nofluff0 views

描述

分类

🤖 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
          }
        ]
      ]
    }
  }
}

相关工作流