雇用市場インテリジェンス
上級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、30個のノードを含みます。主にIf, Code, Wait, Telegram, HttpRequestなどのノードを使用。 Gemini AIとTelegramリマインダーでIndeedの職位リストをあなたの履歴書に一致させる
前提条件
- •Telegram Bot Token
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Gemini API Key
使用ノード (30)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "potYDGdhPXDUMhZj",
"meta": {
"instanceId": "e2a1d0ec98fd0994972a016020dcf90b56d31fa85f2abd02801701fb8fc45e3d",
"templateCredsSetupCompleted": true
},
"name": "Job Market Intelligence",
"tags": [],
"nodes": [
{
"id": "7ef43820-825a-4e94-a9f2-483376e79768",
"name": "ワークフロー実行時",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1376,
96
],
"parameters": {},
"typeVersion": 1
},
{
"id": "26c1fd7c-423c-4b36-984b-f4603ea4f1b9",
"name": "HTTP リクエスト",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-1152,
96
],
"parameters": {
"url": "https://api.browseract.com/v2/workflow/run-task",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "workflow_id",
"value": "52804638608646754"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "x2SDklVkEIBFM56U",
"name": "BrowserACtaPi"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "3d4b822a-435b-4894-8b39-ca10e4d0140d",
"name": "HTTP リクエスト1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-672,
80
],
"parameters": {
"url": "https://api.browseract.com/v2/workflow/get-task",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth",
"queryParameters": {
"parameters": [
{
"name": "=task_id",
"value": "={{ $json.id }}"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "x2SDklVkEIBFM56U",
"name": "BrowserACtaPi"
}
},
"typeVersion": 4.2
},
{
"id": "5550b6de-13b4-4cde-841f-b346cde3f8fe",
"name": "待機",
"type": "n8n-nodes-base.wait",
"position": [
-416,
352
],
"webhookId": "bb2c5339-e061-499b-9b16-d48f649e6fb9",
"parameters": {
"unit": "minutes",
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "70406173-a3d9-4db7-a370-c9bb997800c1",
"name": "待機1",
"type": "n8n-nodes-base.wait",
"position": [
-960,
352
],
"webhookId": "7593e4d6-e23f-482b-9f7b-d0a24461b3ea",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "295fedba-bc49-451a-8b9c-b0dda75e5b51",
"name": "条件分岐",
"type": "n8n-nodes-base.if",
"position": [
-960,
96
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d48ae258-78a0-4b26-923d-2643b6b774c6",
"operator": {
"type": "object",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": ""
},
{
"id": "3967a169-8432-45bd-8f89-08795fd12679",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.id }}",
"rightValue": "null"
}
]
}
},
"retryOnFail": false,
"typeVersion": 2.2
},
{
"id": "da4a5db4-a2f2-40e7-ae6a-3f46e820fbf3",
"name": "条件分岐1",
"type": "n8n-nodes-base.if",
"position": [
-400,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0347a2a2-eb32-414d-9494-4e648078cf40",
"operator": {
"type": "object",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": ""
},
{
"id": "99f31959-6f27-40dd-97c3-6ff611da1e0b",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "finished"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "8fc50c6f-8501-49ce-b697-04fa9210ef2a",
"name": "テキストメッセージ送信",
"type": "n8n-nodes-base.telegram",
"position": [
32,
432
],
"webhookId": "f60ccf5f-b6e2-4d06-8c99-9ae53bde267d",
"parameters": {
"text": "=Title: {{ $json.text.Title }}\nSummary :{{ $json.text.Summary }}\nNeeds: {{ $json.text.Needs }}\nEducarion: {{ $json.text.Education }}\n{{ $json.text.Link }}",
"chatId": "@Test",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "34LCOs7mfDx5vkSV",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "7fa00942-1d87-44a9-8618-b0d7a4546bb2",
"name": "JavaScriptコード",
"type": "n8n-nodes-base.code",
"position": [
-144,
432
],
"parameters": {
"jsCode": "// Get the original list from the 'Request' key in the incoming data.\nconst originalList =$input.first().json.output.Request ;\n\n// Create a new array to store the formatted output.\nconst outputItems = [];\n\n// Loop through each item in the original list.\nfor (const item of originalList) {\n // For each item, create a new object in the desired format.\n outputItems.push({\n json: {\n \"text\": item\n }\n });\n}\n\n// Return the new list of formatted objects.\nreturn outputItems;"
},
"typeVersion": 2
},
{
"id": "5f67b9c3-845f-451b-a314-3ecfbe06d4ef",
"name": "AIエージェント",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-144,
64
],
"parameters": {
"text": "=hello this is my resume \n\n\"\nAge: 30\nExperience: 15 years in programming\nSenior Software Engineer\nEducation: Bachlore in Front-end and Back-end Software engineering \nGender: male\nabilities :Product development, innovation in Human Risk Management.\nSeeking a programming job in financial advising can work remot.\n\"\n\nfrom the {{ $json.output.string }} add all the job offers which matches my resume to output the output structure is List of texts that looks like this\n\nformat_final_json_response = {\n \"Request\": [\n {\n \"Title\": \"Title\",\n \"Summary\": \"About\",\n \"Needs\": \"Needs\",\n \"Education\": \"degree\",\n \"Link\": \"Link\"\n }\n ]\n}\n\nRemove duplicated offers (if company name and job title is same)\n\n\nfollow the Output exacly and also if no job is avalble add this sned this to output\n\n{\n \"Request\": [\n {\n \"Title\": \"No job Found\",\n \"Summary\": \"No luck today\",\n \"Needs\": \"No luck today\",\n \"Education\": \"No luck today\",\n \"Link\": \"im so sry to say that no job is aviable for you\"\n }\n ]\n}",
"options": {},
"promptType": "define",
"needsFallback": true,
"hasOutputParser": true
},
"typeVersion": 2.2,
"alwaysOutputData": false
},
{
"id": "4aa9cc49-cc7b-46b0-aa75-04c21be931ac",
"name": "構造化出力パーサー",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
144,
288
],
"parameters": {
"jsonSchemaExample": "{\n \"Request\": [\n {\n \"Title\": \"Title\",\n \"Summary\": \"About\",\n \"Needs\": \"Needs\",\n \"Education\": \"degree\",\n \"Link\": \"Link\"\n }\n ]\n}"
},
"typeVersion": 1.3
},
{
"id": "7996bea7-6736-4a77-8fb8-a4f7fdfa9618",
"name": "付箋-イントロ",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
-112
],
"parameters": {
"width": 592,
"height": 424,
"content": "## Try It Out!\n### This n8n template helps you stay on top of the job market by matching scraped job offers with your resume using an AI Agent.\n\n### How it works\n* The workflow is triggered manually You Can make it Automatic too.\n* An **HTTP Request** node starts a web scraping task with the **BrowserAct** API to collect job offers.\n* A series of **If** and **Wait** nodes monitor the scraping job until it's finished.\n* An **AI Agent** node, powered by **Google Gemini**, processes the job listings and filters them to find matches for your resume. It's configured to output the results in a specific format.\n* A **Code** node then transforms the AI's output into a clean format.\n* Finally, the filtered job offers are sent directly to you via **Telegram**.\n\n### Requirements\n* **BrowserAct** API account for web scraping\n* **Gemini** account for the AI Agent\n* **BrowserAct** **“Job Market Intelligence”** Template\n* **Telegram** credentials for sending messages\n\n### Need Help?\nJoin the [Discord](https://discord.com/invite/UpnCKd7GaU) or Visit Our [Blog](https://www.browseract.com/blog)!\n"
},
"typeVersion": 1
},
{
"id": "647dc8d1-a1f3-436c-bf7e-8d516d183f61",
"name": "付箋-待機",
"type": "n8n-nodes-base.stickyNote",
"position": [
-736,
-112
],
"parameters": {
"color": 5,
"width": 496,
"height": 180,
"content": "## 2. Wait for Scraping to Finish\n\nThese nodes check the status of the scraping task. The `If` node determines if the task is complete. If it's still running, the `Wait` node pauses the workflow for a set period before retrying to check the status."
},
"typeVersion": 1
},
{
"id": "42f4cafd-5070-4793-bca9-7e4590a88dd2",
"name": "付箋-AI",
"type": "n8n-nodes-base.stickyNote",
"position": [
-208,
-112
],
"parameters": {
"color": 4,
"width": 512,
"content": "## 3. Use an AI Agent to Find Matching Jobs\n\nThis node uses an AI Agent to find the best job offers for you. It takes the scraped data and your resume, then processes them to find matching jobs. It's configured with a **Structured Output Parser** to ensure the results are always in the correct format.\n\n### Don't forget to Connect your Gemini and Change your resume. "
},
"typeVersion": 1
},
{
"id": "6c541147-4d4c-464c-87c5-b55e1333ce06",
"name": "付箋-通知",
"type": "n8n-nodes-base.stickyNote",
"position": [
-208,
576
],
"parameters": {
"color": 3,
"width": 512,
"height": 164,
"content": "## 4. Send Notifications\n\nThe scraped data is sometimes hard to read. A **Code** node is used here to transform the AI's output into a more readable format. The **Telegram** node then sends the final, filtered job offers directly to you.\n\n### Don't forget to Connect your Telegram and add your Channel ID. "
},
"typeVersion": 1
},
{
"id": "f4331db0-9b93-416f-9137-0672798a4cc0",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
80
],
"parameters": {
"color": 5,
"width": 480,
"height": 480,
"content": ""
},
"typeVersion": 1
},
{
"id": "7eca99df-860c-409f-bdfb-50150543e302",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-736,
80
],
"parameters": {
"color": 5,
"width": 496,
"height": 480,
"content": ""
},
"typeVersion": 1
},
{
"id": "0edbea28-d451-4a41-8adb-4fd2ea485749",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-208,
64
],
"parameters": {
"color": 4,
"width": 512,
"height": 336,
"content": ""
},
"typeVersion": 1
},
{
"id": "b257da41-e8ba-44a0-9aed-bd7479f7019e",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-208,
416
],
"parameters": {
"color": 3,
"width": 512,
"height": 144,
"content": ""
},
"typeVersion": 1
},
{
"id": "57e7a01d-500e-4a54-a32a-88dfdceafb80",
"name": "付箋-使用方法",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
320
],
"parameters": {
"width": 592,
"height": 216,
"content": "## How to use\n\n1. **Set up Credentials:** Add your credentials for **BrowserAct**, **Google Gemini**, and **Telegram** to the workflow. They will be used by the relevant nodes.\n2. **Set up BrowserAct:** In your **BrowserAct** account, Use **Job Market Intelligence** Template and setup your own template.\n3. **Add WorkFlow ID:** change the **workflow_id** value inside the **Run WorkFlow** node.\n4. **Activate Workflow:** To enable the automated schedule, simply activate the workflow. You can also manually trigger it by clicking the 'Execute Workflow' button to test it."
},
"typeVersion": 1
},
{
"id": "d2e3a14c-401d-4abd-98c7-7eb4213c277e",
"name": "付箋-使用方法1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
544
],
"parameters": {
"width": 592,
"height": 104,
"content": "## Need Help ?\n* [How to Find Your BrowseAct API Key & Workflow ID](https://www.youtube.com/watch?v=pDjoZWEsZlE)\n* [How to Connect n8n to Browseract](https://www.youtube.com/watch?v=RoYMdJaRdcQ)\n* [How to Use & Customize BrowserAct Templates](https://www.youtube.com/watch?v=CPZHFUASncY)\n\n"
},
"typeVersion": 1
},
{
"id": "adf794f6-842f-43d0-bc6f-fcaada21bd28",
"name": "付箋-使用方法2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1952,
-384
],
"parameters": {
"color": 7,
"width": 2208,
"height": 112,
"content": "\n### ******** \n## Create BrowserAct Workflow -> Add BrowserAct Token to \"Run Node\" -> Change BrowserAct workflow_id in \"Run Node\" -> Connect Gemini & Change you **resume** inside the prompt in \"Agent Node\" \n## -> Config Telegram Token & Channel ID in \"Send Node\""
},
"typeVersion": 1
},
{
"id": "8b7e2e56-cad5-47a2-9723-e4395e733332",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1104,
-208
],
"parameters": {
"color": 5,
"width": 182,
"height": 80,
"content": "## \n# Run Node"
},
"typeVersion": 1
},
{
"id": "ea4b3404-9c9e-4823-be35-272afd16c061",
"name": "付箋-スクレイピング",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
-112
],
"parameters": {
"color": 5,
"width": 480,
"height": 180,
"content": "## 1. Trigger the Job Scraper\n\nThis workflow uses an HTTP Request to start a job scraping task via the BrowserAct API. This allows you to collect up-to-date job market data.\n\n### Don't forget to add your BrowserAct Workflow ID. "
},
"typeVersion": 1
},
{
"id": "1a24b054-be51-4a4d-9739-19d1f63acdc2",
"name": "付箋5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
-208
],
"parameters": {
"color": 5,
"width": 182,
"height": 80,
"content": "## \n# Get Node"
},
"typeVersion": 1
},
{
"id": "537e59bb-3129-4bf6-9eaa-67d0ba38d118",
"name": "付箋6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
-208
],
"parameters": {
"color": 4,
"width": 230,
"height": 80,
"content": "## \n# Agent Node"
},
"typeVersion": 1
},
{
"id": "b83141c8-1966-4bd0-aa14-871f44a9e42d",
"name": "Gemini バックアップ",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-16,
288
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash"
},
"credentials": {
"googlePalmApi": {
"id": "G8YK0DTLFGi5n0WD",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "da5033b2-0eca-4411-8b79-01742fff27e0",
"name": "Gemini",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-144,
288
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "G8YK0DTLFGi5n0WD",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "39563737-09ba-44bf-9ca5-1f072d96daf1",
"name": "付箋7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
752
],
"parameters": {
"color": 3,
"width": 214,
"height": 80,
"content": "## \n# Send Node"
},
"typeVersion": 1
},
{
"id": "0bc096fe-fa91-4326-873c-d594cbe63b2e",
"name": "付箋-使用方法3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
656
],
"parameters": {
"width": 592,
"height": 80,
"content": "## Watch Workflow Guidance and Showcase\n* #### [Never Manually Search for a Job Again (AI Automation Tutorial)](https://youtu.be/mRJw8Jyrizg)"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "b4d6b1aa-9052-4a52-8b0b-2d868cf88a37",
"connections": {
"295fedba-bc49-451a-8b9c-b0dda75e5b51": {
"main": [
[
{
"node": "3d4b822a-435b-4894-8b39-ca10e4d0140d",
"type": "main",
"index": 0
}
],
[
{
"node": "70406173-a3d9-4db7-a370-c9bb997800c1",
"type": "main",
"index": 0
}
]
]
},
"da4a5db4-a2f2-40e7-ae6a-3f46e820fbf3": {
"main": [
[
{
"node": "5f67b9c3-845f-451b-a314-3ecfbe06d4ef",
"type": "main",
"index": 0
}
],
[
{
"node": "5550b6de-13b4-4cde-841f-b346cde3f8fe",
"type": "main",
"index": 0
}
]
]
},
"5550b6de-13b4-4cde-841f-b346cde3f8fe": {
"main": [
[
{
"node": "3d4b822a-435b-4894-8b39-ca10e4d0140d",
"type": "main",
"index": 0
}
]
]
},
"70406173-a3d9-4db7-a370-c9bb997800c1": {
"main": [
[
{
"node": "26c1fd7c-423c-4b36-984b-f4603ea4f1b9",
"type": "main",
"index": 0
}
]
]
},
"da5033b2-0eca-4411-8b79-01742fff27e0": {
"ai_languageModel": [
[
{
"node": "5f67b9c3-845f-451b-a314-3ecfbe06d4ef",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5f67b9c3-845f-451b-a314-3ecfbe06d4ef": {
"main": [
[
{
"node": "7fa00942-1d87-44a9-8618-b0d7a4546bb2",
"type": "main",
"index": 0
}
]
]
},
"26c1fd7c-423c-4b36-984b-f4603ea4f1b9": {
"main": [
[
{
"node": "295fedba-bc49-451a-8b9c-b0dda75e5b51",
"type": "main",
"index": 0
}
]
]
},
"b83141c8-1966-4bd0-aa14-871f44a9e42d": {
"ai_languageModel": [
[
{
"node": "5f67b9c3-845f-451b-a314-3ecfbe06d4ef",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"3d4b822a-435b-4894-8b39-ca10e4d0140d": {
"main": [
[
{
"node": "da4a5db4-a2f2-40e7-ae6a-3f46e820fbf3",
"type": "main",
"index": 0
}
]
]
},
"7fa00942-1d87-44a9-8618-b0d7a4546bb2": {
"main": [
[
{
"node": "8fc50c6f-8501-49ce-b697-04fa9210ef2a",
"type": "main",
"index": 0
}
]
]
},
"4aa9cc49-cc7b-46b0-aa75-04c21be931ac": {
"ai_outputParser": [
[
{
"node": "5f67b9c3-845f-451b-a314-3ecfbe06d4ef",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"7ef43820-825a-4e94-a9f2-483376e79768": {
"main": [
[
{
"node": "26c1fd7c-423c-4b36-984b-f4603ea4f1b9",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
ソーシャルメディアコンテンツをTelegramチャネルへ自動集約
Google Gemini AIを使ってTwitter/XのコンテンツをTelegramチャンネルへ集約
If
Code
Wait
+
If
Code
Wait
30 ノードMadame AI Team | Kai
コンテンツ作成
キーワードによるAIニュースフィルタリングとTelegramへの自動配信
Gemini AI と BrowserAct を使ってリアルタイムニュースを効率化し、Telegram チャンネルへ送信
If
Code
Wait
+
If
Code
Wait
27 ノードMadame AI Team | Kai
コンテンツ作成
製品レビュー感情分析
Gemini AIを使用して製品レビューを分析し、改善案を生成する
If
Wait
Telegram
+
If
Wait
Telegram
21 ノードMadame AI
コンテンツ作成
LinkedInおよびXウイルスのなコンテンツ自動エンジン
AIを使ってLinkedInとXにウイルスのなコンテンツを自動生成して公開する
If
Set
Wait
+
If
Set
Wait
156 ノードDiptamoy Barman
コンテンツ作成
AI驱动のメール分诊与自動回复系统,統合OpenAIエージェントとGmail
AI驱动のメール分诊与自動回复系统,統合OpenAIエージェントとGmail
If
Set
Gmail
+
If
Set
Gmail
68 ノードAbdullahi Ahmed
コンテンツ作成
Veo-3、Perplexity、FFmpegを使って1080pの短い動画を自動生成して投稿
Veo-3、Perplexity、FFmpegを使って1080pの短い動画を自動生成して投稿する
If
Set
Wait
+
If
Set
Wait
21 ノードSulieman Said
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数30
カテゴリー2
ノードタイプ10
作成者
Madame AI Team | Kai
@madame-aiI’m a PhD in Physics turned AI enthusiast, passionate about uncovering how AI is transforming content creation, business, and daily life.
外部リンク
n8n.ioで表示 →
このワークフローを共有