Extracción estructurada de datos de candidatos de currículums (GPT AI)

Avanzado

Este es unHR, AI Summarizationflujo de automatización del dominio deautomatización que contiene 20 nodos.Utiliza principalmente nodos como Set, Switch, Aggregate, GoogleSheets, Agent. Extraer datos estructurados de candidatos de currículums usando GPT AI

Requisitos previos
  • Credenciales de API de Google Sheets
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "98df1ef4-b57a-43a6-a928-d765559f747c",
      "name": "Cuando se recibe un mensaje en el chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -100,
        1140
      ],
      "webhookId": "592787f5-230a-4e76-960c-6277f9faa9c8",
      "parameters": {
        "options": {
          "allowFileUploads": true
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "94e30376-80da-497e-830f-21dae01580f5",
      "name": "Interruptor",
      "type": "n8n-nodes-base.switch",
      "position": [
        120,
        1014
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "CSV",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "fcf85095-1221-4490-9d30-e10d7c3b686c",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".csv"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "HTML",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "58e60d14-1beb-47b8-8789-6cee2b2bb224",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".html"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "ODS",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "afce5705-212f-4e56-ac34-8b99e15a0806",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".ods"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "PDF",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "bb223b8a-826c-488b-9eb7-b1b50a6aef7f",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".pdf"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "RTF",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "29d5bf9a-69fb-4e01-8ea9-2ca7c8b3fc9c",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".rtf"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "TXT",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "d2e22acb-adbb-43d9-8a18-70851be20ea5",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".txt"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "XML",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "257adc56-8632-4671-9237-4e233b95e3fe",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".xml"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "XLS",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "d4673034-eaca-4f4c-9c37-104ffe0bb170",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
                    "rightValue": ".xls"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra"
        }
      },
      "typeVersion": 3.2
    },
    {
      "id": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
      "name": "Editar campos",
      "type": "n8n-nodes-base.set",
      "position": [
        780,
        1040
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "70ba1c39-f90f-44ac-9fdc-9a8a8d188484",
              "name": "text",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b752e83e-3052-43d1-9418-4d433e351614",
      "name": "Agentee de IA1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1000,
        1040
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "options": {
          "systemMessage": "You are a helpful assistant that extracts email, name, skills, and education from resume text. "
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "0944cce4-d5b7-4e48-a466-1aa8f3b76e26",
      "name": "Modelo de chat OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1028,
        1260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "QpFZ2EiM3WGl6Zr3",
          "name": "Marketing OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "58a42607-b1b4-43e0-884f-5a13e706edf8",
      "name": "Analizador de salida estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1148,
        1260
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"name\": \"Angel Menendez\",\n  \"email\": \"angel.menendez@example.com\",\n  \"skills\": \"JavaScript, Node.js, n8n, Docker, REST APIs\",\n  \"education\": \"B.S. in Computer Science, University of Arizona, 2010\"\n}\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "42d5ebda-7d49-40ef-8c44-2fa57ec68f3e",
      "name": "Validar salida",
      "type": "n8n-nodes-base.set",
      "onError": "continueErrorOutput",
      "position": [
        1376,
        1040
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4a062055-7dde-447e-ada1-0032f46af02a",
              "name": "output.name",
              "type": "string",
              "value": "={{ $json.output.name }}"
            },
            {
              "id": "bf28519f-f8e3-4b26-bee4-7758340df194",
              "name": "output.email",
              "type": "string",
              "value": "={{ $json.output.email }}"
            },
            {
              "id": "24975388-f25a-4c86-a995-9ec2cf819c13",
              "name": "output.skills",
              "type": "string",
              "value": "={{ $json.output.skills }}"
            },
            {
              "id": "c410f2d2-00e1-499b-9346-553164881465",
              "name": "output.education",
              "type": "string",
              "value": "={{ $json.output.education }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1235bbab-c227-4054-b8ce-007f39a805f5",
      "name": "Hojas de Google",
      "type": "n8n-nodes-base.googleSheets",
      "disabled": true,
      "position": [
        1596,
        940
      ],
      "parameters": {
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "4ZBfVX71VUd6pRy3",
          "name": "Google Sheets Angel Access"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "bc4ca090-6c51-49e8-989a-147a6e720411",
      "name": "Editar campos1",
      "type": "n8n-nodes-base.set",
      "position": [
        1596,
        1140
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
              "name": "output",
              "type": "string",
              "value": "Unable to parse the agent outputs"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7b0211f3-1925-4709-b274-e8d23437bb12",
      "name": "Editar campos2",
      "type": "n8n-nodes-base.set",
      "position": [
        340,
        1890
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
              "name": "output",
              "type": "string",
              "value": "Unable to parse the file data"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8b178bfb-ff80-4600-b6e2-1fe252c11f45",
      "name": "Editar campos3",
      "type": "n8n-nodes-base.set",
      "position": [
        1816,
        940
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
              "name": "output",
              "type": "string",
              "value": "=Name: {{ $json.output.name }}\nEmail: {{ $json.output.email }}\nSkills: {{ $json.output.skills }}\nEducation: {{ $json.output.education }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5d4372fc-d63b-49d2-a2b6-70fd194ba550",
      "name": "Extraer de CSV",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        340,
        340
      ],
      "parameters": {
        "options": {},
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "2eb2d95e-5453-47ad-a548-dbeaa32e3dbb",
      "name": "Extraer de HTML",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        540
      ],
      "parameters": {
        "options": {},
        "operation": "html",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "45c74d33-e46b-43ca-a71f-e16aa28910a2",
      "name": "Extraer de ODS",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        740
      ],
      "parameters": {
        "options": {},
        "operation": "ods",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "a2bf9dbe-94d0-4432-b8cc-5db69451e013",
      "name": "Extraer de PDF",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        940
      ],
      "parameters": {
        "options": {},
        "operation": "pdf",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64",
      "name": "Extraer de RTF",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        1140
      ],
      "parameters": {
        "options": {},
        "operation": "rtf",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "279cc40d-373a-48e3-9f53-4498d0181302",
      "name": "Extraer de TXT",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        1340
      ],
      "parameters": {
        "options": {},
        "operation": "text",
        "destinationKey": "text",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "7aa0c6f1-2630-4e0d-90e8-cd0d060327b2",
      "name": "Extraer de XLS",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        1740
      ],
      "parameters": {
        "options": {},
        "operation": "xls",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "f65cf46c-3482-4757-a087-3f48cb19c30b",
      "name": "Extraer de XML",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        560,
        1540
      ],
      "parameters": {
        "options": {},
        "operation": "xml",
        "destinationKey": "text",
        "binaryPropertyName": "data0"
      },
      "typeVersion": 1
    },
    {
      "id": "209e973c-a4ac-49bc-b977-90f2d1de487c",
      "name": "Agregar",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        560,
        340
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "text"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "5d4372fc-d63b-49d2-a2b6-70fd194ba550",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "2eb2d95e-5453-47ad-a548-dbeaa32e3dbb",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "45c74d33-e46b-43ca-a71f-e16aa28910a2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "a2bf9dbe-94d0-4432-b8cc-5db69451e013",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "279cc40d-373a-48e3-9f53-4498d0181302",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f65cf46c-3482-4757-a087-3f48cb19c30b",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7aa0c6f1-2630-4e0d-90e8-cd0d060327b2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7b0211f3-1925-4709-b274-e8d23437bb12",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agente de IA1": {
      "main": [
        [
          {
            "node": "42d5ebda-7d49-40ef-8c44-2fa57ec68f3e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "209e973c-a4ac-49bc-b977-90f2d1de487c": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e16c87a4-86d0-4878-96bb-a0228ca621b0": {
      "main": [
        [
          {
            "node": "Agente de IA1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "8b178bfb-ff80-4600-b6e2-1fe252c11f45",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "42d5ebda-7d49-40ef-8c44-2fa57ec68f3e": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "bc4ca090-6c51-49e8-989a-147a6e720411",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5d4372fc-d63b-49d2-a2b6-70fd194ba550": {
      "main": [
        [
          {
            "node": "209e973c-a4ac-49bc-b977-90f2d1de487c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45c74d33-e46b-43ca-a71f-e16aa28910a2": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a2bf9dbe-94d0-4432-b8cc-5db69451e013": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "279cc40d-373a-48e3-9f53-4498d0181302": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7aa0c6f1-2630-4e0d-90e8-cd0d060327b2": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f65cf46c-3482-4757-a087-3f48cb19c30b": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2eb2d95e-5453-47ad-a548-dbeaa32e3dbb": {
      "main": [
        [
          {
            "node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Agente de IA1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "58a42607-b1b4-43e0-884f-5a13e706edf8": {
      "ai_outputParser": [
        [
          {
            "node": "Agente de IA1",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "98df1ef4-b57a-43a6-a928-d765559f747c": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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 - 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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos20
Categoría2
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Angel Menendez

Angel Menendez

@djangelic

Angel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34