본문으로 건너뛰기
n8n.io 인기 템플릿 해부 · 9/40시리즈 보기 →

n8n 이력서 자동 심사 만들기 — Mistral OCR와 Gemini로 CV 스크리닝 자동화

· 약 7분
Datapopcorn CEO / AI automation educator
이 글과 연결된 글 보기
7편 · 21개 연결
100%
n8n 워크플로우 자동복구 템플릿 — AI가 승인 없이 운영 워크플로우를 직접 고친다n8n Calendly 링크 자동생성 — 웹훅 요청 하나로 1회용 예약 링크 만들기n8n 고객 온보딩 자동화 — HubSpot 등록과 이메일 드립 시퀀스, AI 없이 만들기n8n 이력서 자동 심사 만들기 — Mistral OCR와 Gemini로 CV 스크리닝 자동화폼 제출 한 번으로 서버에 Docker 앱을 배포하는 n8n 워크플로우 — Hostinger 공식 템플릿, 셀프호스팅과 유료 VPS 둘 다 필요n8n Jamf 패치 관리 자동화 — 슬랙으로 받는 소프트웨어 컴플라이언스 리포트n8n으로 반복업무 자동화 포트폴리오 만들기

드래그로 이동 · 휠/두 손가락으로 확대 · 방향키로 글 선택 · 0으로 맞춤. 실선: 본문 링크, 점선: 시리즈·주제의 대표 연결.

표시된 글 7편 목록
전체 글 연결 탐색

n8n.io 공식 템플릿 마켓플레이스에 공개된 이력서 자동 심사 워크플로우를 가져오면, 지원자가 웹 폼에 이력서를 올리는 순간 Mistral OCR가 텍스트를 뽑고 Gemini가 채용 요건과 대조해 점수와 설명을 매겨 구글시트 한 줄로 정리되는 채용 심사 파이프라인을 약 15분 만에 만들 수 있습니다.

이 템플릿 하나로 보여줄 수 있는 것​

면접에서 요즘 자주 나오는 질문 중 하나가 "AI로 문서를 분석해본 적 있나요?"입니다. 이 템플릿은 그 질문에 실제 사례로 답할 수 있게 해주는데, 특이하게도 분석 대상 문서가 바로 이력서입니다. "지원자가 웹 폼에 이력서를 올리면 OCR로 텍스트를 뽑고, AI가 채용 요건과 대조해 점수와 설명을 매겨 구글시트에 정리하는 채용 심사 파이프라인을 n8n으로 구성해봤습니다"라고 말할 수 있습니다.

문장 하나지만 안에 들어간 역량은 세 가지입니다.

  • 멀티모달 문서 처리 — PDF라는 비정형 파일을 OCR로 텍스트로 바꾸고, 그 텍스트를 다시 AI 분석의 입력으로 넘기는 파이프라인을 구성한 경험
  • AI 채점과 구조화 출력 — LLM에게 "채점하고 이유를 설명하라"는 역할을 주고, 그 결과를 JSON Output Parser로 표에 바로 들어갈 수 있는 형태로 강제한 경험
  • 실패에 강한 로깅 설계 — 뒤에 오는 AI 분석 단계가 실패하더라도 지원자 이름과 이메일은 먼저 기록해, 지원 이력 자체는 잃지 않게 만든 경험

그런데 이 템플릿은 포트폴리오용 역량 나열 이상의 것을 보여줍니다. 지금 이력서를 넣고 있는 취준생 입장에서 보면, 이 워크플로우는 "내 이력서가 이렇게 심사될 수도 있다"는 걸 코드 레벨로 확인할 수 있는 거울이기도 합니다. 뒤에서 볼 채점 단계에서 AI는 이력서 텍스트를 채용 공고의 요건 문단과 그대로 대조해 점수를 매깁니다. 즉 이 프롬프트를 직접 만들어보면, 채용 공고에 적힌 표현과 이력서에 적힌 표현이 얼마나 겹치느냐가 실제로 점수에 영향을 준다는 사실을 눈으로 확인하게 됩니다. 채용 담당자 시선으로 이 템플릿을 한 번 만들어보는 경험이, 지원자 시선에서 자기 이력서를 다시 읽는 데도 그대로 도움이 됩니다.

이 템플릿은 무엇인가​

이 워크플로우는 데이터팝콘이 만든 게 아닙니다. n8n 공식 템플릿 마켓플레이스(n8n.io/workflows)에 Automate CV screening with AI candidate analysis라는 이름으로 공개된 템플릿이고, 제작자는 Lucas Peyrin입니다. 카테고리는 HR과 Multimodal AI로 등록돼 있습니다.

공식 설명에 따르면 이 템플릿은 웹 폼으로 채용 지원서를 받아, AI가 지원자의 이력서를 채용 공고와 대조해 분석하고 그 결과를 구글시트에 정리하는 채용 파이프라인 초기 단계를 자동화한 CV 스캐너입니다.

n8n 설치나 기본 노드 조작법은 n8n으로 반복업무 자동화 포트폴리오 만들기에 정리돼 있으니, 이 글은 이 템플릿의 구조 자체에 집중합니다.

구조 — Trigger / Task / Target​

공식 문서의 "How it works"와 단계별 설명을 데이터팝콘 방식인 Trigger/Task/Target 세 칸으로 정리하면 이렇습니다. 지원서가 들어올 때마다 도는 본 흐름과 별개로, 스프레드시트를 처음 한 번 만들어두는 수동 흐름이 하나 더 있습니다.

  • Trigger — Form Trigger가 지원서 제출 순간 본 흐름을 시작합니다. Manual Trigger(Start Here)는 최초 설정 때 딱 한 번 눌러 CVs 스프레드시트를 만드는 용도로 따로 있습니다.
  • Task — 제출 즉시 이름과 이메일을 구글시트에 먼저 기록해 지원 이력을 남기고, 업로드된 이력서 PDF는 Extract CV Text 노드(Mistral OCR)로 텍스트화됩니다. 이 텍스트는 AI Qualification 노드로 들어가는데, 여기 연결된 Gemini 2.5 Flash Lite가 채용 요건과 대조해 점수와 설명을 만들고, JSON Output Parser가 그 결과를 정해진 필드로 구조화합니다.
  • Target — 최종 결과는 점수와 설명이 채워진 지원자의 구글시트 행입니다. 초기 로그와 최종 분석이 같은 지원자 레코드로 합쳐지는 구조입니다.

마켓플레이스 카드 미리보기에는 Google Sheets, Sticky Note, Manual Trigger 등 일부 노드명과 "+5 more" 표시만 나옵니다. 위 구조는 카드 미리보기가 아니라 공식 How it works·Setup 문서에 실제로 이름이 언급된 노드만으로 정리한 것입니다.

만들기​

공식 Setup 단계는 총 6개이고, 공식 문서 기준 소요 시간은 약 15분입니다. 순서는 그대로 두고 각 단계에서 무엇을 확인해야 하는지를 풀어씁니다.

1. Mistral API 키 발급​

console.mistral.ai/api-keys에서 API 키를 발급받아 Extract CV Text 노드의 크리덴셜에 붙여넣습니다. 이 노드가 이력서 PDF를 텍스트로 바꾸는 OCR을 담당합니다.

2. Google AI API 키 발급​

aistudio.google.com/app/apikey에서 API 키를 발급받아 Gemini 2.5 Flash Lite 노드의 크리덴셜에 붙여넣습니다. 이 모델이 이력서를 채점하는 역할을 합니다.

3. 구글 계정 크리덴셜 연결​

Create 'CVs' Spreadsheet 노드에서 구글 계정 크리덴셜을 새로 만들고, 같은 크리덴셜을 Log Candidate Submission과 Add CV Analysis 두 노드에도 재사용합니다. 세 노드가 모두 같은 구글시트를 다루기 때문에 크리덴셜 하나를 공유하면 됩니다.

4. CVs 스프레드시트 자동 생성​

Start Here 노드의 재생 아이콘을 누르면 올바른 칼럼 구성을 갖춘 CVs 구글시트가 자동으로 만들어집니다. 시트 구조를 손으로 설계할 필요가 없다는 뜻입니다.

5. 채용 공고 내용 채워넣기​

AI Qualification 노드의 Text 파라미터 안 job_requirements 항목에 들어 있는 예시 채용 공고를 실제 채용 공고로 바꿔 넣습니다. 공식 문서는 이 항목을 더 자세히 적을수록 채점 품질이 올라간다고 설명합니다. AI가 이 텍스트를 기준으로 이력서를 대조하기 때문입니다.

6. 활성화하고 테스트 제출​

워크플로우를 Active로 켠 뒤 Application Form 노드의 "Open Form URL"을 열어 테스트 지원서를 한 건 제출해봅니다. 구글시트에 새 행이 뜨는지 확인하면 설정이 끝난 겁니다.

주의할 점 · 제약​

공식 문서와 노드 구조에서 확인되는 제약을 정리하면 다섯 가지입니다.

  • 서로 다른 세 곳의 크리덴셜이 필요합니다. Mistral, Google AI Studio(Gemini), 구글 계정(시트)까지 세 서비스를 각각 준비해야 해서, 하나의 서비스로 끝나는 템플릿보다 초기 설정 시간이 깁니다.
  • 지원 폼은 공개 웹 폼입니다. 이름·이메일·이력서 PDF 같은 지원자 개인정보가 별도 로그인 없이 시트로 들어오는 구조라서, 실제 채용에 쓴다면 시트 접근 권한과 개인정보 보관 정책을 별도로 챙겨야 합니다.
  • 초기 로깅과 AI 분석이 분리돼 있습니다. OCR이나 Gemini 호출이 중간에 실패하면 이름·이메일만 있고 점수·설명 칸은 비어 있는 행이 시트에 남을 수 있습니다. 공식 문서는 이를 "지원자를 놓치지 않는" 설계로 설명하지만, 운영 중이라면 빈 칸이 있는 행을 주기적으로 확인하는 절차가 따로 필요합니다.
  • 채점 품질이 프롬프트에 넣은 채용 공고의 상세도에 좌우됩니다. 공식 문서도 "더 상세할수록 채점이 좋아진다"고 명시합니다. 짧은 한두 줄짜리 공고만 넣으면 점수의 변별력이 떨어질 수 있습니다.
  • 전체 노드 구성이 공식 문서에 다 공개돼 있지는 않습니다. How it works와 Setup 단계에 등장하는 노드 이름 외의 세부 파라미터(예: 정확한 프롬프트 전문, 시트 칼럼 전체 목록)는 공식 페이지에 나오지 않아 이 글에도 담지 않았습니다.

포트폴리오·면접 포인트​

포트폴리오에는 지원 폼에 테스트 지원서를 제출하는 장면과, 구글시트에 점수와 설명이 채워진 행이 뜨는 장면 두 개를 캡처해두면 됩니다. 여기에 실제 채용 공고 하나를 job_requirements에 넣고 서로 다른 이력서 두세 개를 각각 제출해 점수 차이가 나는 걸 함께 보여주면, 템플릿을 그대로 가져다 쓴 것 이상의 이해를 보여줄 수 있습니다.

면접에서는 "AI가 이력서를 채점한다면 편향은 어떻게 다루나요?" 같은 질문이 따라올 수 있습니다. 이 템플릿을 직접 만들어봤다면 "점수는 프롬프트에 넣은 채용 요건 텍스트와 이력서 텍스트를 대조해 만들어지고, 그 요건을 얼마나 구체적으로 쓰느냐가 채점 품질을 좌우한다는 걸 노드 설정에서 확인했다"고 구체적으로 답할 수 있습니다. 이 구조를 이해했다면 취준생 입장에서 "내 이력서도 이런 방식으로 스캔될 수 있으니, 채용 공고의 핵심 요건 표현을 이력서에도 그대로 반영해야 한다"는 실전 조언까지 함께 말할 수 있습니다. 노드 이름을 나열하는 데 그치지 않고 채점 구조가 지원자에게 어떤 의미인지까지 설명할 수 있으면, 다른 지원자와 구분됩니다.

다음 액션​

다음 편에서는 같은 마켓플레이스에 공개된 인보이스 PDF 파싱 템플릿을 다룹니다. LlamaParse로 문서를 구조화하고 Airtable에 헤더와 라인아이템을 관계형으로 나눠 저장하는 구조인데, 이번 편에서 본 "문서를 텍스트로 뽑고 AI로 구조화해 표에 저장하는" 패턴을 인보이스라는 다른 문서 유형에 한 번 더 적용해보는 셈입니다.