8
n8n 한국어amn8n.com

HR 이력서 스크리닝

고급

이것은HR, AI Summarization분야의자동화 워크플로우로, 23개의 노드를 포함합니다.주로 If, Set, Merge, Telegram, GoogleDrive 등의 노드를 사용하며. Telegram, Gemini AI, Google Workspace를 사용한 이력서 스크리닝 및 분석 자동화

사전 요구사항
  • Telegram Bot Token
  • Google Drive API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보
  • Google Gemini API Key

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "[WORKFLOW_ID_REMOVED]",
  "meta": {
    "instanceId": "[INSTANCE_ID_REMOVED]"
  },
  "name": "HR CVs Filter",
  "tags": [],
  "nodes": [
    {
      "id": "cbc5c20a-7d3e-49b9-8c05-9e5657cb7ecf",
      "name": "메시지 트리거",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1232,
        352
      ],
      "webhookId": "[WEBHOOK_ID_REMOVED]",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "[CREDENTIAL_ID_REMOVED]",
          "name": "Telegram Bot Account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dcd295a9-1f02-40e3-8cdc-ecba77eb5a86",
      "name": "파일 유효성 검사",
      "type": "n8n-nodes-base.if",
      "position": [
        -944,
        352
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ff01b24f-92a6-4e95-9349-5f78a7ff1e74",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.message.document.mime_type === 'application/pdf' }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ab833633-da0d-4977-ab62-329b94a9a6eb",
      "name": "CV 파일 다운로드",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -624,
        256
      ],
      "parameters": {
        "url": "=https://api.telegram.org/bot[YOUR_BOT_TOKEN]/getFile?file_id={{ $json.message.document.file_id }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "a4d42d7f-dcc8-4fc0-8ffd-e8113d7b74b7",
      "name": "실제 파일 다운로드",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -384,
        256
      ],
      "parameters": {
        "url": "=https://api.telegram.org/file/bot[YOUR_BOT_TOKEN]/{{ $json.result.file_path }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "bfc4232c-670f-4f0b-95a6-ae980cdc1f00",
      "name": "Google Gemini 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        192,
        496
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "[CREDENTIAL_ID_REMOVED]",
          "name": "Google Gemini API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e91d4847-c1f0-4600-94d1-2ff61da3e68f",
      "name": "이력서 내용 추출",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        0,
        256
      ],
      "parameters": {
        "options": {},
        "operation": "pdf"
      },
      "typeVersion": 1
    },
    {
      "id": "84a28f1c-27f5-4aa1-9f71-1c3464e213d2",
      "name": "CV 적격성 평가 에이전트",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        192,
        256
      ],
      "parameters": {
        "text": "=You are an expert HR assistant specializing in CV analysis and candidate qualification.From {{ $json.text }} Your task is to extract key information from CV content and categorize candidates based on their experience level.\nInstructions:\nAnalyze the provided CV text and extract the following information with high accuracy:\n\nFull Name: Extract the candidate's complete name (first and last name)\nPhone Number: Find and format phone numbers (include country code if available without + )\nEmail Address: Extract the primary email address\nJob Title: Identify the current or most recent job title/position\nExperience Analysis: Calculate total years of professional experience and categorize\n\nExperience Categorization Rules:\n\nJunior: 0-3 years of professional experience\nSenior: 3-6 years of professional experience\nExpert: 6+ years of professional experience\n\nExperience Calculation Guidelines:\n\nCount only professional work experience (internships count as 0.5x)\nCalculate total duration from all positions\nIf less than 12 months, express in months\nIf 12+ months, express in years (round to 1 decimal place)\nOverlapping positions should not be double-counted\nConsider career gaps but focus on actual work experience\n\n\nOutput Format:\nReturn ONLY a valid JSON object in this exact format:\n\n{\n  \"name\": \"Full Name Here\",\n  \"phone_number\": \"+1234567890 or Not Found\",\n  \"email\": \"email@example.com or Not Found\",\n  \"job_title\": \"Current/Recent Job Title or Not Found\",\n  \"experience\": [\"Category: X.X years\"]\n}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "b4721c8b-26b4-4d16-a028-4bba586de195",
      "name": "PDF 요청",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -928,
        688
      ],
      "webhookId": "[WEBHOOK_ID_REMOVED]",
      "parameters": {
        "text": "Please send your CV in PDF format only",
        "chatId": "={{ $json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "[CREDENTIAL_ID_REMOVED]",
          "name": "Telegram Bot Account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "299bf1d9-da18-422b-86fc-88e3ced3a966",
      "name": "CV 저장",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        0,
        0
      ],
      "parameters": {
        "name": "={{ $('Message Trigger').item.json.message.document.file_name }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "[YOUR_FOLDER_ID]",
          "cachedResultUrl": "https://drive.google.com/drive/folders/[YOUR_FOLDER_ID]",
          "cachedResultName": "HR-CVs"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "[CREDENTIAL_ID_REMOVED]",
          "name": "Google Drive Account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "9a11470f-8693-4305-a747-589e10883227",
      "name": "병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        0,
        544
      ],
      "parameters": {
        "mode": "chooseBranch",
        "useDataOfInput": 2
      },
      "typeVersion": 3.2
    },
    {
      "id": "d1e8219e-1a93-4d2b-9b95-2788c46f20b8",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        272
      ],
      "parameters": {
        "color": 3,
        "width": 192,
        "height": 224,
        "content": "Captures incoming CV PDFs from candidates"
      },
      "typeVersion": 1
    },
    {
      "id": "f54b90e6-6f6e-47cb-ba08-5bb30a19c56b",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        272
      ],
      "parameters": {
        "color": 4,
        "width": 192,
        "height": 224,
        "content": "Filters out non-PDF submissions"
      },
      "typeVersion": 1
    },
    {
      "id": "8a4f5f7e-4629-442d-a615-ec316dab9107",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        176
      ],
      "parameters": {
        "color": 5,
        "width": 192,
        "height": 208,
        "content": " Gets the file download link from Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "dbffccb2-9d00-41ca-b72a-77552d4bef79",
      "name": "스티키 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -432,
        176
      ],
      "parameters": {
        "color": 4,
        "width": 192,
        "height": 208,
        "content": "Downloads the actual PDF file"
      },
      "typeVersion": 1
    },
    {
      "id": "cda722d0-a7c3-4ced-bb09-158eea9007d3",
      "name": "스티키 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        576
      ],
      "parameters": {
        "color": 5,
        "width": 176,
        "height": 256,
        "content": " Sends a message asking the user to resend the CV in PDF format if validation fails."
      },
      "typeVersion": 1
    },
    {
      "id": "83aad1ce-0738-483d-a0df-9d04324d26cf",
      "name": "스티키 노트5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -64
      ],
      "parameters": {
        "color": 5,
        "width": 192,
        "height": 208,
        "content": "Uploads the downloaded PDF file to Google Drive."
      },
      "typeVersion": 1
    },
    {
      "id": "7d5e134a-cc84-43b0-9e43-f258e1cc28b3",
      "name": "스티키 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        448
      ],
      "parameters": {
        "color": 5,
        "width": 192,
        "height": 240,
        "content": "Combines the file storage and download paths to pass data forward to extraction."
      },
      "typeVersion": 1
    },
    {
      "id": "8cf9d727-a25c-48e9-a65f-e621c0ea7ff2",
      "name": "스티키 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        192
      ],
      "parameters": {
        "color": 4,
        "width": 176,
        "height": 224,
        "content": "Extracts text content from the uploaded PDF file for analysis."
      },
      "typeVersion": 1
    },
    {
      "id": "dc51feca-11d5-4f83-8b50-82d45929d2d1",
      "name": "스티키 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        160
      ],
      "parameters": {
        "color": 6,
        "height": 240,
        "content": "Analyzes CV text and extracts structured data like name, phone number, email, experience, and job title."
      },
      "typeVersion": 1
    },
    {
      "id": "b9cfbd21-df7c-4d25-ad4a-c02c1ff3e533",
      "name": "스티키 노트9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        160
      ],
      "parameters": {
        "color": 5,
        "width": 192,
        "height": 256,
        "content": " Cleans and maps the structured JSON AI output into individual fields for use in Google Sheets"
      },
      "typeVersion": 1
    },
    {
      "id": "59bbda91-ff07-437d-a384-1e513faeaa3a",
      "name": "스티키 노트10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        144
      ],
      "parameters": {
        "color": 4,
        "width": 224,
        "height": 272,
        "content": "Saves the extracted candidate information and CV link into a Google Sheet, updating existing entries if needed."
      },
      "typeVersion": 1
    },
    {
      "id": "ad464c7a-8b69-47ad-9b9f-8ba57af6d728",
      "name": "추출 데이터 정리 및 매핑",
      "type": "n8n-nodes-base.set",
      "position": [
        608,
        256
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "91323867-f4bf-4bcc-a696-6524795e082f",
              "name": "full name",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).name }}\n"
            },
            {
              "id": "33d44685-8463-4730-8bb4-c1f006f6a466",
              "name": "phone number",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).phone_number }}\n"
            },
            {
              "id": "915dec92-ad74-423a-a81e-30b027100eb1",
              "name": "experiene",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).experience }}"
            },
            {
              "id": "5c7cbab9-8090-436e-962f-6626f6855393",
              "name": "job title",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).job_title }}\n"
            },
            {
              "id": "27984293-5bcd-4b43-9316-95ae05200018",
              "name": "email",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).email }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f0c044fa-2d29-4db6-b723-a735f799aef7",
      "name": "후보자 정보 시트에 저장",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        800,
        256
      ],
      "parameters": {
        "columns": {
          "value": {
            "CV": "=\"CV\": \"=https://drive.google.com/file/d/{{ $node['Store CV'].json.id }}/view\"",
            "Name": "={{ $json[\"full name\"] }}",
            "Email": "={{ $json.email }}",
            "Job Title": "={{ $json['job title'] }}",
            "Experience": "={{ $json.experiene }}",
            "Phone Number": "={{ $json[\"phone number\"] }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Experience",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Experience",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Phone Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CV",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "CV",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job Title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Job Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "[YOUR_SPREADSHEET_ID]",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit",
          "cachedResultName": "HR CV Filter"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "[CREDENTIAL_ID_REMOVED]",
          "name": "Google Sheets Account"
        }
      },
      "typeVersion": 4.6
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "[VERSION_ID_REMOVED]",
  "connections": {
    "9a11470f-8693-4305-a747-589e10883227": {
      "main": [
        [
          {
            "node": "e91d4847-c1f0-4600-94d1-2ff61da3e68f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "299bf1d9-da18-422b-86fc-88e3ced3a966": {
      "main": [
        [
          {
            "node": "9a11470f-8693-4305-a747-589e10883227",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dcd295a9-1f02-40e3-8cdc-ecba77eb5a86": {
      "main": [
        [
          {
            "node": "ab833633-da0d-4977-ab62-329b94a9a6eb",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b4721c8b-26b4-4d16-a028-4bba586de195",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cbc5c20a-7d3e-49b9-8c05-9e5657cb7ecf": {
      "main": [
        [
          {
            "node": "dcd295a9-1f02-40e3-8cdc-ecba77eb5a86",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ab833633-da0d-4977-ab62-329b94a9a6eb": {
      "main": [
        [
          {
            "node": "a4d42d7f-dcc8-4fc0-8ffd-e8113d7b74b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "84a28f1c-27f5-4aa1-9f71-1c3464e213d2": {
      "main": [
        [
          {
            "node": "ad464c7a-8b69-47ad-9b9f-8ba57af6d728",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e91d4847-c1f0-4600-94d1-2ff61da3e68f": {
      "main": [
        [
          {
            "node": "84a28f1c-27f5-4aa1-9f71-1c3464e213d2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a4d42d7f-dcc8-4fc0-8ffd-e8113d7b74b7": {
      "main": [
        [
          {
            "node": "299bf1d9-da18-422b-86fc-88e3ced3a966",
            "type": "main",
            "index": 0
          },
          {
            "node": "9a11470f-8693-4305-a747-589e10883227",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "bfc4232c-670f-4f0b-95a6-ae980cdc1f00": {
      "ai_languageModel": [
        [
          {
            "node": "84a28f1c-27f5-4aa1-9f71-1c3464e213d2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "ad464c7a-8b69-47ad-9b9f-8ba57af6d728": {
      "main": [
        [
          {
            "node": "f0c044fa-2d29-4db6-b723-a735f799aef7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 인사, AI 요약

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수23
카테고리2
노드 유형12
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Abdullah Alshiekh

Abdullah Alshiekh

@abdullah01

🚀 Automation pro building AI-powered workflows with n8n. 💼 Special focus on real use cases 🔧 Love clean, flexible, and business-ready automations.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34