简历信息提取器
高级
这是一个HR, AI领域的自动化工作流,包含 22 个节点。主要使用 If, Set, SplitOut, Supabase, HttpRequest 等节点,结合人工智能技术实现智能自动化。 从邮件附件提取简历数据并存储至Supabase
前置要求
- •Supabase URL 和 API Key
- •可能需要目标 API 的认证凭证
- •Google 账号和 Gmail API 凭证
使用的节点 (22)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "GtN4XdkLIPMBIqSU",
"meta": {
"instanceId": "82cad572864ecfae931ea0fa4a2122d5ad401b8f2cb25fb3ff144b553e0d676d"
},
"name": "简历信息提取器",
"tags": [],
"nodes": [
{
"id": "76cdbf85-39be-4617-8215-10d728f281eb",
"name": "Gmail 触发器",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
80,
80
],
"parameters": {
"simple": false,
"filters": {},
"options": {
"downloadAttachments": true
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "cd0204d2-07b5-4ca7-821a-4a69289f5af1",
"name": "从文件提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
80
],
"parameters": {
"options": {},
"operation": "pdf",
"binaryPropertyName": "attachment_0"
},
"typeVersion": 1
},
{
"id": "4814f698-4598-4f07-8493-3ffa5d256847",
"name": "编辑字段",
"type": "n8n-nodes-base.set",
"position": [
780,
80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b5b82b5d-ae4e-43d9-835b-13c9f86555e7",
"name": "text",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "7e5b3608-b081-4c1a-b349-9ab4fc2d0a1c",
"name": "基础 LLM 链",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1000,
80
],
"parameters": {
"text": "=You are an HR expert, you are given a detailed CV text \nextract \nName \nEmail \nTelephone \nExperience \nSkills \nEducation \nThis is the CV text: {{ $json.text }}",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "04745a86-bf30-46e1-a8e0-b81bd88cf4fe",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
1000,
300
],
"parameters": {
"model": "meta-llama/llama-4-scout:free",
"options": {}
},
"typeVersion": 1
},
{
"id": "9410f9c8-5df8-4c57-9c50-8f54e14eb14e",
"name": "多表:您可以连接多个表以实现有组织的数据结构",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1180,
300
],
"parameters": {
"jsonSchemaExample": "{ \n\"Name\": \"Firstname Lastname\", \n\"Telephone\": \"01788798797\", \n\"Email\": \"a@b.com\", \n\"Education\": [\"University 1\", \"University 2\"], \n\"Skill\": [\"Skill 1\", \"Skill 2\", \"Skill 3\"], \n\"Experience\": [\"Job 1\", \"job 2\", \"job 3\"] \n}"
},
"typeVersion": 1.2
},
{
"id": "4aeae52b-8d83-4b01-9731-931d49916afa",
"name": "HTTP 请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
1360,
80
],
"parameters": {
"url": "[supabase URL]",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $json.output.Name }}"
},
{
"name": "telephone",
"value": "={{ $json.output.Telephone }}"
},
{
"name": "email",
"value": "={{ $json.output.Email }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "apikey",
"value": "[key]"
},
{
"name": "Authorization",
"value": "Bearer [key]"
},
{
"name": "Prefer",
"value": "return=representation"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "b0df6998-5b82-44df-8cee-81db46b5cf00",
"name": "Supabase",
"type": "n8n-nodes-base.supabase",
"position": [
2000,
80
],
"parameters": {
"tableId": "experiences",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "cv_id",
"fieldValue": "={{ $('HTTP Request').item.json.id }}"
},
{
"fieldId": "text",
"fieldValue": "={{ $json.Expr }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "5f08115f-da1c-49e3-b9ee-799a0a051c1d",
"name": "编辑字段 1",
"type": "n8n-nodes-base.set",
"position": [
1580,
80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2bd4d4e4-2d0c-4310-b9f9-a7236ac58f74",
"name": "Expr",
"type": "array",
"value": "={{ $('Basic LLM Chain').item.json.output.Experience }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "cffc687f-5dbc-45b6-b5b6-328c567eb2d6",
"name": "分离",
"type": "n8n-nodes-base.splitOut",
"position": [
1800,
80
],
"parameters": {
"options": {},
"fieldToSplitOut": "Expr"
},
"typeVersion": 1
},
{
"id": "3e676d37-1f0c-4833-8108-62abc882bc1e",
"name": "Supabase1",
"type": "n8n-nodes-base.supabase",
"position": [
2000,
280
],
"parameters": {
"tableId": "skills",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "cv_id",
"fieldValue": "={{ $('HTTP Request').item.json.id }}"
},
{
"fieldId": "text",
"fieldValue": "={{ $json.skill }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "a6d6b1eb-26b5-4e0d-aee3-1f82c4aeb264",
"name": "编辑字段2",
"type": "n8n-nodes-base.set",
"position": [
1580,
280
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2bd4d4e4-2d0c-4310-b9f9-a7236ac58f74",
"name": "skill",
"type": "array",
"value": "={{ $('Basic LLM Chain').item.json.output.Skill }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f93e92e1-5c0e-47dd-9b90-9482df23f4b3",
"name": "分离1",
"type": "n8n-nodes-base.splitOut",
"position": [
1800,
280
],
"parameters": {
"options": {},
"fieldToSplitOut": "skill"
},
"typeVersion": 1
},
{
"id": "e5f33b95-0b10-4fbf-96c4-9054d9c2f36f",
"name": "Supabase2",
"type": "n8n-nodes-base.supabase",
"position": [
2000,
500
],
"parameters": {
"tableId": "education",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "cv_id",
"fieldValue": "={{ $('HTTP Request').item.json.id }}"
},
{
"fieldId": "text",
"fieldValue": "={{ $json.Educ }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "fe182a17-f251-419a-a3e7-6601c1bda065",
"name": "编辑字段3",
"type": "n8n-nodes-base.set",
"position": [
1580,
500
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2bd4d4e4-2d0c-4310-b9f9-a7236ac58f74",
"name": "Educ",
"type": "array",
"value": "={{ $('Basic LLM Chain').item.json.output.Education }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e947dd88-027c-4bfc-9c8b-289efe514679",
"name": "拆分输出2",
"type": "n8n-nodes-base.splitOut",
"position": [
1800,
500
],
"parameters": {
"options": {},
"fieldToSplitOut": "Educ"
},
"typeVersion": 1
},
{
"id": "d90fd5f8-8b29-4c75-874c-cb2c783a924e",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"height": 280,
"content": "## 邮件触发器"
},
"typeVersion": 1
},
{
"id": "7465aa08-4604-4d0d-b36c-17aabba2dbe0",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
520,
0
],
"parameters": {
"color": 4,
"width": 400,
"height": 280,
"content": "## 准备数据"
},
"typeVersion": 1
},
{
"id": "2a751d1c-1c1f-40dc-93e4-45195dc397dc",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
0
],
"parameters": {
"color": 3,
"width": 360,
"height": 440,
"content": "## 提取信息"
},
"typeVersion": 1
},
{
"id": "0ff39e87-a016-4bb9-8c00-53178b2ad4bf",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1340,
0
],
"parameters": {
"color": 6,
"width": 900,
"height": 680,
"content": "## 保存信息"
},
"typeVersion": 1
},
{
"id": "6e367ac0-8191-4530-94b7-a6ab7582fbac",
"name": "如果",
"type": "n8n-nodes-base.if",
"position": [
320,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0047fdcf-2c7b-4286-a54e-7018028dea1c",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "attachment_0",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b7e60ceb-d556-4140-a5fb-6d86a798097f",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
260,
0
],
"parameters": {
"color": 5,
"height": 280,
"content": "## 检查附件是否存在"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6c3db08e-b96b-4273-8e26-cceec49844a0",
"connections": {
"If": {
"main": [
[
{
"node": "Extract from File",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Supabase",
"type": "main",
"index": 0
}
]
]
},
"Split Out1": {
"main": [
[
{
"node": "Supabase1",
"type": "main",
"index": 0
}
]
]
},
"Split Out2": {
"main": [
[
{
"node": "Supabase2",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields1": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields2": {
"main": [
[
{
"node": "Split Out1",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields3": {
"main": [
[
{
"node": "Split Out2",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
},
{
"node": "Edit Fields2",
"type": "main",
"index": 0
},
{
"node": "Edit Fields3",
"type": "main",
"index": 0
}
]
]
},
"Gmail Trigger": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"Extract from File": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Basic LLM Chain",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 人力资源, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
宠物店 4
🐶 宠物店预约 AI 代理
If
Set
Code
+41
187 节点Bruno Dias
人工智能
[模板] AI宠物店 v8
🐶 AI宠物店助手 - 集成GPT-4o、Google日历和WhatsApp/Instagram/Facebook
If
N8n
Set
+38
244 节点Amanda Benks
销售
AI 代理餐厅 [模板]
🤖 WhatsApp、Instagram 和 Messenger 的 AI 餐厅助手
If
N8n
Set
+37
239 节点Amanda Benks
其他
使用 Browserflow 和 Google Sheets 自动化 LinkedIn 请求与破冰消息
使用 Browserflow 和 Google Sheets 自动化 LinkedIn 请求与破冰消息
If
Set
Sort
+15
44 节点PollupAI
销售
AI 邮件分析器:处理 PDF、图片
处理PDF、图片并保存至Google云端硬盘和Telegram
If
Set
Code
+17
31 节点Davide
人工智能
使用 Google Sheets 和 OpenRouter 对法律文档进行 LLM 性能基准测试
使用 Google Sheets 和 OpenRouter 对法律文档进行 LLM 性能基准测试
If
Set
Limit
+11
23 节点Adam Janes
人工智能