技能差距 → 培训推荐
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 27 个节点。主要使用 If, Code, Gmail, GoogleDrive, GoogleSheets 等节点。 为 HR 团队使用 GPT-4o、Google Sheets 和 Gmail 个性化候选人反馈
前置要求
- •Google 账号和 Gmail API 凭证
- •Google Drive API 凭证
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (27)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "yJCeYlxqx7UUotqy",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177"
},
"name": "技能差距 → 培训推荐",
"tags": [],
"nodes": [
{
"id": "be44de54-9c31-45da-aac1-fae1dabef3bb",
"name": "当点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
160,
-112
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b814bb56-45a5-470b-99c6-d86eee0a9c7b",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2160,
336
],
"parameters": {
"width": 352,
"height": 400,
"content": "## 🙏 礼貌拒绝 + 学习计划"
},
"typeVersion": 1
},
{
"id": "d725ed44-7c21-4d2b-9438-7cdbfc72c4f6",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2720,
-544
],
"parameters": {
"width": 304,
"height": 368,
"content": "## 📧 候选人邮件发送器 - 入围者"
},
"typeVersion": 1
},
{
"id": "8dce4943-50d5-4e04-a087-3d137c12263b",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2144,
-768
],
"parameters": {
"width": 400,
"height": 352,
"content": "## 🎉 祝贺 + 入职计划"
},
"typeVersion": 1
},
{
"id": "e7449bde-b1ca-4962-a2b7-c67a82e05342",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2176,
-176
],
"parameters": {
"width": 480,
"height": 272,
"content": "## 🤖 LLM 后端"
},
"typeVersion": 1
},
{
"id": "5570e85e-58b1-464e-a901-17ddb6870441",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
-576
],
"parameters": {
"width": 272,
"height": 416,
"content": "## 📄 PDF → 文本提取器"
},
"typeVersion": 1
},
{
"id": "13bd06cb-af9f-43cc-b953-c197828c446d",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1088,
320
],
"parameters": {
"height": 464,
"content": "## ⚠️ 错误日志记录"
},
"typeVersion": 1
},
{
"id": "00e5b685-e037-4fe6-88fb-e09ddea4bfa0",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
48
],
"parameters": {
"width": 272,
"height": 432,
"content": "## ✅/❌ 简历文件检查"
},
"typeVersion": 1
},
{
"id": "10876e91-a0bf-4281-9d10-dbf1a71c187d",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-544
],
"parameters": {
"width": 288,
"height": 400,
"content": "## 📥 简历下载器"
},
"typeVersion": 1
},
{
"id": "054d2b9a-627a-46bc-a7e8-99a6f2080db6",
"name": "便签9",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
64
],
"parameters": {
"width": 288,
"height": 432,
"content": "## 📑 候选人数据获取"
},
"typeVersion": 1
},
{
"id": "56d51999-418d-4df5-bf74-c7395a07aa7e",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
2672,
112
],
"parameters": {
"width": 272,
"height": 400,
"content": "## 📧 候选人邮件发送器 - 拒绝者"
},
"typeVersion": 1
},
{
"id": "4a8d8604-b798-432c-8df5-f9bcbfe13816",
"name": "便签11",
"type": "n8n-nodes-base.stickyNote",
"position": [
1552,
-592
],
"parameters": {
"width": 304,
"height": 432,
"content": "## 🎯 入围 vs 拒绝"
},
"typeVersion": 1
},
{
"id": "c66a244d-b7ec-4fcf-a8b6-867f6ea86df5",
"name": "便签12",
"type": "n8n-nodes-base.stickyNote",
"position": [
1376,
16
],
"parameters": {
"width": 272,
"height": 464,
"content": "## 🧩 候选人数据构建器"
},
"typeVersion": 1
},
{
"id": "b5e9d9e8-54f7-4068-9be8-6c57f64c5992",
"name": "📑 候选人数据获取",
"type": "n8n-nodes-base.googleSheets",
"position": [
416,
-112
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
"cachedResultName": "Interviewer Brief Pack "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4
},
{
"id": "c7437cf6-5813-408f-9c3e-5026ad1d8ef6",
"name": "📥 简历下载器",
"type": "n8n-nodes-base.googleDrive",
"position": [
672,
-112
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $json[\"Resume Link\"] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "E7nEqUL27GUx1xHa",
"name": "Techdome Account"
}
},
"typeVersion": 3
},
{
"id": "ebf66f0f-2b52-4c19-946d-ffb37ed62476",
"name": "简历文件检查",
"type": "n8n-nodes-base.if",
"position": [
880,
-112
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ccbf3814-369c-4dc8-9a47-8aa496da368a",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "{{ $json.data }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d2097c78-69ea-426f-a325-d6eaea9011ed",
"name": "错误日志",
"type": "n8n-nodes-base.googleSheets",
"position": [
1168,
160
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1338537721,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=1338537721",
"cachedResultName": "error log sheet"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
"cachedResultName": "Interviewer Brief Pack "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4.7
},
{
"id": "034504d1-bdcc-49e0-a88f-a3905001eab3",
"name": "PDF → 文本提取器",
"type": "n8n-nodes-base.extractFromFile",
"position": [
1184,
-128
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "aac37887-0a3e-4d4d-ad84-878833ec4ad9",
"name": "候选人数据构建器",
"type": "n8n-nodes-base.code",
"position": [
1424,
-128
],
"parameters": {
"jsCode": "// Get PDF extracted data\nconst pdfData = $json;\n\n// Get original Google Sheets row (from earlier node)\nconst sheetData = $item(0).$node[\"📑 Candidate Data Fetch\"].json;\n\nreturn [{\n json: {\n candidateName: sheetData[\"Candidate Name\"],\n email: sheetData[\"Email\"],\n resumeLink: sheetData[\"Resume Link\"],\n experience: sheetData[\"Experience\"],\n jdTitle: sheetData[\"JD Title\"],\n jdKeyRequirements: sheetData[\"JD Key Requirements\"],\n notes: sheetData[\"Notes\"],\n skills_sheet: sheetData[\"Skills\"], // skills column from sheet\n status: sheetData[\"Status\"], // ✅ include status from sheet\n resumeText: pdfData.text // raw resume text\n }\n}];\n"
},
"typeVersion": 2
},
{
"id": "643e3a82-f587-494e-a744-9ca92c06e876",
"name": "入围 vs 拒绝",
"type": "n8n-nodes-base.if",
"position": [
1632,
-128
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "39d3ca19-fe1f-42c4-b0dd-54b2069b5a34",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{$json.status}}",
"rightValue": "Shortlisted"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e35e2e2f-ecc0-442e-8731-d4a85caf9129",
"name": "LLM 后端",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
2064,
-112
],
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"id": "C3WzT18XqF8OdVM6",
"name": "Azure Open AI account"
}
},
"typeVersion": 1
},
{
"id": "4d81897f-89cd-4f7f-9c85-17dd8f153675",
"name": "便签13",
"type": "n8n-nodes-base.stickyNote",
"position": [
1728,
496
],
"parameters": {
"width": 368,
"height": 320,
"content": "## 🤖 LLM 后端"
},
"typeVersion": 1
},
{
"id": "652033a3-0bb9-4eaa-8126-60d8bfe5c963",
"name": "LLM 后端1",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
1920,
368
],
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"id": "C3WzT18XqF8OdVM6",
"name": "Azure Open AI account"
}
},
"typeVersion": 1
},
{
"id": "2596cbb6-bb80-43bc-bce1-477021f2c997",
"name": "祝贺 + 入职计划",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2176,
-384
],
"parameters": {
"text": "=Candidate Details:\n- Name: {{ $json.candidateName }}\n- Email: {{ $json.email }}\n- Experience: {{ $json.experience }}\n- Resume (text extract): {{ $json.resumeText }}\n\nJob Information:\n- Job Title: {{ $json.jdTitle }}\n- Key Requirements: {{ $json.jdKeyRequirements }}\n- Candidate Skills (from Sheet): {{ $json.skills_sheet }}\n- Notes: {{ $json.notes }}\n\nTask:\nGenerate a congratulatory onboarding email titled “Learning Plan for {{ $json.candidateName }}” \nwith Skill Gaps, Recommended Courses, and Next Steps. \nHighlight that this plan will guide their onboarding.\n",
"batching": {},
"messages": {
"messageValues": [
{
"message": "You are an onboarding assistant. Write a warm, congratulatory email in HTML. Congratulate the candidate for being shortlisted and clearly mention that the following learning plan is part of their onboarding journey. Include sections for Skill Gaps, Recommended Courses (with real Coursera/Udemy/LinkedIn Learning links), and Next Steps. Use a positive, professional, and encouraging tone. Return only clean HTML (no explanations)."
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "2212e77e-f9d1-4bd3-9aa5-4f35ab849e27",
"name": "礼貌拒绝 + 学习计划",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2128,
176
],
"parameters": {
"text": "=Candidate Details:\n- Name: {{ $json.candidateName }}\n- Email: {{ $json.email }}\n- Experience: {{ $json.experience }}\n- Resume (text extract): {{ $json.resumeText }}\n\nJob Information:\n- Job Title: {{ $json.jdTitle }}\n- Key Requirements: {{ $json.jdKeyRequirements }}\n- Candidate Skills (from Sheet): {{ $json.skills_sheet }}\n- Notes: {{ $json.notes }}\n\nTask:\n1. Compare the candidate’s skills and resume with the job requirements.\n2. Identify the missing or weaker skills (skill gaps).\n3. For each skill gap, suggest 1–2 relevant online courses with real URLs (Coursera, Udemy, LinkedIn Learning).\n4. Write a polished, professional HTML email titled “Learning Plan for {{ $json.candidateName }}”.\n5. The HTML should include sections: **Skill Gaps**, **Recommended Courses**, and **Next Steps**.\n6. Keep tone polite, constructive, and encouraging.\n7. Return only the final HTML (no explanations, no markdown).\n",
"batching": {},
"messages": {
"messageValues": [
{
"message": "You are a Skill Gap & Learning Plan Generator. Compare a candidate’s resume skills with the job’s required skills. 1. Identify missing or weaker skills (skill gaps). 2. For each gap, recommend 1–2 high-quality online courses with real URLs (Coursera, Udemy, LinkedIn Learning). 3. Build a short, encouraging Learning Plan in clean HTML (headings, bullet points, links). 4. Always include at least one free course option if possible. 5. Keep tone polite, constructive, and employer-brand friendly."
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "30e10fc2-8e1c-4cae-ba9d-88d38f364d03",
"name": "候选人邮件发送器 - 入围者",
"type": "n8n-nodes-base.gmail",
"position": [
2528,
-384
],
"webhookId": "0c82c299-6938-42ed-bda6-5007d79af34f",
"parameters": {
"sendTo": "={{ $('📑 Candidate Data Fetch').item.json.Email }}",
"message": "={{ $json.text }}",
"options": {},
"subject": "Your Personalized Learning Plan"
},
"credentials": {
"gmailOAuth2": {
"id": "RchiXdmY8WaQhOSJ",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "9d63e1fd-a697-4bf5-aff5-e29588675413",
"name": "候选人邮件发送器 - 拒绝者",
"type": "n8n-nodes-base.gmail",
"position": [
2480,
176
],
"webhookId": "0c82c299-6938-42ed-bda6-5007d79af34f",
"parameters": {
"sendTo": "={{ $('📑 Candidate Data Fetch').item.json.Email }}",
"message": "={{ $json.text }}",
"options": {},
"subject": "Your Personalized Learning Plan"
},
"credentials": {
"gmailOAuth2": {
"id": "RchiXdmY8WaQhOSJ",
"name": "Gmail account"
}
},
"typeVersion": 2.1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "dc10189d-a8a2-42d5-a9d5-9788a4fc8f3b",
"connections": {
"LLM Backend": {
"ai_languageModel": [
[
{
"node": "Congrats + Onboarding Plan",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"LLM Backend1": {
"ai_languageModel": [
[
{
"node": "Polite Rejection + Learning Plan",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Resume File Check": {
"main": [
[
{
"node": "PDF → Text Extractor",
"type": "main",
"index": 0
}
],
[
{
"node": "Error Logging",
"type": "main",
"index": 0
}
]
]
},
"Candidate Data Builder": {
"main": [
[
{
"node": "Shortlisted vs Rejected",
"type": "main",
"index": 0
}
]
]
},
"PDF → Text Extractor": {
"main": [
[
{
"node": "Candidate Data Builder",
"type": "main",
"index": 0
}
]
]
},
"📥 Resume Downloader": {
"main": [
[
{
"node": "Resume File Check",
"type": "main",
"index": 0
}
]
]
},
"Shortlisted vs Rejected": {
"main": [
[
{
"node": "Congrats + Onboarding Plan",
"type": "main",
"index": 0
}
],
[
{
"node": "Polite Rejection + Learning Plan",
"type": "main",
"index": 0
}
]
]
},
"📑 Candidate Data Fetch": {
"main": [
[
{
"node": "📥 Resume Downloader",
"type": "main",
"index": 0
}
]
]
},
"Congrats + Onboarding Plan": {
"main": [
[
{
"node": "Candidate Mailer – Shortlisted",
"type": "main",
"index": 0
}
]
]
},
"Polite Rejection + Learning Plan": {
"main": [
[
{
"node": "Candidate Mailer – Rejected",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "📑 Candidate Data Fetch",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用 Azure OpenAI 和 Google Workspace 自动化 DEI 资格筛选
使用Azure GPT-4o、Google云端硬盘和表格自动进行DEI资格筛选
If
Code
Gmail
+9
19 节点Rahul Joshi
内容创作
雇佣后留存跟踪
使用GPT-4o和Gmail摘要生成员工留存分析报告
If
Code
Gmail
+6
19 节点Rahul Joshi
内容创作
从Google Drive生成n8n模板描述
使用Azure GPT-4从Google Drive生成模板描述
Code
Gmail
Google Drive
+9
27 节点Rahul Joshi
内容创作
面试质量审计
使用GPT-4o-mini和Google表格通过Slack审核面试反馈并生成报告
If
Code
Slack
+5
23 节点Rahul Joshi
内容创作
## 仅限自托管N8N用户:
使用GPT-4o-mini、Google Sheets和Gmail自动化Zendesk支持回复
Code
Gmail
Merge
+6
24 节点Rahul Joshi
内容创作
人员流失风险预警工作流(Azure OpenAI + n8n)
员工流失风险检测与HR提醒,使用Azure OpenAI GPT-4o-mini和Gmail
If
Code
Gmail
+7
16 节点Rahul Joshi
内容创作
工作流信息
难度等级
高级
节点数量27
分类2
节点类型10
作者
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 查看 →
分享此工作流