JD匹配分数
高级
这是一个HR, AI Summarization领域的自动化工作流,包含 37 个节点。主要使用 Code, GoogleDrive, GoogleSheets, ManualTrigger, Agent 等节点。 使用 Google Drive、Google Sheets 和 GPT-4o 评估简历与职位描述的匹配度
前置要求
- •Google Drive API 凭证
- •Google Sheets API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "7Pytou63ro4Ht10d",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "JD匹配分数",
"tags": [],
"nodes": [
{
"id": "b30ed071-9118-4b6c-9645-7f675c7f003a",
"name": "点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-432,
-112
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f9c22328-7675-4161-a984-a7704ad41e05",
"name": "下载文件",
"type": "n8n-nodes-base.googleDrive",
"position": [
16,
-112
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "7f63f5cf-8b71-4235-9a38-5fe3b2d01467",
"name": "从文件提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
240,
-112
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "73d898cf-26f3-468a-adc1-bd18589bea19",
"name": "下载文件1",
"type": "n8n-nodes-base.googleDrive",
"position": [
688,
-112
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "7ec0bfc6-497e-4121-bb5a-420067a9d63a",
"name": "从文件1提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
912,
-112
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "4958145c-c824-4606-b483-bad0f7a0ef4d",
"name": "AI 代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1136,
-112
],
"parameters": {
"text": "=Compare the following job description and resume, then score and evaluate according to the instructions.\n\nJob Description (JD):\n{{ $('Extract from File').item.json.text }}\n\nCandidate Resume:\n{{ $json.text }}\n\nReturn the evaluation in the required JSON format.",
"options": {
"systemMessage": "You are an AI resume evaluator.\nYour task is to compare a candidate’s resume against a provided job description and return a structured JSON evaluation.\nFollow these rules:\n\nEvaluate alignment between the job description (JD) and the resume.\n\nAssign a score (0–100) where:\n\n90–100 = Excellent fit\n\n70–89 = Good fit with some gaps\n\n50–69 = Moderate fit with significant gaps\n\nBelow 50 = Poor fit\n\nIdentify must_have_gaps → missing critical skills, experience, or qualifications explicitly required in the JD.\n\nIdentify nice_to_have_bonus → additional desirable skills, certifications, or achievements mentioned in the JD but not mandatory.\n\nProvide a summary (3–5 sentences) describing the overall fit and candidate potential.\n\nAlways return output in the following JSON format (no extra text, no markdown):"
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "2c36bdc0-ec36-4b8c-bd1e-54e40fdb87a1",
"name": "Azure OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
1232,
112
],
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"id": "C3WzT18XqF8OdVM6",
"name": "Azure Open AI account"
}
},
"typeVersion": 1
},
{
"id": "4cf138e8-9c52-4f5e-89cf-67e1d6b49f14",
"name": "搜索JD",
"type": "n8n-nodes-base.googleDrive",
"position": [
-208,
-112
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1KnopVQ7CIdUl5j9ICwijk1RG5w7050nW",
"cachedResultUrl": "https://drive.google.com/drive/folders/1KnopVQ7CIdUl5j9ICwijk1RG5w7050nW",
"cachedResultName": "JD store"
}
},
"options": {},
"resource": "fileFolder",
"returnAll": true
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "22daae51-9cb8-4584-8e1a-e8abcea3369f",
"name": "搜索简历",
"type": "n8n-nodes-base.googleDrive",
"position": [
464,
-112
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultUrl": "https://drive.google.com/drive/folders/1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultName": "Resume_store"
}
},
"options": {},
"resource": "fileFolder",
"returnAll": true
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "274e9346-1bbc-413b-8a29-0ba32a37f7df",
"name": "代码",
"type": "n8n-nodes-base.code",
"position": [
1536,
-112
],
"parameters": {
"jsCode": "return items.map(item => {\n let text = item.json.output;\n\n // Remove code fences like ```json ... ```\n text = text.replace(/```json|```/g, \"\").trim();\n\n let parsed = {};\n try {\n parsed = JSON.parse(text);\n } catch (err) {\n parsed = { error: \"Failed to parse JSON\", raw: text };\n }\n\n return { json: parsed };\n});"
},
"typeVersion": 2
},
{
"id": "e812463c-3796-4f43-9586-efbbf04f1930",
"name": "从文本创建文件",
"type": "n8n-nodes-base.googleDrive",
"position": [
1760,
-112
],
"parameters": {
"name": "={{ $('Search Resume').item.json.name }}_result-summary",
"content": "=Score: {{ $json.score }}\nmust have gaps: {{ $json.must_have_gaps }}\nnice to have bonus: {{ $json.nice_to_have_bonus }}\nsummary: {{ $json.summary }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultUrl": "https://drive.google.com/drive/folders/1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultName": "Resume_store"
},
"operation": "createFromText"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "6403b230-16ca-4e09-83e4-eadfe14d0fb2",
"name": "在表格中追加或更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1984,
-112
],
"parameters": {
"columns": {
"value": {
"Name": "John Doe",
"Score": "={{ $('Code').item.json.score }}",
"Summary": "={{ $('Code').item.json.summary }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone ",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Phone ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Years of experience",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Years of experience",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "skills",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "skills",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "curent role",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "curent role",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "education",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "education",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Name"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1424038785,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA/edit#gid=1424038785",
"cachedResultName": "Sheet2"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA/edit?usp=drivesdk",
"cachedResultName": "Resume store"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "s4dP1fNuVZ2gWvs3",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "156e51d2-5eb1-4db4-a108-58845354ef06",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
-528
],
"parameters": {
"width": 464,
"height": 1104,
"content": "## JD匹配分数工作流"
},
"typeVersion": 1
},
{
"id": "fbba0640-0175-437d-9760-cdbbdcc75ef8",
"name": "下载职位描述PDF",
"type": "n8n-nodes-base.googleDrive",
"position": [
2032,
1584
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "27e2a0af-070e-424a-beef-864ac39eae1a",
"name": "提取JD文本内容",
"type": "n8n-nodes-base.extractFromFile",
"position": [
2256,
1584
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "451af1bb-e02f-4964-afb2-6d7793954ec8",
"name": "下载候选人简历PDF",
"type": "n8n-nodes-base.googleDrive",
"position": [
2704,
1584
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "7f27b30a-b264-48a9-b42f-54ebca30becc",
"name": "提取简历文本内容",
"type": "n8n-nodes-base.extractFromFile",
"position": [
2928,
1584
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "db811ef4-01ad-4c2f-95f8-5513af29fa57",
"name": "AI简历评估代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3152,
1584
],
"parameters": {
"text": "=Compare the following job description and resume, then score and evaluate according to the instructions.\n\nJob Description (JD):\n{{ $('Extract JD Text Content').item.json.text }}\n\nCandidate Resume:\n{{ $json.text }}\n\nReturn the evaluation in the required JSON format.",
"options": {
"systemMessage": "You are an AI resume evaluator.\nYour task is to compare a candidate's resume against a provided job description and return a structured JSON evaluation.\nFollow these rules:\n\nEvaluate alignment between the job description (JD) and the resume.\n\nAssign a score (0–100) where:\n\n90–100 = Excellent fit\n\n70–89 = Good fit with some gaps\n\n50–69 = Moderate fit with significant gaps\n\nBelow 50 = Poor fit\n\nIdentify must_have_gaps → missing critical skills, experience, or qualifications explicitly required in the JD.\n\nIdentify nice_to_have_bonus → additional desirable skills, certifications, or achievements mentioned in the JD but not mandatory.\n\nProvide a summary (3–5 sentences) describing the overall fit and candidate potential.\n\nAlways return output in the following JSON format (no extra text, no markdown):"
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "ca6036ea-5fb9-4ca2-aa02-ef53dd890bec",
"name": "Azure OpenAI GPT-4模型",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
3248,
1808
],
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"id": "C3WzT18XqF8OdVM6",
"name": "Azure Open AI account"
}
},
"typeVersion": 1
},
{
"id": "92b8dec7-6906-40fc-978a-864a2b3c693a",
"name": "在Drive中查找职位描述",
"type": "n8n-nodes-base.googleDrive",
"position": [
1808,
1584
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1KnopVQ7CIdUl5j9ICwijk1RG5w7050nW",
"cachedResultUrl": "https://drive.google.com/drive/folders/1KnopVQ7CIdUl5j9ICwijk1RG5w7050nW",
"cachedResultName": "JD store"
}
},
"options": {},
"resource": "fileFolder",
"returnAll": true
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "ab51acb4-d1b4-456b-8570-e792678a0fdf",
"name": "在Drive中查找候选人简历",
"type": "n8n-nodes-base.googleDrive",
"position": [
2480,
1584
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultUrl": "https://drive.google.com/drive/folders/1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultName": "Resume_store"
}
},
"options": {},
"resource": "fileFolder",
"returnAll": true
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "1ea350f8-a3f2-4570-ac74-21cea7088082",
"name": "将AI响应解析为JSON",
"type": "n8n-nodes-base.code",
"position": [
3552,
1584
],
"parameters": {
"jsCode": "return items.map(item => {\n let text = item.json.output;\n\n // Remove code fences like ```json ... ```\n text = text.replace(/```json|```/g, \"\").trim();\n\n let parsed = {};\n try {\n parsed = JSON.parse(text);\n } catch (err) {\n parsed = { error: \"Failed to parse JSON\", raw: text };\n }\n\n return { json: parsed };\n});"
},
"typeVersion": 2
},
{
"id": "96787a98-f91a-40a1-89b9-baceff8249ee",
"name": "将评估报告保存到Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
3776,
1584
],
"parameters": {
"name": "={{ $('Find Candidate Resumes in Drive').item.json.name }}_result-summary",
"content": "=Score: {{ $json.score }}\nmust have gaps: {{ $json.must_have_gaps }}\nnice to have bonus: {{ $json.nice_to_have_bonus }}\nsummary: {{ $json.summary }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultUrl": "https://drive.google.com/drive/folders/1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
"cachedResultName": "Resume_store"
},
"operation": "createFromText"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gQtjXVGUgZru29qC",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "dc9cb8cc-34f6-4ce2-ae33-d929126a7370",
"name": "更新候选人数据库",
"type": "n8n-nodes-base.googleSheets",
"position": [
4000,
1584
],
"parameters": {
"columns": {
"value": {
"Name": "John Doe",
"Score": "={{ $('Parse AI Response to JSON').item.json.score }}",
"Summary": "={{ $('Parse AI Response to JSON').item.json.summary }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone ",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Phone ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Years of experience",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Years of experience",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "skills",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "skills",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "curent role",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "curent role",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "education",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "education",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Name"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1424038785,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA/edit#gid=1424038785",
"cachedResultName": "Sheet2"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA/edit?usp=drivesdk",
"cachedResultName": "Resume store"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "s4dP1fNuVZ2gWvs3",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "bb89e2d9-4f18-468f-8b28-a0aa8506b92b",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1072,
1728
],
"parameters": {
"width": 320,
"height": 240,
"content": "## 🚀 启动流程"
},
"typeVersion": 1
},
{
"id": "0343be16-153b-46f2-8675-b7928b289fb2",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1584,
1280
],
"parameters": {
"width": 320,
"height": 280,
"content": "## 📁 职位描述搜索"
},
"typeVersion": 1
},
{
"id": "2fe90bdf-4305-40a1-875c-1f773a4e0afb",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1904,
1792
],
"parameters": {
"width": 320,
"height": 260,
"content": "## 📥 下载JD文件"
},
"typeVersion": 1
},
{
"id": "efca102d-d66d-4d66-b314-45ed34287b69",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2144,
1280
],
"parameters": {
"width": 320,
"height": 260,
"content": "## 📄 提取JD文本"
},
"typeVersion": 1
},
{
"id": "02c627d4-877e-4d65-8e1d-7ccfbd0b5804",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2352,
1792
],
"parameters": {
"width": 320,
"height": 280,
"content": "## 🔍 简历搜索"
},
"typeVersion": 1
},
{
"id": "13d3d43a-f1b0-45fb-8dfb-7b63496102f9",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2576,
1264
],
"parameters": {
"width": 320,
"height": 260,
"content": "## 📥 下载简历"
},
"typeVersion": 1
},
{
"id": "610649af-431e-43dd-9278-0b095b194955",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2800,
1776
],
"parameters": {
"width": 320,
"height": 260,
"content": "## 📄 提取简历文本"
},
"typeVersion": 1
},
{
"id": "0c35ebd4-20fa-4ccc-bf38-65814afbbb5a",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
3088,
1216
],
"parameters": {
"width": 320,
"height": 320,
"content": "## 🤖 AI评估引擎"
},
"typeVersion": 1
},
{
"id": "32715c21-bd37-4edd-906c-73285919b97c",
"name": "便签9",
"type": "n8n-nodes-base.stickyNote",
"position": [
3168,
1968
],
"parameters": {
"width": 320,
"height": 260,
"content": "## ⚙️ AI模型配置"
},
"typeVersion": 1
},
{
"id": "458a71d5-705e-4107-b827-55188bbba6dc",
"name": "便签 10",
"type": "n8n-nodes-base.stickyNote",
"position": [
3472,
1264
],
"parameters": {
"width": 320,
"height": 280,
"content": "## 🔧 JSON解析器"
},
"typeVersion": 1
},
{
"id": "3c10aefc-1be1-415e-8707-8e5d44853dcf",
"name": "便签 11",
"type": "n8n-nodes-base.stickyNote",
"position": [
3680,
1824
],
"parameters": {
"width": 320,
"height": 280,
"content": "## 📊 保存报告"
},
"typeVersion": 1
},
{
"id": "a7615e89-8b92-4266-b9b6-95d574b5aca6",
"name": "便签12",
"type": "n8n-nodes-base.stickyNote",
"position": [
3904,
1280
],
"parameters": {
"width": 320,
"height": 280,
"content": "## 📈 数据库更新"
},
"typeVersion": 1
},
{
"id": "9b3d9948-3d7f-4491-abd5-2e7def378c83",
"name": "便签13",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
1056
],
"parameters": {
"width": 400,
"height": 600,
"content": "## 📋 JD匹配分数工作流概述"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "7e773013-c40d-4eab-b3ed-6f96bc6fe260",
"connections": {
"Code": {
"main": [
[
{
"node": "Create file from text",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Search JD": {
"main": [
[
{
"node": "Download file",
"type": "main",
"index": 0
}
]
]
},
"Download file": {
"main": [
[
{
"node": "Extract from File",
"type": "main",
"index": 0
}
]
]
},
"Search Resume": {
"main": [
[
{
"node": "Download file1",
"type": "main",
"index": 0
}
]
]
},
"Download file1": {
"main": [
[
{
"node": "Extract from File1",
"type": "main",
"index": 0
}
]
]
},
"Extract from File": {
"main": [
[
{
"node": "Search Resume",
"type": "main",
"index": 0
}
]
]
},
"Extract from File1": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Create file from text": {
"main": [
[
{
"node": "Append or update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Azure OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Extract JD Text Content": {
"main": [
[
{
"node": "Find Candidate Resumes in Drive",
"type": "main",
"index": 0
}
]
]
},
"Azure OpenAI GPT-4 Model": {
"ai_languageModel": [
[
{
"node": "AI Resume Evaluator Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AI Resume Evaluator Agent": {
"main": [
[
{
"node": "Parse AI Response to JSON",
"type": "main",
"index": 0
}
]
]
},
"Parse AI Response to JSON": {
"main": [
[
{
"node": "Save Evaluation Report to Drive",
"type": "main",
"index": 0
}
]
]
},
"Extract Resume Text Content": {
"main": [
[
{
"node": "AI Resume Evaluator Agent",
"type": "main",
"index": 0
}
]
]
},
"Download Job Description PDF": {
"main": [
[
{
"node": "Extract JD Text Content",
"type": "main",
"index": 0
}
]
]
},
"Download Candidate Resume PDF": {
"main": [
[
{
"node": "Extract Resume Text Content",
"type": "main",
"index": 0
}
]
]
},
"Find Job Descriptions in Drive": {
"main": [
[
{
"node": "Download Job Description PDF",
"type": "main",
"index": 0
}
]
]
},
"Find Candidate Resumes in Drive": {
"main": [
[
{
"node": "Download Candidate Resume PDF",
"type": "main",
"index": 0
}
]
]
},
"Save Evaluation Report to Drive": {
"main": [
[
{
"node": "Update Candidate Database",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Search JD",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 人力资源, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
面试官简报包
使用Google表格和GPT-4o从简历生成AI驱动的面试简报
Code
Gmail
Google Drive
+6
16 节点Rahul Joshi
人力资源
恢复收件箱到表格自动化
从Gmail解析简历至Google Sheets - 使用Azure OpenAI GPT-4o
Code
Gmail
Google Drive
+6
18 节点Rahul Joshi
人力资源
Drive到ClickUp简历自动化
使用GPT-4o和Google表格从Google Drive处理简历到ClickUp
Code
Click Up
Google Drive
+6
16 节点Rahul Joshi
人力资源
技能矩阵提取器
使用Google Drive和GPT-4o将技能矩阵提取至Google表格
Code
Google Drive
Google Sheets
+5
17 节点Rahul Joshi
杂项
JSON 检查自动化
使用 GPT-4 和 LangChain 验证 n8n JSON 工作流:从 Google Drive 到 Sheets
Google Drive
Google Sheets
Manual Trigger
+6
16 节点Rahul Joshi
工程
结构化面试反馈收集
使用GPT-4o-mini、Gmail和ClickUp任务跟踪自动化候选人拒绝
If
Code
Gmail
+6
18 节点Rahul Joshi
人力资源
工作流信息
难度等级
高级
节点数量37
分类2
节点类型8
作者
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
外部链接
在 n8n.io 查看 →
分享此工作流