Herramienta de Currículum
Este es unHR, AI Summarizationflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como Code, Merge, Webhook, Aggregate, GoogleDrive. Filtrado de currículums con IA basado en el modelo de lenguaje grande Llama3.1, integrado con Google Drive y Hojas de Cálculo
- •Punto final de HTTP Webhook (n8n generará automáticamente)
- •Credenciales de API de Google Drive
- •Credenciales de API de Google Sheets
Nodos utilizados (15)
Categoría
{
"id": "7wkmOQEEUAJIwFEP",
"meta": {
"instanceId": "558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a",
"templateCredsSetupCompleted": true
},
"name": "cv-tool",
"tags": [],
"nodes": [
{
"id": "0cae9383-b4da-43ec-9962-afc97d56ddad",
"name": "Recorrer elementos",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-280,
160
],
"parameters": {
"options": {}
},
"executeOnce": false,
"typeVersion": 3
},
{
"id": "c027ca47-5415-4f7a-9028-a0637acc195f",
"name": "Fusionar",
"type": "n8n-nodes-base.merge",
"position": [
380,
360
],
"parameters": {
"mode": "chooseBranch"
},
"typeVersion": 3
},
{
"id": "2bd255ee-e3d8-46a6-9112-14b348852eae",
"name": "Agregar",
"type": "n8n-nodes-base.aggregate",
"position": [
600,
360
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "ae51c305-87e4-4404-816e-4f2b30b80c6d",
"name": "Ollama Model",
"type": "@n8n/n8n-nodes-langchain.lmOllama",
"position": [
920,
840
],
"parameters": {
"model": "llama3.1:latest",
"options": {
"temperature": 0.1
}
},
"credentials": {
"ollamaApi": {
"id": "7CIt42W14b1MCgxQ",
"name": "Ollama account"
}
},
"typeVersion": 1
},
{
"id": "42fd32cf-1787-45c5-a2df-08955534ae64",
"name": "Auto-fixing Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
1020,
660
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "097e8558-2a30-4c1e-a7bd-4620bc9d22a6",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1060,
1100
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Evaluation Form\",\n \"type\": \"object\",\n \"properties\": {\n \"candidate_file_name\": {\"$ref\": \"#/definitions/candidateFileName\"},\n \"candidate_name\": {\"$ref\": \"#/definitions/candidateName\"},\n \"questions\": {\"$ref\": \"#/definitions/questions\"},\n \"overall_points\": {\"$ref\": \"#/definitions/overallPoints\"}\n },\n \"required\": [\"candidate_file_name\", \"candidate_name\", \"questions\", \"overall_points\"],\n \"definitions\": {\n \"candidateFileName\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Candidate File Name\",\n \"type\": \"string\"\n },\n \"candidateName\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Candidate Name\",\n \"type\": \"string\"\n },\n \"questions\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Questions\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/definitions/question\"\n }\n },\n \"question\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Question\",\n \"type\": \"object\",\n \"properties\": {\n \"question\": {\"$ref\": \"#/definitions/questionText\"},\n \"answer\": {\"$ref\": \"#/definitions/candidateAnswer\"}\n },\n \"required\": [\"question\", \"answer\"]\n },\n \"questionText\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Question Text\",\n \"type\": \"string\"\n },\n \"candidateAnswer\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Candidate Answer\",\n \"type\": \"string\"\n },\n \"overallPoints\": {\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"Overall Points\",\n \"type\": \"string\"\n }\n }\n}"
},
"typeVersion": 1.2
},
{
"id": "79957386-3e4b-4650-9490-8a29f948d5f0",
"name": "Código",
"type": "n8n-nodes-base.code",
"position": [
1260,
360
],
"parameters": {
"jsCode": "// Extract input data\nconst items = $input.all();\nlet results = [];\nlet allQuestions = new Set();\n\n// Collect all possible question fields dynamically\nitems.forEach(item => {\n let output = item.json.output;\n let questions = output.questions;\n \n Object.keys(questions).forEach(q => allQuestions.add(q));\n});\n\n// Convert to array format\nitems.forEach(item => {\n let output = item.json.output;\n let row = {\n \"Candidate File Name\": output.candidate_file_name,\n \"Candidate Name\": output.candidate_name\n };\n\n // Add all dynamically available question scores\n allQuestions.forEach(question => {\n row[question] = output.questions[question] || \"\";\n });\n\n // Add overall points\n row[\"Overall Points\"] = output.overall_points;\n results.push(row);\n});\n\nreturn results.map(row => ({ json: row }));"
},
"executeOnce": false,
"typeVersion": 2
},
{
"id": "b0c56e05-f929-496d-9482-ff2f61a6e544",
"name": "Download-file",
"type": "n8n-nodes-base.googleDrive",
"position": [
-100,
380
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {
"googleFileConversion": {
"conversion": {
"docsToFormat": "application/pdf",
"slidesToFormat": "application/pdf",
"drawingsToFormat": "application/pdf"
}
}
},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "5dc07e0a-900f-407e-be7e-da4db4168e30",
"name": "Input-criteria",
"type": "n8n-nodes-base.googleSheets",
"position": [
20,
180
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 714429904,
"cachedResultUrl": "",
"cachedResultName": "Search_Criteria_t2"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1VoJbCMXbgQm8lO37h1kAp-wFo_7rC_xthL7H4PXCNxg",
"cachedResultUrl": "",
"cachedResultName": "Criteria-sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "e917b4e5-ca96-4d08-b43c-bf832710b1f4",
"name": "Extract from PDF",
"type": "n8n-nodes-base.extractFromFile",
"position": [
140,
380
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "fbee4bec-65af-4017-98b7-9074c4fd5770",
"name": "Output-sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1500,
360
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "Candidate File Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Candidate File Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Candidate Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Candidate Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Business Analysis",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Business Analysis",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Management (PMO)",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Project Management (PMO)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Banking",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Banking",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Communication Skills",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Communication Skills",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Overall Points",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Overall Points",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": []
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1534129230,
"cachedResultUrl": "",
"cachedResultName": "Sheet2"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1TvYZwuCeTVImsXdd3cNh6zYf7neJbHvCkqLjNzsCk5w",
"cachedResultUrl": "",
"cachedResultName": "Output-sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "1d77e98d-20fa-4301-93ea-175881cac1dc",
"name": "Disparador Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-880,
160
],
"webhookId": "6751c9a2-4bf9-416e-8e98-905498867431",
"parameters": {
"path": "6751c9a2-4bf9-416e-8e98-905498867431",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "d7644e7c-2abb-4bb2-ac81-7595cc918a9b",
"name": "Respond to Disparador Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
20,
-60
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "{\n \"Status\": \"Workflow Completed!\"\n}"
},
"typeVersion": 1.1,
"alwaysOutputData": false
},
{
"id": "14869643-9588-42de-a238-195f47875d78",
"name": "Folder-search",
"type": "n8n-nodes-base.googleDrive",
"position": [
-580,
160
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1z0DTQL4nfB7lQFETQw8-fnxg1YaOpgoL",
"cachedResultUrl": "",
"cachedResultName": "test"
}
},
"options": {},
"resource": "fileFolder"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "8f920f78-86d3-45ed-b59c-4a74e6fb108b",
"name": "Basic LLM Cadena",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
860,
360
],
"parameters": {
"text": "=%Candidate_Profile%: \n{{ $('Extract from PDF').first().json.text}}\n\nAnalyze the %Candidate_Profile% against the %Questions%:{{ $json.data.map(item => item.Matching_Criteria + \" - Output Type:\" + item.Output_Type) + \"\\n\" }}. \n\nUse this question format as input to the AI-Model : How do you rate your experiance in {{ $json.data.map(item => item.Matching_Criteria + \"Output Type:\" + item.Output_Type) + \"\\n\" }}\n\nTake candidate_file_name as {{ $('Download-file').first().json.name }} and fetch the candidate_name from the %Candidate_Profile%\n\nFor each question output format should be : {{ $json.data[0].Output_Type}}\n\nAt the end please calculate overall point(Total Point = sum({{ $json.data[0].Output_Type}} for each criteria)).\n\n\nIf he or she didn't have any experiance under specific area please mark rating as 0.\n",
"messages": {
"messageValues": [
{
"message": "Output should be a one specific format for all outputs"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.5
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "3a4961eb-24af-44a3-b727-9e11b39ee823",
"connections": {
"Code": {
"main": [
[
{
"node": "fbee4bec-65af-4017-98b7-9074c4fd5770",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "14869643-9588-42de-a238-195f47875d78",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
]
]
},
"ae51c305-87e4-4404-816e-4f2b30b80c6d": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
},
{
"node": "42fd32cf-1787-45c5-a2df-08955534ae64",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"fbee4bec-65af-4017-98b7-9074c4fd5770": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"b0c56e05-f929-496d-9482-ff2f61a6e544": {
"main": [
[
{
"node": "e917b4e5-ca96-4d08-b43c-bf832710b1f4",
"type": "main",
"index": 0
}
]
]
},
"14869643-9588-42de-a238-195f47875d78": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"5dc07e0a-900f-407e-be7e-da4db4168e30": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
],
[
{
"node": "b0c56e05-f929-496d-9482-ff2f61a6e544",
"type": "main",
"index": 0
},
{
"node": "5dc07e0a-900f-407e-be7e-da4db4168e30",
"type": "main",
"index": 0
}
]
]
},
"e917b4e5-ca96-4d08-b43c-bf832710b1f4": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"097e8558-2a30-4c1e-a7bd-4620bc9d22a6": {
"ai_outputParser": [
[
{
"node": "42fd32cf-1787-45c5-a2df-08955534ae64",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"42fd32cf-1787-45c5-a2df-08955534ae64": {
"ai_outputParser": [
[
{
"node": "Basic LLM Chain",
"type": "ai_outputParser",
"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?
Intermedio - Recursos Humanos, Resumen de IA
¿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
Compartir este flujo de trabajo