07 - 自动化职位筛选引擎
中级
这是一个HR领域的自动化工作流,包含 10 个节点。主要使用 Code, Filter, HttpRequest, GoogleSheets, ScheduleTrigger 等节点。 使用 JSearch API 和 Google Sheets 自动化职位搜索与筛选
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "49jPs7OkPU0PqODZ",
"meta": {
"instanceId": "c91c5b6efe2709e07c37996245857ac5d863d575d07e0072127351337c204c40",
"templateCredsSetupCompleted": true
},
"name": "07 - 自动化职位筛选引擎",
"tags": [],
"nodes": [
{
"id": "c4d4a93c-2aca-4090-88b7-3b8e75ed7984",
"name": "⏰ 计划:每日触发",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-340,
440
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.1
},
{
"id": "32968ac3-397b-419c-a3f4-fd8192030515",
"name": "📄 从表格读取待处理职位角色",
"type": "n8n-nodes-base.googleSheets",
"position": [
-120,
440
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupValue": "Pending",
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit#gid=0",
"cachedResultName": "Your_Sheet_No"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit?usp=drivesdk",
"cachedResultName": "Job Scraper"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "LJQH5glroAM1SiFe",
"name": "Google Sheets account - (DEV)"
}
},
"typeVersion": 4.6
},
{
"id": "f5f29814-a6b2-4178-a84b-9646130340d8",
"name": "🌐 通过 JSearch API 搜索职位",
"type": "n8n-nodes-base.httpRequest",
"position": [
100,
440
],
"parameters": {
"url": "https://jsearch.p.rapidapi.com/search",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "query",
"value": "={{ $json.Position + ' in ' + $json.Location }}"
},
{
"name": "page",
"value": "1"
},
{
"name": "num_pages",
"value": "1"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "X-RapidAPI-Key",
"value": "YOUR_RAPIDAPI_KEY"
},
{
"name": "X-RapidAPI-Host",
"value": "jsearch.p.rapidapi.com"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "cfd205db-f9b1-4906-8b42-3529a7d7bffe",
"name": "🧠 从 API 响应中提取职位数据",
"type": "n8n-nodes-base.code",
"position": [
320,
440
],
"parameters": {
"jsCode": "const allItems = [];\n\nfor (const item of items) {\n const jobs = item.json.data || [];\n for (const job of jobs) {\n allItems.push({\n json: {\n title: job.job_title,\n company: job.employer_name,\n location: `${job.job_city}, ${job.job_country}`,\n apply_link: job.job_apply_link,\n is_remote: job.job_is_remote,\n posted_date: job.job_posted_at_datetime_utc,\n }\n });\n }\n}\n\nreturn allItems;"
},
"typeVersion": 2
},
{
"id": "a54cfdfd-b0f9-4027-9309-3aae34ff3564",
"name": "🔍 筛选有效职位列表",
"type": "n8n-nodes-base.filter",
"position": [
540,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "579057db-1ec8-4a3b-8dca-7169d9699521",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.title }}",
"rightValue": "="
}
]
}
},
"typeVersion": 2.2
},
{
"id": "bdd89987-6256-408b-8bd5-0cd0154dd300",
"name": "📊 将职位写入输出表格",
"type": "n8n-nodes-base.googleSheets",
"position": [
760,
440
],
"parameters": {
"columns": {
"value": {
"Title": "={{ $json.title }}",
"Company": "={{ $json.company }}",
"Location": "={{ $json.location }}",
"Is Remote": "={{ $json.is_remote }}",
"Posted On": "={{ $json.posted_date }}",
"Apply Link": "={{ $json.apply_link }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company",
"type": "string",
"display": true,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Location",
"type": "string",
"display": true,
"required": false,
"displayName": "Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Apply Link",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Apply Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Is Remote",
"type": "string",
"display": true,
"required": false,
"displayName": "Is Remote",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Posted On",
"type": "string",
"display": true,
"required": false,
"displayName": "Posted On",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Apply Link"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit#gid=0",
"cachedResultName": "Your_Sheet_No"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "Your_Sheet_ID",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit?usp=drivesdk",
"cachedResultName": "Job Listing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "LJQH5glroAM1SiFe",
"name": "Google Sheets account - (DEV)"
}
},
"typeVersion": 4.6
},
{
"id": "b834f983-9319-4c96-bf9f-7adbee871647",
"name": "✅ 在源表格中将职位标记为已抓取",
"type": "n8n-nodes-base.googleSheets",
"position": [
980,
440
],
"parameters": {
"columns": {
"value": {
"Status": "Scraped",
"row_number": "={{ $('📄 Read Pending Job Role from Sheet').item.json.row_number }}"
},
"schema": [
{
"id": "Position",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Position",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit#gid=0",
"cachedResultName": "Your_Sheet_No"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit?usp=drivesdk",
"cachedResultName": "Job Scraper"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "LJQH5glroAM1SiFe",
"name": "Google Sheets account - (DEV)"
}
},
"executeOnce": true,
"typeVersion": 4.6
},
{
"id": "b9c7a999-6c09-48e5-aea8-b5a14e30ed51",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-380,
200
],
"parameters": {
"width": 420,
"height": 520,
"content": "## 触发与输入"
},
"typeVersion": 1
},
{
"id": "c987a1d7-03a7-40b1-99d3-57d9049b3c32",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
200
],
"parameters": {
"color": 3,
"width": 620,
"height": 520,
"content": "## 职位搜索与处理"
},
"typeVersion": 1
},
{
"id": "8c5c5acc-6b1b-4ece-b4c2-af47bda1ecd2",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
200
],
"parameters": {
"color": 4,
"width": 460,
"height": 520,
"content": "## 输出与状态更新"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5e71e30c-da84-4500-bea9-ce72b5596424",
"connections": {
"🔍 Filter Valid Job Listings": {
"main": [
[
{
"node": "📊 Write Jobs to Output Sheet",
"type": "main",
"index": 0
}
]
]
},
"⏰ Schedule: Trigger Every Day": {
"main": [
[
{
"node": "📄 Read Pending Job Role from Sheet",
"type": "main",
"index": 0
}
]
]
},
"📊 Write Jobs to Output Sheet": {
"main": [
[
{
"node": "✅ Mark Job as Scraped in Source Sheet",
"type": "main",
"index": 0
}
]
]
},
"🌐 Search Jobs via JSearch API": {
"main": [
[
{
"node": "🧠 Extract Job Data from API Response",
"type": "main",
"index": 0
}
]
]
},
"📄 Read Pending Job Role from Sheet": {
"main": [
[
{
"node": "🌐 Search Jobs via JSearch API",
"type": "main",
"index": 0
}
]
]
},
"🧠 Extract Job Data from API Response": {
"main": [
[
{
"node": "🔍 Filter Valid Job Listings",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 人力资源
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
28 - 融资洞察流水线
使用Crunchbase、Google Sheets和Airtable自动化融资洞察
Code
Filter
Airtable
+4
9 节点Avkash Kakdiya
市场调研
AI 产品图片生成器 - 公共模板
使用 OpenAI、Gemini 和 Google Workspace 的自动化产品广告图片创建
Code
Google Drive
Http Request
+6
15 节点Avkash Kakdiya
内容创作
冷线索成交关闭工作流
基于Gmail反馈和Slack通知的HubSpot冷线索交易自动关闭
Code
Gmail
Slack
+5
15 节点Avkash Kakdiya
内容创作
08 - AI驱动的联系人智能分析
使用GPT-4o-mini为Google表格、Airtable和HubSpot分类和丰富联系人信息
Code
Filter
Hubspot
+6
15 节点Avkash Kakdiya
潜在客户开发
10 - 商业版图追踪器
使用SerpAPI、Google表格和Airtable的每日竞争对手研究自动化
If
Code
Airtable
+5
15 节点Avkash Kakdiya
市场调研
06 - 潜在客户邮箱验证工作流
使用 Hunter.io 和 Google Sheets 验证潜在客户邮箱地址
Code
Http Request
Google Sheets
+2
9 节点Avkash Kakdiya
潜在客户开发
工作流信息
难度等级
中级
节点数量10
分类1
节点类型6
作者
Avkash Kakdiya
@itechnotion🚀 Founder of iTechNotion — we build custom AI-powered automation workflows for startups, agencies, and founders. 💡 Specializing in agentic AI systems, content automation, sales funnels, and digital workers. 🔧 14+ years in tech | Building scalable no-code/low-code solutions using n8n, OpenAI, and other API-first tools. 📬 Let’s automate what slows you down.
外部链接
在 n8n.io 查看 →
分享此工作流