8
n8n 中文网amn8n.com

使用Decodo和GPT-4o-mini进行LinkedIn人才情报与数据挖掘

高级

这是一个HR, AI RAG领域的自动化工作流,包含 19 个节点。主要使用 Set, Code, Merge, Function, GoogleSheets 等节点。 利用LinkedIn、Decodo和GPT-4o-mini提取并分析人才情报与数据挖掘

前置要求
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "FsM5tVDtDHt1mXCp",
  "meta": {
    "instanceId": "885b4fb4a6a9c2cb5621429a7b972df0d05bb724c20ac7dac7171b62f1c7ef40",
    "templateCredsSetupCompleted": true
  },
  "name": "使用 Decodo 和 GPT-4o-mini 进行 LinkedIn 人才情报和数据挖掘",
  "tags": [
    {
      "id": "ddPkw7Hg5dZhQu2w",
      "name": "AI",
      "createdAt": "2025-04-13T05:38:08.053Z",
      "updatedAt": "2025-04-13T05:38:08.053Z"
    },
    {
      "id": "ZOwtAMLepQaGW76t",
      "name": "Building Blocks",
      "createdAt": "2025-04-13T15:23:40.462Z",
      "updatedAt": "2025-04-13T15:23:40.462Z"
    },
    {
      "id": "Kujft2FOjmOVQAmJ",
      "name": "Engineering",
      "createdAt": "2025-04-09T01:31:00.558Z",
      "updatedAt": "2025-04-09T01:31:00.558Z"
    },
    {
      "id": "rKOa98eAi3IETrLu",
      "name": "HR",
      "createdAt": "2025-04-13T04:59:30.580Z",
      "updatedAt": "2025-04-13T04:59:30.580Z"
    }
  ],
  "nodes": [
    {
      "id": "ebfaa6a4-3400-4867-bea6-4d88beee5661",
      "name": "当点击\"执行工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -144,
        128
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ca339fd3-e09e-4a2b-a370-b903853769db",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        320
      ],
      "parameters": {
        "width": 496,
        "height": 688,
        "content": "## 目的"
      },
      "typeVersion": 1
    },
    {
      "id": "75947f51-f304-478b-b7f3-1a5c824cd7a0",
      "name": "Decodo",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        352,
        128
      ],
      "parameters": {
        "geo": "={{ $json.geo }}",
        "url": "={{ $json.url }}"
      },
      "credentials": {
        "decodoApi": {
          "id": "7xLvINFuwxDiyBde",
          "name": "Decodo Credentials account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1
    },
    {
      "id": "0342ac07-77f0-4ae5-a98a-1ded33654cd0",
      "name": "设置输入字段",
      "type": "n8n-nodes-base.set",
      "position": [
        112,
        128
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "01a2dade-6674-4158-8303-97a1151d3965",
              "name": "url",
              "type": "string",
              "value": "https://www.linkedin.com/in/ranjan-dailata/"
            },
            {
              "id": "82a8ccde-dc3c-4ed1-b81e-bbcf44a2cf11",
              "name": "geo",
              "type": "string",
              "value": "India"
            },
            {
              "id": "b8104d33-8d7a-415c-935b-1e8432b8a756",
              "name": "jobDescription",
              "type": "string",
              "value": "Senior Software Engineer with 5+ years of experience in React, Node.js, and cloud technologies. Must have experience with AWS, Docker, and agile development methodologies. Looking for someone who can lead technical projects and mentor junior developers."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "46ef866f-63fc-4a8e-9dae-16a5efb851e4",
      "name": "结构化数据提取器",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        720,
        -208
      ],
      "parameters": {
        "text": "=Parse and build content using {{ $json.data.results[0].content }} in JSON Resume Schema.\n\nDo not output your own response or thoughts or suggestions. \n\nNeed to output a proper fully formatted JSON response.",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are an expert resume parser"
            }
          ]
        },
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 1.7,
      "alwaysOutputData": true
    },
    {
      "id": "9bcbd10e-5ca1-4c28-be64-9aa847d81f57",
      "name": "高级数据挖掘与个人资料-职位分析",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        720,
        176
      ],
      "parameters": {
        "text": "=Perform advanced data mining analysis on the candidate profile and job description.\n\nCandidate Profile:\n{{ $json.data.results[0].content }}\n\nJob Description:\n{{ $('Set the Input Fields').item.json.jobDescription }}\n\nConduct comprehensive data mining including:\n\n1. SKILLS ANALYSIS:\n- Technical skills extraction and categorization\n- Skill level assessment (Beginner/Intermediate/Advanced/Expert)\n- Skills gap analysis against job requirements\n- Transferable skills identification\n\n2. EXPERIENCE INTELLIGENCE:\n- Career progression pattern analysis\n- Industry experience depth assessment\n- Leadership and management experience evaluation\n- Project complexity and scale analysis\n\n3. CULTURAL & CONTEXTUAL FIT:\n- Company culture alignment indicators\n- Work style preferences inference\n- Communication style analysis\n- Learning agility indicators\n\n4. CAREER TRAJECTORY INSIGHTS:\n- Career growth velocity\n- Job stability patterns\n- Promotion frequency analysis\n- Industry transition analysis\n\n5. COMPETITIVE ADVANTAGES:\n- Unique selling points identification\n- Market positioning analysis\n- Salary expectation indicators\n- Availability timeline assessment\n\nOutput comprehensive JSON with data-driven insights for recruitment decisions.\n\nDo not output your own response or thoughts or suggestions. \n\nNeed to output a proper fully formatted JSON response.",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are a senior data scientist and HR analytics expert specializing in talent intelligence and predictive recruitment analytics."
            }
          ]
        },
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 1.7,
      "alwaysOutputData": true
    },
    {
      "id": "e73a1e3d-1bf8-4fa6-897d-30a7210ea044",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 384,
        "height": 208,
        "content": "![Logo](https://cdn.brandfetch.io/idIeG9_eXK/w/100/h/100/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1756483136894)"
      },
      "typeVersion": 1
    },
    {
      "id": "216e80b9-2856-4eea-b19f-48330ad815c9",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        -288
      ],
      "parameters": {
        "color": 4,
        "width": 608,
        "height": 1104,
        "content": "## 数据挖掘器"
      },
      "typeVersion": 1
    },
    {
      "id": "9276bfc2-eca8-45cc-8ae6-3882a0862e5e",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        1376,
        160
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "460a778d-cb17-4265-821a-a36b0c387772",
      "name": "在表格中追加或更新行",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1600,
        176
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oNScKT5lCIFJTXZ006vAu5IJEC_nWHTOil56tvB3JYU/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1oNScKT5lCIFJTXZ006vAu5IJEC_nWHTOil56tvB3JYU",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oNScKT5lCIFJTXZ006vAu5IJEC_nWHTOil56tvB3JYU/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn Talent Intelligence"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Zjoxh2BUZ6VXGQhA",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "6b579358-223c-4eff-a7dd-f7b521358f7f",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        784,
        336
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "vPKynKbDzJ5ZU4cU",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "05fad9fa-8048-403e-9b3a-0e423325d4c1",
      "name": "用于结构化数据提取的 OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        736,
        -48
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "vPKynKbDzJ5ZU4cU",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4b71fb93-4540-476a-8346-bd0f1e6462f6",
      "name": "摘要生成器",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        736,
        480
      ],
      "parameters": {
        "text": "=Perform abstractive and comprehensive summarize of the following  {{ $json.data.results[0].content }} in JSON Resume Schema",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "You are an expert resume summarizer"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "retryOnFail": true,
      "typeVersion": 1.7,
      "alwaysOutputData": true
    },
    {
      "id": "392c533e-3235-4953-9bf9-5235a8bc5922",
      "name": "用于摘要生成器的 OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        704,
        656
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "vPKynKbDzJ5ZU4cU",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2e8fcea6-7f49-42da-8306-c4b8dab49b25",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        912,
        656
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"abstractive_summarizer\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n      \"comprehensive_summarizer\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "b978cfed-6490-4d2b-9910-b1ae1f5f352d",
      "name": "从磁盘读取/写入文件",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        1584,
        -176
      ],
      "parameters": {
        "options": {},
        "fileName": "=C:\\\\{{ $('Extract Structured JSON').item.json.basics.name }}.json",
        "operation": "write",
        "dataPropertyName": "=data"
      },
      "typeVersion": 1
    },
    {
      "id": "489bbb08-e7e3-4f52-8ed3-6be3b3dde98e",
      "name": "Make Binary",
      "type": "n8n-nodes-base.function",
      "position": [
        1376,
        -176
      ],
      "parameters": {
        "functionCode": "items[0].binary = {\n  data: {\n    data: new Buffer(JSON.stringify(items[0].json, null, 2)).toString('base64')\n  }\n};\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "id": "e8e2248f-a2fe-41b9-822d-029a6b882ccf",
      "name": "提取结构化 JSON",
      "type": "n8n-nodes-base.code",
      "position": [
        1184,
        -32
      ],
      "parameters": {
        "jsCode": "let text =  $input.first().json.text;\nconst output = [];\n\n// Remove ```json ... ``` or ``` ... ``` wrappers\ntext = text\n      .replace(/```json\\s*/gi, '')\n      .replace(/```/g, '')\n      .trim();\n\n// Parse the cleaned JSON text\nconst parsed = JSON.parse(text);\noutput.push({ json: parsed });\n\nreturn output;"
      },
      "typeVersion": 2
    },
    {
      "id": "7e42f48d-a3a0-45d7-a3d9-87294702b618",
      "name": "提取格式化 JSON",
      "type": "n8n-nodes-base.code",
      "position": [
        1152,
        176
      ],
      "parameters": {
        "jsCode": "let text =  $input.first().json.text;\nconst output = [];\n\n// Remove ```json ... ``` or ``` ... ``` wrappers\ntext = text\n      .replace(/```json\\s*/gi, '')\n      .replace(/```/g, '')\n      .trim();\n\n// Parse the cleaned JSON text\nconst parsed = JSON.parse(text);\noutput.push({ json: parsed });\n\nreturn output;"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2b574170-fea3-4899-a26f-5a8e95632934",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decodo": {
      "main": [
        [
          {
            "node": "Structured Data Extractor",
            "type": "main",
            "index": 0
          },
          {
            "node": "Advanced Data Mining & Profile-Job Analysis",
            "type": "main",
            "index": 0
          },
          {
            "node": "Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarizer": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Make Binary": {
      "main": [
        [
          {
            "node": "Read/Write Files from Disk",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Advanced Data Mining & Profile-Job Analysis",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set the Input Fields": {
      "main": [
        [
          {
            "node": "Decodo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract formatted JSON": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Extract Structured JSON": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          },
          {
            "node": "Make Binary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Summarizer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Data Extractor": {
      "main": [
        [
          {
            "node": "Extract Structured JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        []
      ]
    },
    "OpenAI Chat Model for Summarizer": {
      "ai_languageModel": [
        [
          {
            "node": "Summarizer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Set the Input Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Advanced Data Mining & Profile-Job Analysis": {
      "main": [
        [
          {
            "node": "Extract formatted JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model for Structured Data Extract": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Data Extractor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 人力资源, AI RAG 检索增强

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量19
分类2
节点类型12
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Ranjan Dailata

Ranjan Dailata

@ranjancse

A Professional based out of India specialized in handling AI-powered automations. Contact me at ranjancse@gmail.com

外部链接
在 n8n.io 查看

分享此工作流