Tutorial · n8n · Recursos Humanos

Anonimización de CVs con n8n

Cuando llega un CV por email, el flujo extrae el texto del PDF, elimina todos los datos personales identificativos con GPT-4o y entrega al panel de selección únicamente competencias, experiencia e idiomas — sin nombre, sin foto, sin sesgos.

Inmediato n8n Cloud / Self-hosted ~2 horas de configuración 4 pasos Recursos Humanos Intermedio
← Volver a todos los tutoriales
Visión General

¿Qué hace este flujo y qué problema resuelve?

El problema: Los estudios demuestran que los sesgos inconscientes en la selección de personal — por nombre, género o foto — reducen la diversidad y exponen a la empresa a riesgos legales. Además, el RGPD exige minimizar el tratamiento de datos personales en los procesos de selección.

La solución: Un flujo n8n que recibe los CVs en PDF por email, extrae el texto con un parser de documentos, usa GPT-4o para eliminar todos los datos identificativos y genera un documento anonimizado (sin nombre, sin foto, sin datos demográficos) que es el único que ve el panel de selección.

Email
CV adjunto
PDF Parser
Extracción texto
GPT-4o
Anonimización
Panel selección
CV anónimo

Impacto esperado: Selección 100% basada en competencias. Reducción de sesgos inconscientes. Cumplimiento RGPD en el tratamiento de datos de candidatos. El Director de RRHH puede demostrar un proceso de selección objetivamente equitativo.

¿Quién hace qué?

Directivo (Negocio): Define qué información es relevante para el puesto (competencias, años de experiencia, idiomas) y qué información debe eliminarse (nombre, foto, dirección, edad, género, estado civil).

Equipo Técnico (IT/Data): Configura el trigger de email, el parser de PDFs, conecta la API de OpenAI para la anonimización y gestiona la distribución del documento anonimizado al panel de selección.
⚠ RGPD y datos de candidatos: Los CVs contienen datos personales especialmente sensibles. Con n8n self-hosted, los documentos no salen de tu red corporativa. Si usas n8n Cloud, verifica que el procesamiento cumple con tu política de privacidad y la base legal del tratamiento. Informa a los candidatos en la política de privacidad de que sus datos se procesan de forma anonimizada.

Contexto

Cuándo usar este flujo

✓ Úsalo cuando… × No lo uses cuando…
  • Procesos de selección con múltiples candidatos (5+)
  • Empresas con compromisos de diversidad e inclusión (D&I)
  • Sectores regulados donde la objetividad del proceso es auditable
  • Cuando el panel de selección incluye personas con posibles sesgos conocidos
  • Posiciones donde la identidad es relevante por ley (ej. cargos públicos con requisitos específicos)
  • Procesos donde el candidato ya es conocido internamente por todos los evaluadores
  • CVs en formatos muy complejos con tablas y gráficos que el parser no puede leer correctamente

Preparación

Prerrequisitos

Antes de empezar, asegúrate de tener acceso a las siguientes herramientas y credenciales:

HerramientaRequisitoUso en el flujo
n8nInstancia operativa (Cloud o self-hosted)Orquestador central del flujo
Cuenta de email (Gmail / Outlook)Cuenta dedicada para recepción de CVs con API habilitadaTrigger: detecta emails con CVs adjuntos
OpenAI APIClave API con acceso a GPT-4oAnonimización inteligente del contenido del CV
Google Drive / SharePointCarpeta de destino para CVs anonimizadosAlmacenamiento y distribución al panel de selección
Plantilla CV AnónimoDocumento DOCX o Google Docs con diseño corporativoFormato de salida del CV anonimizado

Paso 01

Recepción del CV por email

El flujo se activa automáticamente cuando llega un email con un PDF adjunto a la cuenta de recepción de candidaturas. No requiere ninguna acción manual del equipo de RRHH.

  • 1Configura el trigger de email: Añade un nodo "Gmail Trigger" o "Microsoft Outlook Trigger" con el evento "Message Received". Filtra por asunto (ej. que contenga "candidatura" o "CV") o por remitente.
  • 2Extrae el adjunto PDF: Usa el nodo "Gmail" con la operación "Get Attachment" para obtener el binario del PDF adjunto al email.
  • 3Valida el formato: Añade un nodo "IF" que compruebe que el adjunto es un PDF (tipo MIME application/pdf). Si no lo es, envía un email de respuesta solicitando el formato correcto.

Paso 02

Extracción del texto del PDF

Antes de enviar el CV a la IA, es necesario extraer el texto del PDF. n8n incluye un nodo nativo para esto que no requiere APIs externas.

  • 1Extrae el texto: Usa el nodo "Extract from File" con la operación "PDF" para convertir el PDF en texto plano. Este nodo está disponible de forma nativa en n8n sin necesidad de credenciales adicionales.
  • 2Limpia el texto: Añade un nodo "Code" (JavaScript) para eliminar caracteres especiales, saltos de línea múltiples y espacios redundantes que puedan confundir al modelo de IA.
Consejo: Si los CVs tienen un formato muy visual (columnas, tablas, gráficos), el parser de texto puede perder estructura. En ese caso, considera usar la API de OpenAI con visión (GPT-4o con imagen) enviando el PDF como imagen en lugar de texto extraído.

Paso 03

Anonimización con GPT-4o

Con el texto del CV extraído, GPT-4o analiza el contenido y devuelve únicamente la información relevante para la evaluación, eliminando todos los datos que puedan generar sesgos.

Prompt — Anonimización de CVs (GPT-4o)
Eres un sistema de anonimización de CVs para selección inclusiva. Del siguiente CV, extrae ÚNICAMENTE la siguiente información y devuelve un JSON estructurado: - "experiencia": Array de trabajos anteriores con campos "cargo", "sector" y "duracion". NO incluyas el nombre de la empresa. - "formacion": Array de titulaciones con campos "titulo", "nivel" (grado/máster/FP) y "anyo". - "competencias": Array de habilidades técnicas y blandas relevantes. - "idiomas": Array de idiomas con campo "idioma" y "nivel" (nativo/C2/C1/B2/B1/A2). - "logros": Array de hasta 3 logros cuantificables sin referencias personales. OMITE ABSOLUTAMENTE: nombre, apellidos, email, teléfono, dirección, foto, fecha de nacimiento, edad, género, estado civil, nacionalidad, y cualquier dato que permita identificar a la persona. CV A ANONIMIZAR: {{$json.text}}
Consejo: Añade un nodo "JSON Parse" después del nodo OpenAI para convertir el string JSON en un objeto n8n. Así podrás mapear cada campo individualmente al rellenar la plantilla de CV anonimizado.

Paso 04

Distribución al panel de selección

Con los datos anonimizados en formato JSON, n8n rellena la plantilla corporativa de CV anónimo y la distribuye al panel de selección a través de Google Drive o SharePoint.

  • 1Rellena la plantilla: Usa el nodo "Google Docs" con la operación "Update" para volcar los datos JSON en la plantilla de CV anónimo. Mapea cada campo del JSON ({{$json.experiencia}}, {{$json.formacion}}, etc.) a los marcadores de posición de la plantilla.
  • 2Mueve a la carpeta del panel: Usa el nodo "Google Drive" para mover el documento generado a la carpeta compartida con el panel de selección. Nombra el archivo con un código anónimo (ej. CANDIDATO-2026-001.docx) sin ningún dato personal.
  • 3Notifica al panel: Envía un email automático al panel de selección con el enlace al documento anonimizado y la fecha límite para la evaluación.

Resultado

Output esperado del flujo

Cuando el flujo se ejecuta correctamente, produce los siguientes datos y artefactos para cada CV procesado:

Variables y artefactos generados
Variable / ArtefactoTipoDescripciónDestino
cv_anonimizado_jsonJSONObjeto con experiencia, formación, competencias, idiomas y logros sin datos personalesVariable interna n8n
documento_anonimizadoGoogle Doc / DOCXCV con formato corporativo, sin ningún dato identificativo, listo para el panelGoogle Drive / SharePoint
codigo_candidatoStringIdentificador anónimo único (ej. CANDIDATO-2026-001) para trazabilidad internaRRHH (tabla de correspondencias)
notificacion_panelEmailAviso al panel con enlace al documento y fecha límite de evaluaciónGmail / Outlook
Señal de éxito: El panel de selección recibe el email con el enlace al CV anónimo en menos de 2 minutos tras la recepción de la candidatura, y el documento no contiene ningún dato personal identificativo.


Errores comunes

Problemas frecuentes y cómo resolverlos

Estos son los errores más habituales al configurar este flujo por primera vez, con su causa y solución:

  • 1El parser de PDF no extrae correctamente el texto del CV: Algunos CVs tienen texto embebido como imagen o usan fuentes no estándar. Solución: añade un paso alternativo con OCR (Google Vision API o AWS Textract) cuando el texto extraído tiene menos de 200 palabras, lo que indica que el PDF es una imagen escaneada.
  • 2GPT-4o asigna puntuaciones inconsistentes entre candidatos: El modelo puede variar su criterio entre llamadas. Solución: incluye en el prompt una escala de referencia con ejemplos concretos de qué puntuación merece cada nivel de experiencia. Usa temperature: 0 para maximizar la consistencia.
  • 3Los CVs en otros idiomas no se evalúan correctamente: GPT-4o entiende múltiples idiomas, pero el prompt de evaluación está en español. Añade una instrucción al inicio del prompt: "Si el CV está en otro idioma, evalúalo igualmente usando los mismos criterios y responde siempre en español."
  • 4El panel de selección en Google Sheets no se actualiza en tiempo real: El nodo de Google Sheets de n8n añade filas pero no actualiza la vista. Crea una hoja de cálculo con filtros y ordenación automática por puntuación para que el Director de RRHH vea siempre los mejores candidatos arriba.

Variantes

Adaptaciones del flujo para otros contextos

Este flujo se puede adaptar fácilmente a otros casos de uso cambiando el trigger, la fuente de datos o el destino:

  • AVariante con email automático de acuse de recibo: Añade un paso al inicio del flujo que envíe un email automático al candidato confirmando la recepción de su candidatura. Personaliza el mensaje con el nombre del candidato y el puesto al que aplica, extraídos por GPT-4o del CV.
  • BVariante para LinkedIn Jobs: Sustituye el trigger de email por la API de LinkedIn Jobs para capturar candidaturas directamente desde la oferta publicada. n8n tiene un nodo nativo de LinkedIn.
  • CVariante con entrevista de pre-screening automática: Para candidatos con puntuación superior a 7, envía automáticamente un enlace a un formulario de pre-screening con 5 preguntas específicas del puesto. Las respuestas se evalúan en un segundo paso del flujo.

Siguiente paso

¿Qué hacer ahora?