OpenRouter GPT-5とメールによる職業機会の要約自動化
上級
これは自動化ワークフローで、18個のノードを含みます。主にCode, Html, Merge, Filter, EmailSendなどのノードを使用。 OpenRouter GPT-5 そしてメールによる仕事機会の自動まとめ
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
使用ノード (18)
カテゴリー
-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "42450f423595f391b7c323eb4191c0bc81df9f6de5483a12f34f76cb4146556c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "dc1dcca4-8789-4403-841a-690878eb0a53",
"name": "各投稿",
"type": "n8n-nodes-base.httpRequest",
"position": [
576,
-96
],
"parameters": {
"url": "={{ $json[\"jobLink\"] }}",
"options": {
"batching": {
"batch": {
"batchSize": 10,
"batchInterval": 5000
}
}
}
},
"typeVersion": 4.2
},
{
"id": "3b059cf0-931e-4ce1-8354-11382920d3d0",
"name": "タイトルと説明を抽出",
"type": "n8n-nodes-base.html",
"position": [
864,
-240
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "jobDescription",
"attribute": "content",
"cssSelector": "meta[property=\"og:description\"]",
"returnValue": "attribute"
},
{
"key": "jobTitle",
"attribute": "content",
"cssSelector": "meta[property=\"og:title\"]",
"returnValue": "attribute"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "6b041491-47c6-4194-98ab-c410631b16e7",
"name": "過去7日間",
"type": "n8n-nodes-base.filter",
"position": [
352,
32
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "551c6c94-a861-47b7-8850-32fadf883736",
"operator": {
"type": "dateTime",
"operation": "after"
},
"leftValue": "={{ $json.date }}",
"rightValue": "={{$now.minus({days: 7})}} "
}
]
}
},
"typeVersion": 2.2
},
{
"id": "16422542-708f-4af7-8ecc-b0633fa55beb",
"name": "リストページを取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
-320,
32
],
"parameters": {
"url": "https://community.n8n.io/c/jobs/13",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "971564de-3d6b-4f55-bfd8-4c4c80635885",
"name": "投稿を抽出",
"type": "n8n-nodes-base.html",
"position": [
-96,
32
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "jobLink",
"attribute": "href",
"cssSelector": ".raw-link",
"returnArray": true,
"returnValue": "attribute"
},
{
"key": "date",
"cssSelector": ".topic-list-item td:last-child",
"returnArray": true
}
]
}
},
"typeVersion": 1.2
},
{
"id": "d69d273d-f319-4473-8322-846bdd6c85b7",
"name": "オブジェクトを統合",
"type": "n8n-nodes-base.code",
"position": [
128,
32
],
"parameters": {
"jsCode": "// Input data from previous node is available in items array\nconst jobLinks = items[0].json[\"jobLink\"];\nconst dates = items[0].json.date;\n\n// Create new array of merged objects\nconst merged = jobLinks.map((link, index) => ({\n \"jobLink\": link,\n \"date\": dates[index],\n \"source\": \"n8n-forum\"\n}));\n\n// Return the merged data\nreturn merged.map(item => ({ json: item }));\n"
},
"typeVersion": 2
},
{
"id": "1237545b-bc8f-4e40-a1f9-be7715d88a1a",
"name": "構造化出力パーサー",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
944,
288
],
"parameters": {
"jsonSchemaExample": "{\n\t\"summary\": \"What the client is looking to build\"\n}"
},
"typeVersion": 1.2
},
{
"id": "86eb1d6b-5fe5-4468-995c-6890286d6432",
"name": "OpenRouterチャットモデル",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
816,
288
],
"parameters": {
"model": "openai/gpt-5-mini",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "aCsTDT5LGS5D8Ndl",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "d3bbfe52-65a6-489c-9cba-bd6cf79f0bf2",
"name": "求人サマリーを生成",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
800,
64
],
"parameters": {
"text": "=<content> {{ $('Each post').item.json.data }} </content>",
"messages": {
"messageValues": [
{
"message": "=<prompt>\n <purpose>\n Based on this HTML your task is to provide a summary of what the client is looking to build with the automation software n8n\n </purpose>\n\n <instructions>\n <instruction>Output in json format</instruction>\n <instruction>Give a high level summary of what the client wants to build</instruction>\n <instruction>Make sure to only distill the relevant text from all the HTML input</instruction>\n </instructions>\n</prompt>"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"executeOnce": false,
"typeVersion": 1.5
},
{
"id": "f4ff7c72-e1e9-4473-9a4a-a9e48f464bd1",
"name": "求人データとサマリーを結合",
"type": "n8n-nodes-base.merge",
"position": [
1152,
48
],
"parameters": {
"mode": "combine",
"options": {
"includeUnpaired": false
},
"combineBy": "combineByPosition",
"numberInputs": 3
},
"typeVersion": 3
},
{
"id": "84d23d82-e136-4465-8966-4fdbf107dded",
"name": "サマリー出力をフォーマット",
"type": "n8n-nodes-base.code",
"position": [
1376,
64
],
"parameters": {
"jsCode": "return $input.all().map((item) => ({...item.json, summary:item.json.output.summary, output: undefined}))\n"
},
"typeVersion": 2
},
{
"id": "d61c6515-a368-4ee5-bd4d-5508f2b5ff51",
"name": "すべての求人を集約",
"type": "n8n-nodes-base.code",
"position": [
1600,
64
],
"parameters": {
"jsCode": "const items = $input.all().map((item) => {\n const itemJson = item.json;\n return {\n ...itemJson\n }\n})\n\nreturn {data: items}\n"
},
"typeVersion": 2
},
{
"id": "2e493107-b36c-4908-b37e-9fe43133e3fd",
"name": "週次求人ダイジェストを送信",
"type": "n8n-nodes-base.emailSend",
"position": [
1824,
64
],
"webhookId": "d53405e8-9964-43c2-8fe4-38eeebf65d34",
"parameters": {
"html": "={{(() => {\n const grouped = $json.data.sort((a,b) => new Date(b.date.replace(/\\s/, 'T')) - new Date(a.date.replace(/\\s/, 'T'))).reduce((acc, job) => {\n const source = job.source === 'n8n-forum' ? 'n8n-forum' : \n job.source === 'make-forum' ? 'make-forum' : \n 'reddit';\n if (!acc[source]) acc[source] = [];\n acc[source].push(job);\n return acc;\n }, {});\n \n return Object.entries(grouped).reduce((html, [source, jobs]) => \n html + '<div class=\"section\"><h2>' + \n (source === 'n8n-forum' ? 'n8n Forum Jobs' : \n source === 'make-forum' ? 'Make Forum Jobs' : \n 'Reddit Jobs') + '</h2>' +\n jobs.map(job => \n '<div class=\"job-item\"><h3><a href=\"' + job.jobLink + '\">' + \n job.jobTitle + '</a></h3><div class=\"date\">Posted: ' + \n job.date + '</div><div class=\"source\">Source: ' + \n (job.source === 'n8n-forum' ? 'n8n Forum' : \n job.source === 'make-forum' ? 'Make Forum' : \n 'Reddit - ' + job.origin) + '</div><p class=\"summary\">' + \n job.summary + '</p></div>'\n ).join('') + '</div>',\n '<!DOCTYPE html><html><head><style>body{font-family:Arial,sans-serif;line-height:1.6;color:#333;max-width:800px;margin:0 auto;padding:20px}.section{margin-bottom:30px}.job-item{border:1px solid #ddd;margin-bottom:20px;padding:15px;border-radius:5px}h2{color:#2c5282;border-bottom:2px solid #2c5282;padding-bottom:10px;margin-top:30px}h3{color:#2c5282;margin:0 0 10px}a{color:#2b6cb0;text-decoration:none}a:hover{text-decoration:underline}.date,.source{color:#666;font-size:0.9em;margin-bottom:8px}.summary{background:#f8f9fa;padding:10px;border-left:4px solid #4299e1;margin:10px 0}</style></head><body><h1>Latest Job Opportunities</h1><p>Generated on: ' + new Date().toLocaleString() + '</p>'\n ) + '</body></html>';\n})()}}\n",
"options": {},
"subject": "Job Opportunities",
"toEmail": "test@example.com",
"fromEmail": "test@example.com"
},
"credentials": {
"smtp": {
"id": "JN7BvujMXvFvoUMh",
"name": "SMTP account"
}
},
"typeVersion": 2.1
},
{
"id": "250a3bdf-9a6c-4c86-a837-1ba70c6c0161",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
-240
],
"parameters": {
"width": 320,
"height": 224,
"content": "## 🎯 WORKFLOW START\nThis workflow scrapes job postings from the n8n community forum,\nuses AI to summarize each opportunity, and emails you a digest.\n"
},
"typeVersion": 1
},
{
"id": "caf3a804-e37d-4286-abb8-018933fd10b4",
"name": "毎週月曜朝に実行",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-544,
32
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 9 * * 1"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "4b548276-a148-4678-820f-9eef6743f5ed",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-240
],
"parameters": {
"width": 256,
"height": 208,
"content": "## ⏱️ DATE FILTERING\nOnly processes jobs posted within the last 7 days.\nAdjust the filter condition to change this timeframe.\n"
},
"typeVersion": 1
},
{
"id": "d3a054f0-121d-4120-b485-271e3119d5b3",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
432
],
"parameters": {
"width": 320,
"height": 176,
"content": "## 🤖 AI EXTRACTION\nUses GPT-5-mini to read the job posting HTML and extract a clear summary \nof what the client wants to build. This makes scanning opportunities much faster!\n"
},
"typeVersion": 1
},
{
"id": "2d894203-70de-4283-86cd-fb4c50afa800",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1744,
-176
],
"parameters": {
"width": 256,
"height": 176,
"content": "## 📧 EMAIL FORMATTING\nCreates a beautiful HTML email with jobs organized by source.\nUpdate the fromEmail and toEmail parameters to your addresses.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"dc1dcca4-8789-4403-841a-690878eb0a53": {
"main": [
[
{
"node": "3b059cf0-931e-4ce1-8354-11382920d3d0",
"type": "main",
"index": 0
},
{
"node": "d3bbfe52-65a6-489c-9cba-bd6cf79f0bf2",
"type": "main",
"index": 0
}
]
]
},
"6b041491-47c6-4194-98ab-c410631b16e7": {
"main": [
[
{
"node": "f4ff7c72-e1e9-4473-9a4a-a9e48f464bd1",
"type": "main",
"index": 1
},
{
"node": "dc1dcca4-8789-4403-841a-690878eb0a53",
"type": "main",
"index": 0
}
]
]
},
"971564de-3d6b-4f55-bfd8-4c4c80635885": {
"main": [
[
{
"node": "d69d273d-f319-4473-8322-846bdd6c85b7",
"type": "main",
"index": 0
}
]
]
},
"16422542-708f-4af7-8ecc-b0633fa55beb": {
"main": [
[
{
"node": "971564de-3d6b-4f55-bfd8-4c4c80635885",
"type": "main",
"index": 0
}
]
]
},
"d69d273d-f319-4473-8322-846bdd6c85b7": {
"main": [
[
{
"node": "6b041491-47c6-4194-98ab-c410631b16e7",
"type": "main",
"index": 0
}
]
]
},
"d61c6515-a368-4ee5-bd4d-5508f2b5ff51": {
"main": [
[
{
"node": "2e493107-b36c-4908-b37e-9fe43133e3fd",
"type": "main",
"index": 0
}
]
]
},
"d3bbfe52-65a6-489c-9cba-bd6cf79f0bf2": {
"main": [
[
{
"node": "f4ff7c72-e1e9-4473-9a4a-a9e48f464bd1",
"type": "main",
"index": 2
}
]
]
},
"84d23d82-e136-4465-8966-4fdbf107dded": {
"main": [
[
{
"node": "d61c6515-a368-4ee5-bd4d-5508f2b5ff51",
"type": "main",
"index": 0
}
]
]
},
"86eb1d6b-5fe5-4468-995c-6890286d6432": {
"ai_languageModel": [
[
{
"node": "d3bbfe52-65a6-489c-9cba-bd6cf79f0bf2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"1237545b-bc8f-4e40-a1f9-be7715d88a1a": {
"ai_outputParser": [
[
{
"node": "d3bbfe52-65a6-489c-9cba-bd6cf79f0bf2",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"f4ff7c72-e1e9-4473-9a4a-a9e48f464bd1": {
"main": [
[
{
"node": "84d23d82-e136-4465-8966-4fdbf107dded",
"type": "main",
"index": 0
}
]
]
},
"3b059cf0-931e-4ce1-8354-11382920d3d0": {
"main": [
[
{
"node": "f4ff7c72-e1e9-4473-9a4a-a9e48f464bd1",
"type": "main",
"index": 0
}
]
]
},
"caf3a804-e37d-4286-abb8-018933fd10b4": {
"main": [
[
{
"node": "16422542-708f-4af7-8ecc-b0633fa55beb",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Make.com 求人板をGPT-5-miniで要約し、メールで自動送信
GPT-5-mini を使用して Make.com 採用ボードを要約し、メールで送信
Code
Html
Merge
+
Code
Html
Merge
18 ノードJulian Kaiser
コミュニティ問題モニタ(OpenRouter AI、Reddit、フォーラムクロール)
OpenRouter AI、Reddit、フォーラムクロールでコミュニティの問題を監視
Set
Code
Html
+
Set
Code
Html
29 ノードJulian Kaiser
市場調査
PerplexityとGPTを使用して、キーワードとメディアを含むWordPressのSEO最適化ブログを作成
WordPress向けSEO最適化されたブログの作成(Perplexity、GPTベース、キーワードとメディア付き)
Set
Code
Limit
+
Set
Code
Limit
124 ノードPaul
コンテンツ作成
WordPress向けの特定のツールを使用してSEO最適化されたブログを作成
特定のツールを使用してWordPressのSEO最適化されたブログを作成
Set
Code
Limit
+
Set
Code
Limit
124 ノードPaul
コンテンツ作成
n8nノードの探索(可視化リファレンスライブラリ内)
n8nノードを可視化リファレンスライブラリで探索
If
Ftp
Set
+
If
Ftp
Set
113 ノードI versus AI
その他
HN求人広告スクレイピング
Hacker News採用情報のスクレイピングと解析
Set
Code
Limit
+
Set
Code
Limit
20 ノードJulian Kaiser
人事
ワークフロー情報
難易度
上級
ノード数18
カテゴリー-
ノードタイプ11
作成者
Julian Kaiser
@jksrFull Stack Developer turned AI & Automation Engineer, implementing intelligent solutions with custom code, LLMs & n8n. Use my link to book a free 30-minute call to discuss your AI challenges and see if my services might be a good fit for your needs.
外部リンク
n8n.ioで表示 →
このワークフローを共有