Reclutador Virtual

Bot conversacional con IA para automatizar interacciones con candidatos

reclutadorvirtualbotiachatbotconversacionwhatsappgpt

Reclutador Virtual

El Reclutador Virtual es un bot conversacional impulsado por IA que automatiza las interacciones con candidatos a traves de WhatsApp, email y chat.

Que es el Reclutador Virtual

RECLUTADOR VIRTUAL

FlujoDescripcion
CandidatoEnvia mensaje por WhatsApp/Chat
Bot IAProcesa y genera respuesta inteligente

Componentes del Bot:

  • RAG (Base de Conocimiento)
  • LLM (GPT-4)
  • Contexto de Conversacion
  • Acciones Automaticas

Capacidades:

  • Responder preguntas sobre vacantes
  • Realizar screening inicial
  • Agendar entrevistas
  • Recolectar documentos
  • Dar seguimiento a procesos
  • Escalar a humano cuando necesario

Arquitectura del Bot

Componentes Principales

CANALES

  • WhatsApp
  • Chat Web
  • Email
  • SMS

CEREBRO

  • LangGraph
  • GPT-4
  • RAG

ACCIONES

  • Responder
  • Crear Tarea
  • Agendar
  • Mover Etapa
  • Solicitar Doc

CONTEXTO

  • Perfil
  • Historial
  • Vacante
  • Proceso

Flujo de Conversacion

  1. MENSAJE ENTRANTE

    • Candidato envia mensaje por WhatsApp
  2. IDENTIFICACION

    • Buscar candidato por telefono
    • Cargar contexto (perfil, aplicaciones, historial)
  3. CLASIFICACION

    • Determinar intencion del mensaje
      • Pregunta sobre vacante
      • Consulta de estado
      • Envio de documento
      • Confirmacion de cita
      • Otro
  4. PROCESAMIENTO (LangGraph)

    • Nodo de entrada
      • Buscar en RAG (conocimiento)
      • Cargar contexto relevante
      • Determinar siguiente paso
  5. GENERACION (GPT-4)

    • Generar respuesta personalizada
      • Usar contexto del candidato
      • Seguir plantilla de conversacion
      • Tono y estilo configurado
  6. ACCIONES

    • Ejecutar acciones si necesario
      • Crear tarea
      • Mover etapa
      • Agendar entrevista
      • Escalar a humano
  7. RESPUESTA

    • Enviar mensaje al candidato
    • Guardar en historial

Crear un Reclutador Virtual

Desde el Panel

  1. Ir a Automatizacion y click en + Nueva Automatizacion
  2. Seleccionar "Reclutador Virtual"
  3. Elegir plantilla base:
    • screening: Pre-filtrado de candidatos
    • faq: Responder preguntas frecuentes
    • scheduling: Agendar entrevistas
    • documents: Recolectar documentos
    • followup: Seguimiento de procesos
    • custom: Crear desde cero
  4. Configurar:
    • Nombre del bot
    • Vacantes/Procesos asociados
    • Fuentes de conocimiento
    • Mensajes y tono
    • Acciones automaticas
  5. Probar y Activar

Interfaz de Configuracion

CampoDescripcion
Nombre*Mi Reclutador Virtual
Plantilla base*Screening
DescripcionBot para realizar pre-screening de candidatos a vacantes de desarrollo. Evalua experiencia tecnica y disponibilidad.

Vacantes asociadas:

  • Desarrollador Senior React
  • Desarrollador Backend Node.js
  • Diseñador UI/UX

Canales activos:

  • WhatsApp
  • Chat Web (Career Page)
  • Email

Configuracion del Bot

Personalidad y Tono

{
  "personality": {
    "name": "Ana",
    "role": "Reclutadora de Tech Corp",
    "tone": "professional_friendly",
    "language": "es",
    "greeting": "¡Hola! Soy Ana, tu asistente de reclutamiento de Tech Corp. ¿En que puedo ayudarte hoy?",
    "characteristics": [
      "Amable y profesional",
      "Respuestas claras y concisas",
      "Proactiva pero no invasiva",
      "Empatica ante dudas o preocupaciones"
    ]
  }
}

Comportamiento

{
  "behavior": {
    "responseTime": "immediate", // immediate, delayed (2-5 min)
    "maxTurnsBeforeEscalate": 10,
    "escalateOnUncertainty": true,
    "uncertaintyThreshold": 0.6,
    "escalateTo": "recruiter@empresa.com",
    "workingHours": {
      "enabled": true,
      "start": "09:00",
      "end": "18:00",
      "timezone": "America/Mexico_City",
      "outOfHoursMessage": "Gracias por tu mensaje. Te respondere en horario laboral (L-V 9am-6pm)."
    },
    "typingIndicator": true,
    "typingDelay": 1500 // ms
  }
}

Limites y Seguridad

{
  "limits": {
    "maxMessagesPerHour": 50,
    "maxConversationLength": 100, // mensajes
    "sessionTimeout": 30, // minutos de inactividad
    "blockedTopics": [
      "salarios exactos",
      "informacion confidencial",
      "otros candidatos"
    ],
    "sensitiveDataHandling": {
      "collectCURP": false, // Solo en formularios seguros
      "collectPhone": true,
      "collectEmail": true
    }
  }
}

Integracion con LangGraph

Estructura del Grafo

El bot usa LangGraph para manejar flujos de conversacion:

Flujo del Grafo:

  1. START - Inicio
  2. Classify Intent - Clasificar intencion
  3. Ramas paralelas:
    • FAQ
    • Screening (con Follow Up)
    • Schedule
  4. Generate Response - Generar respuesta
  5. Execute Actions - Ejecutar acciones
  6. END - Fin

Nodos del Grafo

// Nodo de clasificacion de intencion
classifyIntent(state) {
  const { message, context } = state;

  // Usar LLM para clasificar
  const intent = await llm.classify(message, [
    "faq",
    "screening",
    "scheduling",
    "documents",
    "status",
    "escalate"
  ]);

  return { ...state, intent };
}

// Nodo de busqueda RAG
ragSearch(state) {
  const { message, jobPosition } = state;

  // Buscar en base de conocimiento
  const relevant = await vectorSearch.search(message, {
    filters: { jobId: jobPosition.id },
    topK: 5
  });

  return { ...state, ragContext: relevant };
}

// Nodo de generacion de respuesta
generateResponse(state) {
  const { message, context, ragContext, intent } = state;

  const prompt = buildPrompt({
    candidateName: context.candidate.name,
    jobTitle: context.job.title,
    intent,
    ragContext,
    conversationHistory: context.history
  });

  const response = await llm.generate(prompt);

  return { ...state, response };
}

Modos de Operacion

Modo FAQ

Proposito: Responder preguntas frecuentes sobre vacantes

Flujo:

  • Candidato pregunta sobre la vacante
  • Bot busca en knowledge base (RAG)
  • Genera respuesta basada en documentacion
  • Si no encuentra respuesta, Escalar

Preguntas tipicas:

  • "¿Cual es el salario?"
  • "¿Es trabajo remoto?"
  • "¿Que beneficios ofrecen?"
  • "¿Cuales son los requisitos?"
  • "¿Como es el proceso de seleccion?"

Modo Screening

Proposito: Pre-filtrado de candidatos

Flujo:

  • Bot saluda y presenta la vacante
  • Hace preguntas de screening:
    • Experiencia relevante
    • Skills principales
    • Disponibilidad
    • Expectativa salarial
    • Ubicacion/modalidad
  • Evalua respuestas
  • Si cumple criterios, Agendar entrevista
  • Si no cumple, Agradecer y cerrar

Ejemplo:

Bot: "¿Cuantos años de experiencia tienes con React?"

Candidato: "3 años"

Bot: "Excelente. ¿Has trabajado con Node.js en el backend?"

Modo Scheduling

Proposito: Agendar entrevistas automaticamente

Flujo:

  • Verificar disponibilidad de entrevistadores
  • Ofrecer slots disponibles al candidato
  • Candidato selecciona preferencia
  • Crear evento en calendario
  • Enviar confirmacion
  • Programar recordatorios

Ejemplo:

Bot: "Me encantaria agendar tu entrevista. Tenemos disponibilidad:

  • Lunes 22 a las 10:00 AM
  • Martes 23 a las 3:00 PM
  • Miercoles 24 a las 11:00 AM

¿Cual te funciona mejor?"

Candidato: "El martes"

Bot: "Perfecto, te agendo el martes 23 a las 3:00 PM..."

Modo Documents

Proposito: Recolectar documentos

Flujo:

  • Notificar documentos pendientes
  • Explicar como subir cada uno
  • Recibir y validar documentos
  • Confirmar recepcion
  • Notificar si hay errores

Ejemplo:

Bot: "Para continuar con tu proceso, necesito que subas tu INE. Puedes enviarla como foto aqui mismo."

Candidato: [Envia foto de INE]

Bot: "Recibido. Estoy validando tu documento... Tu INE ha sido validado correctamente."

Modo Followup

Proposito: Seguimiento proactivo

Flujo:

  • Detectar candidatos sin actividad
  • Enviar mensaje de seguimiento
  • Responder consultas de estado
  • Reactivar candidatos inactivos

Ejemplo:

Bot: "Hola Juan, han pasado 3 dias desde tu ultima actividad. ¿Sigues interesado en la posicion de Desarrollador Senior?"

Acciones del Bot

Acciones Automaticas

El bot puede ejecutar acciones automaticamente:

Basicas:

  • Enviar mensaje
  • Actualizar perfil del candidato
  • Agregar notas
  • Cambiar tags

Proceso:

  • Mover a etapa
  • Agregar a proceso
  • Crear tarea para reclutador
  • Marcar item de checklist

Documentos:

  • Recibir documento
  • Validar documento
  • Solicitar re-subida

Calendario:

  • Verificar disponibilidad
  • Crear evento
  • Reagendar

Escalacion:

  • Transferir a humano
  • Notificar a reclutador
  • Crear alerta urgente

Configurar Acciones

{
  "actions": {
    "onScreeningPass": [
      { "type": "ADD_TAG", "tag": "pre-screened" },
      { "type": "MOVE_TO_STEP", "step": "Entrevista" },
      { "type": "SCHEDULE_INTERVIEW", "type": "initial" }
    ],
    "onScreeningFail": [
      { "type": "ADD_TAG", "tag": "not-qualified" },
      { "type": "SEND_MESSAGE", "template": "rejection_friendly" }
    ],
    "onDocumentReceived": [
      { "type": "VALIDATE_DOCUMENT" },
      { "type": "COMPLETE_CHECKLIST_ITEM" }
    ],
    "onEscalate": [
      { "type": "CREATE_TASK", "assignTo": "recruiter" },
      { "type": "SEND_NOTIFICATION", "urgent": true }
    ]
  }
}

Escalacion a Humano

Cuando Escalar

Escalar automaticamente cuando:

  • Candidato solicita hablar con humano
  • Bot no entiende despues de 2 intentos
  • Pregunta sensible (salario, conflictos)
  • Sentimiento negativo detectado
  • Limite de turnos alcanzado
  • Error del sistema
  • Configuracion especifica

Como Funciona

  1. Bot detecta necesidad de escalacion
  2. Informa al candidato:

    "Entiendo, te comunico con uno de nuestros reclutadores. En breve te contactaran."

  3. Crea tarea para reclutador
  4. Envia notificacion urgente
  5. Incluye contexto de conversacion
  6. Reclutador toma el control
  7. Bot se desactiva para ese thread

Configuracion de Escalacion

{
  "escalation": {
    "triggers": {
      "keywords": ["hablar con alguien", "persona real", "humano"],
      "sentiment": "negative",
      "uncertainty": 0.6,
      "maxTurns": 10,
      "blockedTopics": true
    },
    "routing": {
      "defaultTo": "team:reclutamiento",
      "byJobPosition": {
        "developer": "user:tech_recruiter",
        "sales": "user:sales_recruiter"
      },
      "byUrgency": {
        "high": "user:senior_recruiter"
      }
    },
    "handoff": {
      "message": "Te comunico con uno de nuestros reclutadores...",
      "includeContext": true,
      "summarizeConversation": true
    }
  }
}

Metricas del Bot

Dashboard

PeriodoConversaciones
Hoy45
Esta Semana234
Este Mes1,023

METRICAS CLAVE:

  • Tasa de resolucion: 78%
  • Tasa de escalacion: 12%
  • Satisfaction score: 4.2/5
  • Tiempo promedio respuesta: 3 seg
  • Conversaciones completadas: 85%

INTENCIONES MAS COMUNES:

  • Preguntas sobre vacante: 35%
  • Estado de aplicacion: 25%
  • Agendamiento: 20%
  • Documentos: 15%
  • Otros: 5%

ACCIONES EJECUTADAS:

  • Entrevistas agendadas: 23
  • Documentos recibidos: 45
  • Candidatos pre-screened: 89
  • Escalaciones: 12

Metricas Detalladas

Por conversacion:

  • Turnos hasta resolucion
  • Tiempo de conversacion
  • Intenciones detectadas
  • Acciones ejecutadas
  • Satisfaccion (si aplica)
  • Resultado final

Por candidato:

  • Total de conversaciones
  • Temas discutidos
  • Documentos recolectados
  • Etapa actual
  • Score de engagement

Por vacante:

  • Conversaciones iniciadas
  • Pre-screenings completados
  • Entrevistas agendadas
  • Conversion rate
  • Preguntas frecuentes

Pruebas y Debugging

Modo de Prueba

  1. Ir a Bot y click en Probar Conversacion
  2. Simular mensajes de candidato
  3. Ver:
    • Intencion detectada
    • Contexto usado
    • RAG results
    • Prompt enviado
    • Respuesta generada
    • Acciones ejecutadas
  4. Iterar y ajustar

Logs de Conversacion

{
  "conversationId": "conv_123",
  "turns": [
    {
      "timestamp": "2024-01-20T10:30:00Z",
      "from": "candidate",
      "message": "Hola, tengo dudas sobre la vacante",
      "processing": {
        "intent": "faq",
        "confidence": 0.92,
        "ragResults": 3,
        "tokensUsed": 450
      }
    },
    {
      "timestamp": "2024-01-20T10:30:02Z",
      "from": "bot",
      "message": "¡Hola! Con gusto te ayudo...",
      "actions": []
    }
  ]
}

Buenas Practicas

Diseño de Conversacion

DO:

  • Mensajes cortos y claros
  • Una pregunta a la vez
  • Confirmar antes de actuar
  • Ofrecer opciones cuando posible
  • Mantener contexto de conversacion
  • Despedirse apropiadamente

DON'T:

  • Mensajes muy largos
  • Multiples preguntas seguidas
  • Actuar sin confirmacion
  • Respuestas roboticas
  • Ignorar el contexto
  • Terminaciones abruptas

Seguridad

Proteccion de datos:

  • No solicitar datos sensibles por chat
  • Validar identidad antes de dar info
  • Encriptar conversaciones
  • Retener solo lo necesario
  • Cumplir regulaciones (privacidad)

Proximos Pasos

¿No encontraste lo que buscabas?

Nuestro equipo de soporte está listo para ayudarte.

Contactar Soporte