8
n8n 中文网amn8n.com

Drive到ClickUp简历自动化

高级

这是一个HR, AI Summarization领域的自动化工作流,包含 16 个节点。主要使用 Code, ClickUp, GoogleDrive, GoogleSheets, Agent 等节点。 使用GPT-4o和Google表格从Google Drive处理简历到ClickUp

前置要求
  • Google Drive API 凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "uoTYOXDUavQ2tQew",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Drive to clickup resume automation",
  "tags": [],
  "nodes": [
    {
      "id": "64d82c9f-f5aa-478d-9c0c-f190a30832d0",
      "name": "Save Candidate to Database",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1920,
        1408
      ],
      "parameters": {
        "options": {},
        "fieldsUi": {
          "values": [
            {
              "column": "Email",
              "fieldValue": "={{ $json.email }}"
            },
            {
              "column": "Phone ",
              "fieldValue": "={{ $json.phone }}"
            },
            {
              "column": "Years of experience",
              "fieldValue": "={{ $json.experience_years }}"
            },
            {
              "column": "skills",
              "fieldValue": "={{ $json.skills }}"
            },
            {
              "column": "curent role",
              "fieldValue": "={{ $json.current_role }}"
            },
            {
              "column": "education",
              "fieldValue": "={{ $json.education }}"
            }
          ]
        },
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JlXxy90s0we_IqErHyvomrJSijb8pd4H91hOUCH6xCA/edit?usp=drivesdk",
          "cachedResultName": "Resume store"
        },
        "valueToMatchOn": "={{ $json.name }}",
        "columnToMatchOn": "Name"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "s4dP1fNuVZ2gWvs3",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "08397c1b-0ea9-4327-a520-7d52128f8ec7",
      "name": "AI Resume Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1296,
        1408
      ],
      "parameters": {
        "text": "=Extract the following fields from the resume text below and return them as JSON only:\n\n{\n  \"name\": \"\",\n  \"email\": \"\",\n  \"phone\": \"\",\n  \"experience_years\": \"\",\n  \"skills\": [],\n  \"current_role\": \"\",\n  \"education\": \"\"\n}\n\nResume text:\n{{$json[\"text\"]}}\n\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "586d9851-1966-4f38-bf36-0f19398ceda3",
      "name": "AI Language Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        1392,
        1632
      ],
      "parameters": {
        "model": "gpt-4o-mini",
        "options": {}
      },
      "credentials": {
        "azureOpenAiApi": {
          "id": "C3WzT18XqF8OdVM6",
          "name": "Azure Open AI account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9f08c682-2991-40a4-9951-b39e34d1bb63",
      "name": "Download Resume File",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        848,
        1408
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "gQtjXVGUgZru29qC",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "cee0376c-3385-4125-8e1f-57caeeecf78a",
      "name": "Convert PDF to Text",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1072,
        1408
      ],
      "parameters": {
        "options": {},
        "operation": "pdf"
      },
      "typeVersion": 1
    },
    {
      "id": "40a097eb-dd40-4f56-8962-1c024849fb00",
      "name": "Clean AI Response",
      "type": "n8n-nodes-base.code",
      "position": [
        1696,
        1408
      ],
      "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": "90f8d384-9923-45bb-bef4-a00b04245e2b",
      "name": "Watch for New Resumes",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        624,
        1408
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1MIvpHU_ZqG76Vov2-D5WlS5dD3UhOMSz",
          "cachedResultName": "Resume_store"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "gQtjXVGUgZru29qC",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "55ecd2df-08d0-4130-beab-1c90676a2b68",
      "name": "Create Hiring Task",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        2144,
        1408
      ],
      "parameters": {
        "list": "901610812551",
        "name": "={{ $json.name }} Hiring process",
        "team": "9016683627",
        "space": "90162844741",
        "folder": "90164394824",
        "additionalFields": {
          "assignees": [
            95074494
          ]
        }
      },
      "credentials": {
        "clickUpApi": {
          "id": "FwrdqPtvlxnMFvdx",
          "name": "ClickUp account-Anuj"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "745375f6-d00c-45cf-bbd6-add9d82a942d",
      "name": "Sticky Note - Trigger",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        1248
      ],
      "parameters": {
        "width": 400,
        "height": 332,
        "content": "## 🚀 WORKFLOW START\n**Watch for New Resumes**\n\n🔍 **What it does:**\n- Monitors Google Drive folder every minute\n- Automatically detects new resume uploads\n- Triggers the entire workflow when new files arrive\n\n⚙️ **Settings:**\n- Checks folder: Resume_store\n- Frequency: Every 1 minute\n- Event: New file created\n\n💡 **User Tip:** Just upload a resume to the watched folder and the automation starts!"
      },
      "typeVersion": 1
    },
    {
      "id": "1b150921-0403-48f5-b8a9-2f17a6223fe7",
      "name": "Sticky Note - Download",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        1072
      ],
      "parameters": {
        "width": 432,
        "height": 316,
        "content": "## 📥 STEP 1\n**Download Resume File**\n\n🔍 **What it does:**\n- Downloads the new resume file from Google Drive\n- Retrieves the actual PDF document\n- Prepares file for text extraction\n\n⚙️ **Process:**\n- Gets file ID from trigger\n- Downloads complete file content\n- Passes to next step\n\n💡 **User Tip:** Supports PDF format resumes"
      },
      "typeVersion": 1
    },
    {
      "id": "2a282f96-895f-415b-9bc3-4d53df11d445",
      "name": "Sticky Note - Extract",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        1568
      ],
      "parameters": {
        "width": 400,
        "height": 348,
        "content": "## 📄 STEP 2\n**Convert PDF to Text**\n\n🔍 **What it does:**\n- Extracts all text content from PDF resume\n- Converts document to readable text format\n- Preserves formatting and structure\n\n⚙️ **Process:**\n- Processes PDF files only\n- Extracts complete text content\n- Outputs clean text for AI analysis\n\n💡 **User Tip:** Works best with text-based PDFs (not scanned images)"
      },
      "typeVersion": 1
    },
    {
      "id": "ab566a24-0be9-4527-aef4-6e79c6a3fbdf",
      "name": "Sticky Note - AI Analysis",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        1008
      ],
      "parameters": {
        "width": 400,
        "height": 380,
        "content": "## 🤖 STEP 3\n**AI Resume Analyzer**\n\n🔍 **What it does:**\n- Uses advanced AI to read resume content\n- Extracts structured candidate information\n- Returns standardized JSON format\n\n📋 **Extracts:**\n- Name, Email, Phone\n- Years of experience\n- Current role & Skills\n- Education details\n\n💡 **User Tip:** AI is smart enough to find info even in different resume formats!"
      },
      "typeVersion": 1
    },
    {
      "id": "081608b5-fbfd-4994-adb7-5180e2b61702",
      "name": "Sticky Note - Clean Data",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        1024
      ],
      "parameters": {
        "width": 400,
        "height": 348,
        "content": "## 🔧 STEP 4\n**Clean AI Response**\n\n🔍 **What it does:**\n- Cleans up AI output for database storage\n- Removes formatting characters\n- Validates JSON structure\n\n⚙️ **Process:**\n- Removes code blocks (```json```)\n- Parses JSON safely\n- Handles errors gracefully\n\n💡 **User Tip:** Ensures data is properly formatted before saving"
      },
      "typeVersion": 1
    },
    {
      "id": "7a7cc437-c52f-47f0-8469-d279f3055caf",
      "name": "Sticky Note - Database",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1856,
        1616
      ],
      "parameters": {
        "width": 400,
        "height": 348,
        "content": "## 💾 STEP 5\n**Save Candidate to Database**\n\n🔍 **What it does:**\n- Saves candidate info to Google Sheets\n- Updates existing records or creates new ones\n- Maintains central candidate database\n\n📊 **Saves:**\n- All extracted candidate details\n- Organized in spreadsheet rows\n- Searchable and sortable data\n\n💡 **User Tip:** Creates permanent record for HR team reference"
      },
      "typeVersion": 1
    },
    {
      "id": "0e74e62b-70dd-4ed6-9cb0-cac50ea7e278",
      "name": "Sticky Note - Task Creation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        1024
      ],
      "parameters": {
        "width": 400,
        "height": 348,
        "content": "## ✅ STEP 6 - FINAL\n**Create Hiring Task**\n\n🔍 **What it does:**\n- Creates new task in ClickUp project management\n- Assigns task to hiring team member\n- Starts formal hiring process\n\n📋 **Task Details:**\n- Title: \"[Candidate Name] Hiring Process\"\n- Assigned to recruiting team\n- Ready for interview scheduling\n\n💡 **User Tip:** Seamlessly connects recruitment pipeline with project management!"
      },
      "typeVersion": 1
    },
    {
      "id": "bfb8ee2c-53ec-42cb-a1c6-8c20baf9e13b",
      "name": "Sticky Note - Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1232,
        1856
      ],
      "parameters": {
        "width": 600,
        "height": 528,
        "content": "## 🔥 COMPLETE AUTOMATION WORKFLOW\n**Drive to ClickUp Resume Processing**\n\n🎯 **Purpose:** \nAutomatically process new resume uploads and create hiring tasks\n\n📈 **Benefits:**\n✅ Zero manual data entry\n✅ Instant candidate database updates  \n✅ Automatic task assignment\n✅ Faster hiring process\n✅ No missed candidates\n\n🔄 **Process Flow:**\n1. Upload resume → 2. Download → 3. Extract text → 4. AI analysis → 5. Save data → 6. Create task\n\n⏱️ **Speed:** Complete processing in under 2 minutes!\n\n🛠️ **Setup Required:**\n- Google Drive folder access\n- Google Sheets database\n- ClickUp project access\n- AI service credentials"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c59e15c8-f1d1-4730-981b-f034c69da321",
  "connections": {
    "AI Language Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Resume Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Clean AI Response": {
      "main": [
        [
          {
            "node": "Save Candidate to Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Resume Analyzer": {
      "main": [
        [
          {
            "node": "Clean AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert PDF to Text": {
      "main": [
        [
          {
            "node": "AI Resume Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Resume File": {
      "main": [
        [
          {
            "node": "Convert PDF to Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Watch for New Resumes": {
      "main": [
        [
          {
            "node": "Download Resume File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Candidate to Database": {
      "main": [
        [
          {
            "node": "Create Hiring Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 人力资源, AI 摘要总结

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量16
分类2
节点类型9
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Rahul Joshi

Rahul Joshi

@rahul08

Rahul 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 查看

分享此工作流