AI职位相关性评分器
高级
这是一个自动化工作流,包含 20 个节点。主要使用 If, Code, Merge, FormTrigger, HttpRequest 等节点。 AI职位相关性评分器:使用GPT-4o-mini搜索LinkedIn职位并保存到Google Sheets
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
分类
-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "xqRJgn9kLzy60dnX",
"meta": {
"instanceId": "86964b8d0664d9ba346a233f6936cccbf83e087b0b9c3cb22f6eaa1a271cad0d",
"templateCredsSetupCompleted": true
},
"name": "职位抓取器",
"tags": [],
"nodes": [
{
"id": "ecd0d08a-44ca-4390-9eff-01f0719abc61",
"name": "现有职位",
"type": "n8n-nodes-base.googleSheets",
"position": [
1824,
160
],
"parameters": {
"options": {
"dataLocationOnSheet": {
"values": {
"range": "C:C",
"rangeDefinition": "specifyRangeA1"
}
}
},
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Jobs Tracker"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('On form submission').first().json[\"Link to your Google Sheet (jobs will be added here)\"] }}"
}
},
"executeOnce": true,
"notesInFlow": true,
"typeVersion": 4.7,
"alwaysOutputData": true
},
{
"id": "3ccf8c71-7ad0-47a3-b006-bc1fa5e60023",
"name": "编译参数集",
"type": "n8n-nodes-base.code",
"position": [
96,
0
],
"parameters": {
"jsCode": "// Get values from input item\nlet contractType = $input.first().json[\"Contract Type\"];\nlet experienceLevel = $input.first().json[\"Experience Level\"]; \nlet workType = $input.first().json[\"Working Mode\"];\nlet publishedAt = $input.first().json[\"Date Posted\"];\n\n// Mapping functions\nfunction mapContractType(value) {\n if (!value) return null;\n switch (value) {\n case \"Full-time\": return \"F\";\n case \"Part-time\": return \"P\";\n case \"Contract\": return \"C\";\n case \"Temporary\": return \"T\";\n case \"Internship\": return \"I\";\n case \"Volunteer\": return \"V\";\n default: return null;\n }\n}\n\nfunction mapExperienceLevel(value) {\n if (!value) return null;\n switch (value) {\n case \"Internship\": return \"1\";\n case \"Entry-level\": return \"2\";\n case \"Associate\": return \"3\";\n case \"Mid-senior level\": return \"4\";\n case \"Director\": return \"5\";\n default: return null;\n }\n}\n\nfunction mapWorkType(value) {\n if (!value) return null;\n switch (value) {\n case \"On-site\": return \"1\";\n case \"Remote\": return \"2\";\n case \"Hybrid\": return \"3\";\n default: return null;\n }\n}\n\nfunction mapPublishedAt(value) {\n if (!value) return null;\n switch (value) {\n case \"Past 24 hours\": return \"r86400\";\n case \"Past Week\": return \"r604800\";\n case \"Past Month\": return \"r2592000\";\n default: return null;\n }\n}\n\n// Map all to codes\ncontractType = mapContractType(contractType);\nexperienceLevel = mapExperienceLevel(experienceLevel);\nworkType = mapWorkType(workType);\npublishedAt = mapPublishedAt(publishedAt);\n\nconst rowMap = {\n r86400: 100,\n r604800: 300,\n r2592000: 600,\n};\n\n// Build output, excluding nulls\nconst output = {\n title: $input.first().json.title,\n location: $input.first().json.location,\n rows: rowMap[publishedAt] || 100,\n};\n\nif (contractType !== null) output.contractType = contractType;\nif (experienceLevel !== null) output.experienceLevel = experienceLevel;\nif (workType !== null) output.workType = workType;\nif (publishedAt !== null) output.publishedAt = publishedAt;\n\nreturn [{ json: output }];\n"
},
"typeVersion": 2,
"alwaysOutputData": false
},
{
"id": "aceab631-3ca5-4cc3-923f-6406ad426b81",
"name": "移除现有职位",
"type": "n8n-nodes-base.merge",
"notes": "from input 1",
"position": [
1952,
0
],
"parameters": {
"mode": "combine",
"options": {
"fuzzyCompare": true
},
"joinMode": "keepNonMatches",
"outputDataFrom": "input1",
"fieldsToMatchString": "id"
},
"notesInFlow": true,
"typeVersion": 3.2,
"alwaysOutputData": true
},
{
"id": "eb80bc2e-04a4-42e3-afba-6472fdcbac5b",
"name": "筛选职位",
"type": "n8n-nodes-base.code",
"position": [
1360,
-16
],
"parameters": {
"jsCode": "// Get all GPT output items\nconst gptOutput = $input.all().map(item => item.json);\nconst targetScore = $('On form submission').first().json[\"Target Relevancy Score(out of 100)\"];\n\n// Extract jobs, filter by relevancy_score, and format\nconst filtered = gptOutput\n .map(entry => entry.message?.content)\n .filter(job => job && job.relevancy_score >= targetScore)\n .map(job => ({\n json: {\n id: job.id,\n relevancy_score: job.relevancy_score\n }\n }));\n\nreturn filtered;\n"
},
"notesInFlow": true,
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "e24fe095-02be-48d0-a94d-cb36ea80b2ae",
"name": "筛选和去重职位",
"type": "n8n-nodes-base.code",
"position": [
656,
0
],
"parameters": {
"jsCode": "const blacklisted_companies = [\"Jobot\", \"TieTalent\", \"Pryor Associates Executive Search\"];\n\nconst jobs = $input.all().map(item => item.json);\n\n// Deduplicate by id\nconst uniqueJobs = Array.from(\n new Map(jobs.map(job => [job.id, job])).values()\n);\n\n// Filter out blacklisted companies and jobs without companyUrl\nconst filteredJobs = uniqueJobs.filter(\n job => job.companyUrl && !blacklisted_companies.includes(job.companyName)\n);\n\n// Deduplicate by title + companyName (keep first only)\nconst seen = new Set();\nconst finalJobs = filteredJobs.filter(job => {\n const key = job.title + \"|\" + job.companyName;\n if (seen.has(key)) return false; // skip duplicates\n seen.add(key);\n return true; // keep first\n});\n\nreturn finalJobs.map(job => ({ json: job }));"
},
"notesInFlow": true,
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "0f335618-d674-4012-8511-2de6cc356a6e",
"name": "添加职位",
"type": "n8n-nodes-base.googleSheets",
"position": [
2320,
-16
],
"parameters": {
"columns": {
"value": {
"id": "={{ $json.id }}",
"Score": "={{ $json.relevancy_score }}",
"Salary": "={{ $json.salary }}",
"HR Name": "={{ $json.posterFullName }}",
"Job URL": "={{ $json.applyUrl }}",
"Job URL2": "={{ $json.jobUrl }}",
"Job Title": "={{ $json.title }}",
"Date Posted": "={{ $json.publishedAt }}",
"HR LinkedIn": "={{ $json.posterProfileUrl }}",
"Company Name": "={{ $json.companyName }}",
"Job Location": "={{ $json.location }}",
"Company Profile": "={{ $json.companyUrl }}"
},
"schema": [
{
"id": "Job URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Job URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job URL2",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Job URL2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "id",
"defaultMatch": true,
"canBeUsedToMatch": true
},
{
"id": "Job Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Job Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Company Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Salary",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Salary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company Profile",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Company Profile",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Working Model",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Working Model",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Job Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date Posted",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date Posted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Application Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Application Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date Applied",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date Applied",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Feedback",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Feedback",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Cover Letter",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Cover Letter",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Resume",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Resume",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "HR Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "HR Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "HR LinkedIn",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "HR LinkedIn",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Notes",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Notes",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Jobs Tracker"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('On form submission').first().json[\"Link to your Google Sheet (jobs will be added here)\"] }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "udbu9Gbjt5CAnxWD",
"name": "Google Sheets account"
}
},
"notesInFlow": true,
"typeVersion": 4.7
},
{
"id": "6afd2b41-f733-45b3-85c6-5faba765e35e",
"name": "获取领英职位",
"type": "n8n-nodes-base.httpRequest",
"position": [
384,
0
],
"parameters": {
"url": "https://api.apify.com/v2/acts/BHzefUZlZRKWxkTck/run-sync-get-dataset-items",
"method": "POST",
"options": {},
"jsonBody": "={{ $json }}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/json"
},
{
"name": "Authorization",
"value": "=Bearer <your_apify_api>"
}
]
}
},
"notesInFlow": true,
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "0208b796-b40e-47f0-a67c-5f437f02f301",
"name": "表单提交时",
"type": "n8n-nodes-base.formTrigger",
"position": [
-192,
0
],
"webhookId": "8dbd31ae-e835-42cd-979e-88f8dd6ffded",
"parameters": {
"options": {
"path": "jobs-scraper",
"buttonLabel": "Find Jobs",
"appendAttribution": false,
"respondWithOptions": {
"values": {
"formSubmittedText": "Your request processed successfully."
}
}
},
"formTitle": "Jobs Scraper",
"formFields": {
"values": [
{
"fieldLabel": "title",
"placeholder": "e.g Data Analyst, Data Enginner, Software Engineer",
"requiredField": true
},
{
"fieldLabel": "location",
"placeholder": "e.g Austin, United States",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Contract Type",
"fieldOptions": {
"values": [
{
"option": "All"
},
{
"option": "Full-time"
},
{
"option": "Part-time"
},
{
"option": "Contract"
},
{
"option": "Temporary"
},
{
"option": "Internship"
},
{
"option": "Volunteer"
}
]
}
},
{
"fieldType": "dropdown",
"fieldLabel": "Experience Level",
"fieldOptions": {
"values": [
{
"option": "All"
},
{
"option": "Internship"
},
{
"option": "Entry-level"
},
{
"option": "Associate"
},
{
"option": "Mid-senior level"
},
{
"option": "Director"
}
]
}
},
{
"fieldType": "dropdown",
"fieldLabel": "Working Mode",
"fieldOptions": {
"values": [
{
"option": "all"
},
{
"option": "On-site"
},
{
"option": "Remote"
},
{
"option": "Hybrid"
}
]
}
},
{
"fieldType": "dropdown",
"fieldLabel": "Date Posted",
"fieldOptions": {
"values": [
{
"option": "Past 24 hours"
},
{
"option": "Past Week"
},
{
"option": "Past Month"
}
]
}
},
{
"fieldType": "number",
"fieldLabel": "Target Relevancy Score(out of 100)",
"placeholder": "how relevant the jobs should be to your resume",
"requiredField": true
},
{
"fieldLabel": "Link to your Google Sheet (jobs will be added here)",
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Your Resume",
"placeholder": "Paste Your Resume",
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Your Job Instructions/Preferences",
"placeholder": "Enter Your Job Preferences or any criteria to rank relevant jobs for you",
"requiredField": true
}
]
},
"responseMode": "lastNode",
"formDescription": "Provide your preferences to extract the relevant jobs. The Google Sheet should follow this template: https://docs.google.com/spreadsheets/d/1oOigTwntedPCYiXwW-98oHDj4slYepsFFV-LLP-77uc/edit?gid=0#gid=0"
},
"notesInFlow": true,
"typeVersion": 2.3
},
{
"id": "b3e1bb3a-b77e-472e-b86a-b585df277088",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-272,
-208
],
"parameters": {
"color": 5,
"width": 272,
"height": 352,
"content": "* 通过公共表单收集用户输入,如简历、偏好和 Google Sheet 链接"
},
"typeVersion": 1
},
{
"id": "395c6d0a-eb70-4e36-b0f9-4db3a823c9e7",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
16,
-208
],
"parameters": {
"color": 6,
"width": 272,
"height": 352,
"content": "将表单选择(合同类型、经验等)转换为适用于 Apify 领英职位抓取器的 API 参数"
},
"typeVersion": 1
},
{
"id": "08eebd8a-4b77-44a2-9fa7-6cbbd8c28f77",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
304,
-208
],
"parameters": {
"color": 5,
"width": 272,
"height": 352,
"content": "* 调用 Apify API 根据您的参数获取职位列表"
},
"typeVersion": 1
},
{
"id": "ab00b3bd-25b6-45a2-920a-cbc09a8edd90",
"name": "如果有职位",
"type": "n8n-nodes-base.if",
"position": [
880,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c6fa73ec-5859-48c4-9085-68e04ba07b21",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": "running"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c666e264-2ea8-4c73-b0a5-b38bae070da1",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
-208
],
"parameters": {
"color": 6,
"width": 448,
"height": 352,
"content": "移除重复项,筛选出黑名单公司,并排除没有有效公司资料的职位"
},
"typeVersion": 1
},
{
"id": "201b0934-417f-4d00-9fd3-7986df544192",
"name": "如果有职位1",
"type": "n8n-nodes-base.if",
"position": [
1504,
-16
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4c35b5be-ac2e-4843-9cbb-420afdb8f0f3",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c512a004-186e-45ea-a8ef-fa616e8f676f",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1056,
-208
],
"parameters": {
"color": 5,
"width": 592,
"height": 352,
"content": "## 按相关性评分和筛选职位"
},
"typeVersion": 1
},
{
"id": "58b7114e-a45a-41f2-aae2-31c4edbe1e94",
"name": "丰富输入 1",
"type": "n8n-nodes-base.merge",
"position": [
1760,
-16
],
"parameters": {
"mode": "combine",
"options": {
"fuzzyCompare": true,
"clashHandling": {
"values": {
"resolveClash": "preferLast",
"overrideEmpty": true
}
},
"multipleMatches": "first"
},
"joinMode": "enrichInput1",
"fieldsToMatchString": "id"
},
"notesInFlow": true,
"typeVersion": 3.2
},
{
"id": "3be05870-9c10-4a9b-b8dc-0052833d3448",
"name": "如果有职位2",
"type": "n8n-nodes-base.if",
"position": [
2112,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "162163ba-1211-4255-aeed-038a40d0522b",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": "running"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "05163604-3788-4147-a8d4-9be81426ae5a",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1664,
-208
],
"parameters": {
"color": 6,
"width": 784,
"height": 528,
"content": "## 将新职位添加到 Google Sheet"
},
"typeVersion": 1
},
{
"id": "ed9af293-d933-4a67-8ba7-fd9a816d0a22",
"name": "职位评分",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1088,
-16
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {
"temperature": 0.4
},
"messages": {
"values": [
{
"role": "system",
"content": "=You are an expert recruiter and job relevance evaluator. Please find a relevancy score for a given job against the Candidate Resume and Preferences. \n\nCandidate Resume:\n{{ $('On form submission').first().json['Your Resume'] }}\n\nCandidate Preferences:\n{{ $('On form submission').first().json[\"Your Job Instructions/Preferences\"] }}\n\nImportant Notes:\n- If salary is not given under job details, check it in the job_description or job_position.\n- When giving the relevancy score, be strict and give a good score(>80) to only those jobs that are highly relevant for the candidate.\n\n⚠️ Output format requirement:\nAlways return only a JSON array with exactly one object, in this structure:\n[\n {\n \"id\": \"...\",\n \"relevancy_score\": <integer 0-100>\n }\n]\nNo other text, comments, or formatting.\n"
},
{
"content": "=Evaluate this job against the candidate resume + preferences.\n\nJob details:\n- id: {{ $json.id }}\n- job_position: {{ $json.title }}\n- salary: {{ $json.salary }}\n- job_description: {{ $json.description }}\n"
}
]
},
"jsonOutput": true
},
"executeOnce": false,
"retryOnFail": true,
"typeVersion": 1.8,
"waitBetweenTries": 5000
},
{
"id": "f4540ed0-bc13-4472-b09f-87f09e892de0",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
-208
],
"parameters": {
"width": 736,
"height": 688,
"content": "## 🧠 AI 驱动的职位抓取与相关性评估器"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "bddb5d81-b4a0-49ce-b31e-49f5b7467321",
"connections": {
"ab00b3bd-25b6-45a2-920a-cbc09a8edd90": {
"main": [
[
{
"node": "ed9af293-d933-4a67-8ba7-fd9a816d0a22",
"type": "main",
"index": 0
}
]
]
},
"0f335618-d674-4012-8511-2de6cc356a6e": {
"main": [
[]
]
},
"201b0934-417f-4d00-9fd3-7986df544192": {
"main": [
[
{
"node": "ecd0d08a-44ca-4390-9eff-01f0719abc61",
"type": "main",
"index": 0
},
{
"node": "58b7114e-a45a-41f2-aae2-31c4edbe1e94",
"type": "main",
"index": 0
}
],
[]
]
},
"3be05870-9c10-4a9b-b8dc-0052833d3448": {
"main": [
[
{
"node": "0f335618-d674-4012-8511-2de6cc356a6e",
"type": "main",
"index": 0
}
],
[]
]
},
"ed9af293-d933-4a67-8ba7-fd9a816d0a22": {
"main": [
[
{
"node": "eb80bc2e-04a4-42e3-afba-6472fdcbac5b",
"type": "main",
"index": 0
}
]
]
},
"ecd0d08a-44ca-4390-9eff-01f0719abc61": {
"main": [
[
{
"node": "aceab631-3ca5-4cc3-923f-6406ad426b81",
"type": "main",
"index": 1
}
]
]
},
"58b7114e-a45a-41f2-aae2-31c4edbe1e94": {
"main": [
[
{
"node": "aceab631-3ca5-4cc3-923f-6406ad426b81",
"type": "main",
"index": 0
}
]
]
},
"eb80bc2e-04a4-42e3-afba-6472fdcbac5b": {
"main": [
[
{
"node": "201b0934-417f-4d00-9fd3-7986df544192",
"type": "main",
"index": 0
}
]
]
},
"aceab631-3ca5-4cc3-923f-6406ad426b81": {
"main": [
[
{
"node": "3be05870-9c10-4a9b-b8dc-0052833d3448",
"type": "main",
"index": 0
}
]
]
},
"3ccf8c71-7ad0-47a3-b006-bc1fa5e60023": {
"main": [
[
{
"node": "6afd2b41-f733-45b3-85c6-5faba765e35e",
"type": "main",
"index": 0
}
]
]
},
"0208b796-b40e-47f0-a67c-5f437f02f301": {
"main": [
[
{
"node": "3ccf8c71-7ad0-47a3-b006-bc1fa5e60023",
"type": "main",
"index": 0
}
]
]
},
"6afd2b41-f733-45b3-85c6-5faba765e35e": {
"main": [
[
{
"node": "e24fe095-02be-48d0-a94d-cb36ea80b2ae",
"type": "main",
"index": 0
}
]
]
},
"e24fe095-02be-48d0-a94d-cb36ea80b2ae": {
"main": [
[
{
"node": "ab00b3bd-25b6-45a2-920a-cbc09a8edd90",
"type": "main",
"index": 0
},
{
"node": "58b7114e-a45a-41f2-aae2-31c4edbe1e94",
"type": "main",
"index": 1
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+
If
Ftp
Set
113 节点I versus AI
其他
通过竞争对手内容分析发现市场研究和 SEO 的内容空白
使用 InfraNodus GraphRAG 分析竞争对手网站内容空白,助力 SEO
If
Code
Wait
+
If
Code
Wait
37 节点InfraNodus
人工智能
AI工时表生成器 - 集成Gmail、日历和GitHub到Google表格
AI工时表生成器 - 集成Gmail、日历和GitHub到Google表格
If
Set
Code
+
If
Set
Code
31 节点Luka Zivkovic
个人效率
AI驱动视频创作与上传至Instagram、TikTok和YouTube
从云端硬盘进行AI驱动视频创作并上传至Instagram、TikTok和YouTube
If
Set
Code
+
If
Set
Code
53 节点DevCode Journey
内容创作
基于AI的潜在客户生成(Apollo、LinkedIn研究和4步个性化邮件)
基于AI的潜在客户生成:使用Apollo、LinkedIn研究和4步个性化邮件
If
Set
Code
+
If
Set
Code
30 节点Gain FLow AI
潜在客户开发
基于Telegram、Google Sheets和OpenAI
基于Telegram、Google Sheets和OpenAI的AI驱动收据和支出追踪器
If
Set
Code
+
If
Set
Code
50 节点Khairul Muhtadin
财务