Inteligencia del mercado laboral
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 30 nodos.Utiliza principalmente nodos como If, Code, Wait, Telegram, HttpRequest. Coincidir listas de empleos de Indeed con tu CV usando Gemini AI y recordatorios de Telegram
- •Bot Token de Telegram
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de Google Gemini
Nodos utilizados (30)
Categoría
{
"id": "potYDGdhPXDUMhZj",
"meta": {
"instanceId": "e2a1d0ec98fd0994972a016020dcf90b56d31fa85f2abd02801701fb8fc45e3d",
"templateCredsSetupCompleted": true
},
"name": "Job Market Intelligence",
"tags": [],
"nodes": [
{
"id": "7ef43820-825a-4e94-a9f2-483376e79768",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1376,
96
],
"parameters": {},
"typeVersion": 1
},
{
"id": "26c1fd7c-423c-4b36-984b-f4603ea4f1b9",
"name": "HTTP Solicitud",
"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 Solicitud1",
"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": "Esperar",
"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": "Esperar1",
"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": "Si",
"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": "Si1",
"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": "Enviar un mensaje de texto",
"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": "Código en 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": "Agente de IA",
"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": "Analizador de Salida Estructurada",
"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": "Nota Adhesiva-Introducción",
"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": "Nota Adhesiva-Espera",
"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": "Nota Adhesiva-IA",
"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": "Nota Adhesiva-Notificaciones",
"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": "Nota Adhesiva",
"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": "Nota Adhesiva1",
"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": "Nota Adhesiva2",
"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": "Nota Adhesiva3",
"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": "Nota Adhesiva-Cómo Usar",
"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": "Nota Adhesiva-Cómo Usar1",
"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": "Nota Adhesiva-Cómo Usar2",
"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": "Nota Adhesiva4",
"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": "Nota Adhesiva-Raspado",
"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": "Nota Adhesiva5",
"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": "Nota Adhesiva6",
"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 Respaldo",
"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": "Nota Adhesiva7",
"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": "Nota Adhesiva-Cómo Usar3",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Creación de contenido, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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.
Compartir este flujo de trabajo