07 - 採用スクリーニングエンジンの自動化

中級

これはHR分野の自動化ワークフローで、10個のノードを含みます。主にCode, Filter, HttpRequest, GoogleSheets, ScheduleTriggerなどのノードを使用。 JSearch API および Google Sheets を使った求人情報検索・フィルタリングの自動化

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "49jPs7OkPU0PqODZ",
  "meta": {
    "instanceId": "c91c5b6efe2709e07c37996245857ac5d863d575d07e0072127351337c204c40",
    "templateCredsSetupCompleted": true
  },
  "name": "07 - Automated Job Curation Engine",
  "tags": [],
  "nodes": [
    {
      "id": "c4d4a93c-2aca-4090-88b7-3b8e75ed7984",
      "name": "⏰ スケジュール: 毎日トリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -340,
        440
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "32968ac3-397b-419c-a3f4-fd8192030515",
      "name": "📄 スプレッドシートから保留中の職種を読み取る",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -120,
        440
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": true
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "Pending",
              "lookupColumn": "Status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit#gid=0",
          "cachedResultName": "Your_Sheet_No"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit?usp=drivesdk",
          "cachedResultName": "Job Scraper"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "LJQH5glroAM1SiFe",
          "name": "Google Sheets account - (DEV)"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "f5f29814-a6b2-4178-a84b-9646130340d8",
      "name": "🌐 JSearch API経由で求人を検索",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        100,
        440
      ],
      "parameters": {
        "url": "https://jsearch.p.rapidapi.com/search",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ $json.Position + ' in ' + $json.Location }}"
            },
            {
              "name": "page",
              "value": "1"
            },
            {
              "name": "num_pages",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "X-RapidAPI-Key",
              "value": "YOUR_RAPIDAPI_KEY"
            },
            {
              "name": "X-RapidAPI-Host",
              "value": "jsearch.p.rapidapi.com"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "cfd205db-f9b1-4906-8b42-3529a7d7bffe",
      "name": "🧠 APIレスポンスから求人データを抽出",
      "type": "n8n-nodes-base.code",
      "position": [
        320,
        440
      ],
      "parameters": {
        "jsCode": "const allItems = [];\n\nfor (const item of items) {\n  const jobs = item.json.data || [];\n  for (const job of jobs) {\n    allItems.push({\n      json: {\n        title: job.job_title,\n        company: job.employer_name,\n        location: `${job.job_city}, ${job.job_country}`,\n        apply_link: job.job_apply_link,\n        is_remote: job.job_is_remote,\n        posted_date: job.job_posted_at_datetime_utc,\n      }\n    });\n  }\n}\n\nreturn allItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "a54cfdfd-b0f9-4027-9309-3aae34ff3564",
      "name": "🔍 有効な求人情報を選別",
      "type": "n8n-nodes-base.filter",
      "position": [
        540,
        440
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "579057db-1ec8-4a3b-8dca-7169d9699521",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.title }}",
              "rightValue": "="
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bdd89987-6256-408b-8bd5-0cd0154dd300",
      "name": "📊 求人情報を出力用シートに書き込む",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        760,
        440
      ],
      "parameters": {
        "columns": {
          "value": {
            "Title": "={{ $json.title }}",
            "Company": "={{ $json.company }}",
            "Location": "={{ $json.location }}",
            "Is Remote": "={{ $json.is_remote }}",
            "Posted On": "={{ $json.posted_date }}",
            "Apply Link": "={{ $json.apply_link }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Apply Link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Apply Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Is Remote",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Is Remote",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Posted On",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Posted On",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Apply Link"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit#gid=0",
          "cachedResultName": "Your_Sheet_No"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "Your_Sheet_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit?usp=drivesdk",
          "cachedResultName": "Job Listing"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "LJQH5glroAM1SiFe",
          "name": "Google Sheets account - (DEV)"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "b834f983-9319-4c96-bf9f-7adbee871647",
      "name": "✅ ソースシートで求人をスクレイピング済みとしてマーク",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        980,
        440
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Scraped",
            "row_number": "={{ $('📄 Read Pending Job Role from Sheet').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "Position",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit#gid=0",
          "cachedResultName": "Your_Sheet_No"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{Your_Sheet_ID}}/edit?usp=drivesdk",
          "cachedResultName": "Job Scraper"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "LJQH5glroAM1SiFe",
          "name": "Google Sheets account - (DEV)"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.6
    },
    {
      "id": "b9c7a999-6c09-48e5-aea8-b5a14e30ed51",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -380,
        200
      ],
      "parameters": {
        "width": 420,
        "height": 520,
        "content": "## Trigger & Input\n\n• Triggers the workflow on a defined hourly interval.\n• Fetches a single row from the \"Job Scraper\" sheet where Status = \"Pending\".\n• This row includes 'Position' and 'Location' values for the job search.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c987a1d7-03a7-40b1-99d3-57d9049b3c32",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        200
      ],
      "parameters": {
        "color": 3,
        "width": 620,
        "height": 520,
        "content": "## Job Search & Processing\n\n• Sends query (Position + Location) to the JSearch API.\n• Parses the API response and extracts individual job listings.\n• Filters out empty or invalid results to ensure clean output.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8c5c5acc-6b1b-4ece-b4c2-af47bda1ecd2",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        200
      ],
      "parameters": {
        "color": 4,
        "width": 460,
        "height": 520,
        "content": "## Output & Status Update\n\n• Writes valid jobs to the \"Job Listing\" sheet with fields like title, location, company, etc.\n• Marks the original row in the source sheet as \"Scraped\" using the row number for tracking.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5e71e30c-da84-4500-bea9-ce72b5596424",
  "connections": {
    "a54cfdfd-b0f9-4027-9309-3aae34ff3564": {
      "main": [
        [
          {
            "node": "bdd89987-6256-408b-8bd5-0cd0154dd300",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c4d4a93c-2aca-4090-88b7-3b8e75ed7984": {
      "main": [
        [
          {
            "node": "32968ac3-397b-419c-a3f4-fd8192030515",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bdd89987-6256-408b-8bd5-0cd0154dd300": {
      "main": [
        [
          {
            "node": "b834f983-9319-4c96-bf9f-7adbee871647",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f5f29814-a6b2-4178-a84b-9646130340d8": {
      "main": [
        [
          {
            "node": "cfd205db-f9b1-4906-8b42-3529a7d7bffe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "32968ac3-397b-419c-a3f4-fd8192030515": {
      "main": [
        [
          {
            "node": "f5f29814-a6b2-4178-a84b-9646130340d8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cfd205db-f9b1-4906-8b42-3529a7d7bffe": {
      "main": [
        [
          {
            "node": "a54cfdfd-b0f9-4027-9309-3aae34ff3564",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - 人事

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数10
カテゴリー1
ノードタイプ6
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Avkash Kakdiya

Avkash Kakdiya

@itechnotion

🚀 Founder of iTechNotion — we build custom AI-powered automation workflows for startups, agencies, and founders. 💡 Specializing in agentic AI systems, content automation, sales funnels, and digital workers. 🔧 14+ years in tech | Building scalable no-code/low-code solutions using n8n, OpenAI, and other API-first tools. 📬 Let’s automate what slows you down.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34