📋
概念 #n8n #ユースケース #採用自動化 #履歴書スクリーニング #AI #HR #OpenAI 📚 n8nワークフロー自動化

AIで履歴書を自動スクリーニング・スコアリングする

Gmail受信の応募書類PDFをOpenAIが解析し、採用要件との適合度を0〜100でスコアリング。書類通過者は自動で面接調整フロー、不通過者には自動不合格通知を送るワークフロー。

ユースケース概要

採用担当者が毎回手動で確認していた履歴書選考をAIで自動化する。応募メール受信→PDF解析→スコアリング→合否判定→通知まで完全自動化。

解決する課題: 月50〜100件の応募書類を1枚ずつ開いて確認する作業(1件10分 = 最大16時間/月)を削減し、採用担当者が面接・候補者体験の改善に集中できるようにする

使用するn8nノード:

  • Gmail Trigger(応募メール受信)
  • Code(PDF添付ファイルのテキスト抽出)
  • OpenAI Chat Model(スコアリング)
  • IF(合否判定)
  • Airtable(応募者管理DB)
  • Gmail(自動通知送信)
  • Slack(採用担当への通知)

ワークフロー構成

[Gmail Trigger: jobs@yourcompany.com の新着メール]

[Code: 添付PDFのテキストを抽出]

[OpenAI: 採用要件との適合度をスコアリング(JSON出力)]

[Airtable: 応募者情報・スコアを記録]

[IF: score >= 70]
  ├── 通過 → [Slack: 採用担当に「書類通過候補者」通知]
  │            [Gmail: 候補者に「書類選考通過」メール]
  └── 不通過 → [Wait: 2日後(すぐ返信しない配慮)]
                    [Gmail: 丁寧な不合格通知メール]

実装手順

Step 1: Gmail Triggerの設定

Polling: Every 5 Minutes
Filter: to:jobs@yourcompany.com has:attachment

Step 2: PDF添付ファイルのテキスト抽出(Codeノード)

// n8nのバイナリデータからPDFテキストを取得
// ※ テキストPDFの場合。画像スキャンPDFはOpenAI Vision APIを使用
const binaryKey = Object.keys($binary)[0];
const binaryData = $binary[binaryKey];

// base64デコードしてバッファに変換
const pdfBuffer = Buffer.from(binaryData.data, 'base64');

// pdfkitではなくpdf-parseを使用(要許可設定)
const pdf = require('pdf-parse');
const pdfData = await pdf(pdfBuffer);

return [{
  json: {
    ...$json,
    resumeText: pdfData.text.substring(0, 4000), // トークン上限に配慮
    pages: pdfData.numpages
  }
}];

Step 3: OpenAIでスコアリング

Model: gpt-4o-mini(コスト効率重視)
System Prompt:
あなたは採用AIアシスタントです。
以下の採用要件と履歴書を比較し、JSONのみで回答してください。

採用要件:
- 職種: バックエンドエンジニア
- 必須: TypeScript 3年以上、RDB設計経験
- 歓迎: AWS、Docker、チームリード経験
- NG: 学歴不問だが具体的な実務経験がない

{
  "score": 0-100の整数,
  "strengths": ["強みのリスト(3点まで)"],
  "concerns": ["懸念点のリスト(3点まで)"],
  "recommendation": "pass|hold|reject",
  "reason": "判断理由を50文字以内で"
}

User Message:
履歴書全文:
{{ $json.resumeText }}

Step 4: Airtableへの記録

Table: 応募者管理
Fields:
  氏名: {{ $json.applicantName }}(Gmailの差出人名)
  メール: {{ $json.from }}
  スコア: {{ $json.score }}
  強み: {{ $json.strengths.join(', ') }}
  懸念点: {{ $json.concerns.join(', ') }}
  判定: {{ $json.recommendation }}
  応募日: {{ $now.toISO() }}

Step 5: 採用担当へのSlack通知(書類通過時)

Channel: #hiring-team
Message:
📄 *新規書類通過候補者*

スコア: {{ $json.score }}/100({{ $json.recommendation }})
氏名: {{ $json.from }}
強み: {{ $json.strengths.join(' / ') }}
懸念点: {{ $json.concerns.join(' / ') }}
判断理由: {{ $json.reason }}

Airtable: {{ $('Airtable').first().json.url }}

ポイント・注意事項

  • AIのスコアリングはあくまで「参考指標」。最終判断は人間が行う運用が望ましい
  • スコア70という閾値は職種・採用フェーズによって調整する。倍率が高い場合は80に上げる
  • 不合格通知は即時送信を避け、2日後に送ることで「すぐに弾かれた」という印象を緩和する
  • 個人情報(履歴書データ)をOpenAIに送信するため、プライバシーポリシーと応募規約への記載が必要

関連機能

  1. 1. 🔄n8n概要 - ワークフロー自動化プラットフォーム
  2. 2. ⚙️n8nワークフローの基本(ノード・コネクション・実行)
  3. 3. n8nトリガーの種類(Webhook・スケジュール・イベント)
  4. 4. 🔀n8nロジック制御(フィルター・条件分岐・ループ・マージ)
  5. 5. 🌐n8n HTTP Request・API連携
  6. 6. 🔗n8n主要インテグレーション(Slack・Gmail・GitHub)
  7. 7. 🛡️n8nエラーハンドリング・デバッグ
  8. 8. 🤖n8n AI・LLMエージェント(Chain・Agent)
  9. 9. 💻n8n Codeノード・カスタム処理
  10. 10. 🏢n8nエンタープライズ機能(ソース管理・シークレット・チーム管理)
  11. 11. 🌤️毎朝SlackにAIで天気・ニュースを通知する
  12. 12. 📊GitHubのPRをGoogleシートに自動記録する
  13. 13. 📧新規ユーザー登録時にWelcomeメールを自動送信する
  14. 14. 💳StripeのWebhookで決済完了を検知して処理する
  15. 15. 📈スケジュールトリガーで週次レポートを自動生成する
  16. 16. 🎫Gmailトリガーでサポートメールを自動Notionチケット化する
  17. 17. 🎯条件分岐でリード属性に応じて担当者を振り分ける
  18. 18. 📨ループ処理でリストを走査し一括メール送信する
  19. 19. 📋複数APIのデータをマージして統合レポートを作成する
  20. 20. 🗄️外部REST APIからデータを取得してDBに保存する
  21. 21. 🔍GraphQL APIでGitHubのIssueを取得・加工する
  22. 22. 🔐Bearer認証付きAPIを呼び出してデータ同期する
  23. 23. SlackとNotionを連携したチームタスク管理フロー
  24. 24. 🤝GmailとHubSpotを連携したCRM自動化フロー
  25. 25. 🚀GitHubデプロイイベントをSlackに通知する
  26. 26. 🚨APIエラー発生時にSlackへアラートを送る
  27. 27. 🔁リトライ付きの堅牢なデータ同期フローを構築する
  28. 28. 📝エラーログをAirtableに自動記録する
  29. 29. 🤖LLMを使ったカスタマーサポート自動応答ボット
  30. 30. 🔎ドキュメントRAG検索システムを構築する
  31. 31. 📬AIでメール内容を自動分類・ルーティングする
  32. 32. 🔧JavaScriptで複雑なデータ変換処理を実装する
  33. 33. 📄npmライブラリを使ったPDF自動生成フロー
  34. 34. ✔️カスタムバリデーションロジックをCodeノードで実装する
  35. 35. 🗂️Gitでワークフローをバージョン管理する
  36. 36. 🌍環境変数で本番・ステージングを切り替える
  37. 37. 👥チームでのワークフロー共同管理フロー
  38. 38. 📋AIで履歴書を自動スクリーニング・スコアリングする
  39. 39. 🧾請求書PDFをOCRで自動データ入力・会計ソフト登録する
  40. 40. 📱ブログ記事→SNS自動投稿パイプラインを構築する
  41. 41. 📦Shopify注文処理を完全自動化する(在庫・配送・顧客通知)
  42. 42. 🔔予約リマインダーを自動送信してノーショーを削減する
  43. 43. 📊経営ダッシュボードを毎朝Slackに自動配信する
  44. 44. 🔭競合情報を自動収集してWeeklyレポートにまとめる
  45. 45. 🎉新入社員オンボーディングを完全自動化する

出典: https://n8n.io/workflows/6609-ai-powered-recruitment-system-for-resume-screening-and-automated-outreach-with-gpt-4/