Procesos de Seleccion
Las vacantes se vinculan a uno o mas procesos de seleccion que definen las etapas por las que pasan los candidatos. Este modulo soporta flujos lineales, prerequisitos obligatorios, ramificaciones (branching) y creacion automatica de tareas.
Conceptos clave
JobPositionProcess
Es la relacion entre una vacante y un proceso:
- Una vacante puede tener multiples procesos vinculados
- Cada proceso puede ser predeterminado o no
- Los procesos pueden tener un siguiente proceso (nextProcessId) para ramificaciones
Tipos de flujo
LINEAL: Proceso A → Proceso B → Proceso C
RAMIFICADO (Branching):
- Proceso A (Screening) puede pasar a:
- Proceso B1 (Entrevista Tecnica)
- Proceso B2 (Code Challenge)
PARALELO:
- Proceso HR y Proceso Tech se ejecutan simultaneamente
- Ambos convergen en Proceso Final
Acceder a configuracion
Durante creacion de vacante
- En el wizard de creacion, paso "Procesos"
- Selecciona el proceso inicial
- Se muestra visualizacion del flujo (etapas con colores)
- Configuracion avanzada disponible despues de guardar
Vacante existente
- Ve a la vacante
- Menu de acciones → "Procesos"
- O haz clic en "Gestionar Procesos Vinculados"
- Se abre el editor modal de procesos
Editor de procesos vinculados
Interfaz principal
Estructura del editor de procesos vinculados:
- Cabecera: "Procesos Vinculados" con boton de cerrar
- Agregar Proceso: Dropdown para seleccionar proceso (muestra prerequisitos y dependientes)
- Tabla de procesos:
- Columna PROCESO: Nombre, prerequisitos, procesos que bloquea
- Columna SIGUIENTE RUTA: Dropdown para seleccionar rama
- Columna PREDETERMINADO: Estrella para marcar default
- Columna ACCIONES: Ver tablero, eliminar
- Tags de resumen: Total procesos, predeterminado, puntos de ramificacion
Columnas de la tabla
| Columna | Descripcion |
|---|---|
| Proceso | Nombre, descripcion, prerequisitos, procesos que bloquea |
| Siguiente Ruta | Dropdown para seleccionar rama (solo si hay opciones) |
| Predeterminado | Estrella para marcar como default |
| Acciones | Ver tablero, eliminar vinculo |
Indicadores visuales
- Estrella llena (★): Proceso predeterminado
- Estrella vacia (☆): Puede ser predeterminado
- Tag azul: Prerequisitos del proceso
- Tag rojo: Procesos que dependen de este
- Tag morado: Puntos de ramificacion
Proceso predeterminado
Que es
El proceso predeterminado es donde entran automaticamente los candidatos cuando aplican a la vacante.
Requisito obligatorio: Debes tener un proceso predeterminado para poder publicar la vacante.
Restricciones para ser predeterminado
Un proceso NO puede ser predeterminado si:
- Tiene prerequisitos: Otro proceso debe completarse antes
- Es parte de una cadena: Otros procesos dependen de el
Ejemplo NO valido: Screening → Entrevista → Oferta. "Entrevista" NO puede ser default porque tiene prerequisito (Screening).
Configurar predeterminado
- En la tabla de procesos vinculados
- Haz clic en la estrella del proceso
- El proceso se marca como predeterminado
- Si habia otro, se desmarca automaticamente
Mensaje de error comun
Este proceso no puede ser predeterminado porque:
- Tiene prerequisitos: "Screening Inicial"
- O: Otros procesos dependen de este
Vincular procesos
Agregar proceso
- En el dropdown "Agregar Proceso"
- Busca o selecciona el proceso
- El sistema muestra preview de auto-agregado:
Proceso seleccionado: "Entrevista Final" Se agregaran automaticamente:
- Prerequisitos: Screening, Evaluacion Tecnica
- Dependientes: Oferta, Contratacion
- Haz clic en "Agregar"
Auto-agregado de prerequisitos
Cuando agregas un proceso que tiene prerequisitos:
Agregando "Oferta":
- Sistema detecta: Oferta requiere → Entrevista → Screening
- Auto-agrega: Screening, Entrevista (si no estan vinculados)
- Screening se marca como predeterminado (primero en la cadena)
Comportamiento:
- Se agregan todos los prerequisitos recursivamente
- El primer prerequisito (raiz) se marca como predeterminado
- Mantiene el orden correcto de la cadena
Auto-agregado de dependientes
Cuando agregas un proceso, tambien se agregan dependientes hasta el proximo punto de ramificacion:
Agregando "Screening":
- Sistema detecta: Screening → Evaluacion (unico dependiente)
- Auto-agrega: Evaluacion
- Evaluacion tiene 2 dependientes → PARA (ramificacion)
- Usuario debe seleccionar ruta manualmente
Regla: Solo se auto-agregan dependientes de ruta unica. Si hay multiples opciones, el usuario debe elegir.
Procesos disponibles
El dropdown solo muestra procesos que:
- Son del mismo proyecto que la vacante
- No estan ya vinculados a esta vacante
Prerequisitos y dependencias
Como funcionan los prerequisitos
Los prerequisitos definen que un proceso debe completarse antes de iniciar otro:
ProcessDependency:
- processId: Entrevista (el dependiente)
- prerequisiteProcessId: Screening (el requerido)
Resultado: Candidato debe completar Screening antes de entrar a Entrevista
Cadenas de prerequisitos
Los prerequisitos pueden encadenarse:
Screening → Evaluacion → Entrevista → Oferta → Contratacion
Cada flecha = una dependencia. Para llegar a Contratacion, debe completar los 4 anteriores.
Validacion de prerequisitos
Cuando un candidato intenta entrar a un proceso con prerequisitos:
- Sistema verifica si completo los prerequisitos
- Si no completo: Bloquea entrada, muestra mensaje
- Si si completo: Permite entrada normal
Error: No puede entrar a "Entrevista Tecnica" Prerequisitos pendientes:
- Screening Inicial - No completado
- Evaluacion Basica - Completado
Procesos bloqueantes
Un proceso vinculado puede bloquear la eliminacion de otro:
Tienes vinculados: Screening → Entrevista
No puedes eliminar Screening porque:
- "Entrevista Tecnica" depende de el
- Primero elimina Entrevista o la cadena completa
Ramificaciones (Branching)
Que es una ramificacion
Una ramificacion ocurre cuando un proceso tiene multiples posibles siguientes:
Evaluacion Tecnica puede pasar a:
- Opcion 1: Entrevista Presencial
- Opcion 2: Code Challenge Remoto
El usuario debe elegir cual ruta seguir.
Detectar ramificaciones
En la tabla de procesos:
- Columna "Siguiente Ruta" muestra dropdown
- Tag morado indica "X puntos de ramificacion"
- Alerta si hay ramificaciones sin resolver
Atencion: Hay procesos con rutas sin seleccionar. Selecciona la siguiente ruta para cada punto de ramificacion.
Seleccionar ruta
- En la columna "Siguiente Ruta"
- Abre el dropdown
- Selecciona el proceso que sigue
- El sistema:
- Guarda la seleccion (nextProcessId)
- Auto-agrega dependientes de la ruta elegida
- Elimina procesos de rutas NO elegidas
Cambio de ruta:
- Antes: Evaluacion → Entrevista Presencial → ...
- Ahora: Evaluacion → Code Challenge → ...
Resultado:
- Se elimina: Entrevista Presencial y sus dependientes
- Se agrega: Code Challenge y sus dependientes (hasta siguiente ramificacion)
Multiples ramificaciones
Un flujo puede tener varias ramificaciones:
Screening puede pasar a:
- Tecnica → despues puede pasar a Senior Track
- General → despues puede pasar a Junior Track
Cada punto de ramificacion requiere una seleccion.
Creacion automatica de tareas
Como funciona
Cuando un candidato completa la etapa final de un proceso:
- Sistema busca el siguiente proceso configurado (nextProcessId)
- Crea automaticamente tarea en el siguiente proceso
- El candidato aparece en la etapa inicial del nuevo proceso
- Se envia notificacion
Flujo automatico:
- Candidato completa "Screening" (etapa final)
- Sistema detecta: nextProcessId = "Entrevista"
- Crea tarea en "Entrevista" (etapa inicial)
- Candidato aparece en tablero de Entrevista
Prioridad de encadenamiento
- Primero: Busca en JobPositionProcess.nextProcessId (configurado en vacante)
- Fallback: Busca en ProcessDependency (dependencias del proceso)
Tracking de aplicacion
El sistema mantiene relacion con la postulacion original:
jobApplicationIdse conserva en todas las tareas- Permite rastrear todo el recorrido del candidato
- Metricas de conversion por proceso
Cuando NO se crea tarea
- Si el candidato ya tiene tarea en el proceso destino
- Si no hay siguiente proceso configurado
- Si el proceso destino no tiene etapa inicial
Visualizacion de flujo
En el editor
Cada proceso muestra su flujo de etapas:
Recibido (inicial, verde) → Revision CV (azul) → Entrevista (morado) → Contratado (final, verde)
- Etapa inicial: Marcada con estrella
- Etapa final: Marcada con check
- Colores: Configurados en cada etapa
- Flechas: Orden de las etapas
Indicadores en la tabla
Proceso: Evaluacion Tecnica
- Prerreq: Screening Inicial (tag azul)
- Bloquea: Entrevista, Oferta (tag rojo)
- Siguiente: Dropdown con opciones
Eliminar vinculo de proceso
Proceso de eliminacion
- Haz clic en el icono de eliminar (🗑)
- Confirma la accion
- El proceso se desvincula de la vacante
Restricciones
No puedes eliminar un proceso si:
- Es el proceso predeterminado (cambia primero)
- Otros procesos vinculados dependen de el
Error: No se puede eliminar "Screening" Razon: Los siguientes procesos dependen de el:
- Evaluacion Tecnica
- Entrevista
Solucion: Elimina primero los procesos dependientes.
Que pasa con los candidatos
Al desvincular un proceso:
- Candidatos existentes permanecen en el proceso
- No entran nuevos candidatos via esta vacante
- El proceso sigue existiendo en el proyecto
Configuracion avanzada del proceso
Opciones de proceso
Cada proceso tiene configuracion que afecta el comportamiento:
{
movementMode: 'forward_only', // Modo de movimiento
requireNotes: true, // Requerir notas al mover
requireApproval: false, // Requerir aprobacion
autoCreateNextProcess: true, // Crear tarea automatica
notifyPostulantOnMove: true // Notificar candidato
}
Opciones por etapa
Cada etapa puede configurar:
{
testIds: [1, 2], // Pruebas a asignar
assignOnEntry: true, // Asignar al entrar
requireTestCompletion: true, // Bloquear si no completa
eventTemplateId: 5, // Crear evento automatico
slaHours: 48 // Tiempo limite
}
Flujos paralelos
Configurar flujos paralelos
Para ejecutar procesos en paralelo (sin dependencia entre ellos):
- Crea los procesos sin dependencias entre si
- Vincula ambos a la vacante
- Agrega candidatos a cada proceso manualmente
- O configura automatizaciones separadas
Ejemplo:
- Evaluacion HR (sin prerequisitos)
- Evaluacion Tech (sin prerequisitos)
- Ambos pueden ejecutarse simultaneamente
Convergencia de flujos
Para que flujos paralelos converjan:
- Crea proceso final que dependa de ambos
- Usa regla de validacion
min_processes_completed
Ejemplo:
- Evaluacion HR y Evaluacion Tech convergen en Oferta Final
- Regla: min_processes_completed = 2
Integracion con reglas de validacion
Reglas basadas en procesos
Las reglas de validacion pueden verificar:
| Tipo de regla | Descripcion |
|---|---|
min_processes_completed | Minimo de procesos completados |
min_final_steps_completed | Llegar a etapa final en X procesos |
Ejemplo de configuracion
- Regla: Para cambiar postulacion a "Oferta"
- Condicion: min_processes_completed >= 2
- Procesos requeridos: Evaluacion HR, Evaluacion Tech
Mejores practicas
Disenar flujos simples
- Menos es mas: 2-3 procesos encadenados maximo
- Ramificaciones claras: Usa nombres descriptivos
- Prerequisitos logicos: Solo cuando hay dependencia real
Nombrar procesos correctamente
Bueno:
- "Screening Inicial"
- "Evaluacion Tecnica - Frontend"
- "Entrevista con Hiring Manager"
Malo:
- "Proceso 1"
- "Paso 2"
- "Siguiente"
Configurar predeterminado correcto
- El predeterminado debe ser el primer proceso del flujo
- Nunca pongas un proceso con prerequisitos como default
- Si hay ramificacion inicial, elige el mas comun
Probar el flujo
- Crea candidato de prueba
- Muevelo por todo el flujo
- Verifica creacion automatica de tareas
- Confirma que ramificaciones funcionan
Problemas comunes
"No puedo publicar: falta proceso predeterminado"
Causa: Ningun proceso esta marcado como predeterminado.
Solucion:
- Ve a Procesos de la vacante
- Marca uno como predeterminado (sin prerequisitos)
"No puedo marcar como predeterminado"
Causa: El proceso tiene prerequisitos o dependientes.
Solucion:
- Usa el primer proceso de la cadena
- Verifica que no tenga prerequisitos configurados
"No puedo eliminar el proceso"
Causa: Otros procesos vinculados dependen de el.
Solucion:
- Identifica los procesos dependientes (tag rojo)
- Elimina primero los dependientes
- Luego elimina el proceso original
"La ramificacion no aparece"
Causa: El proceso solo tiene un dependiente (no es ramificacion).
Solucion: Las ramificaciones solo aparecen cuando hay 2+ opciones de siguiente proceso.
"El candidato no paso al siguiente proceso"
Causas posibles:
- nextProcessId no configurado
- Candidato no llego a etapa final
- Ya tiene tarea en el proceso destino
Solucion: Verifica configuracion de ruta y estado del candidato.
"Se agregaron procesos que no queria"
Causa: Auto-agregado de prerequisitos/dependientes.
Solucion:
- Es comportamiento esperado para mantener integridad
- Puedes eliminar los que no necesites (si no tienen dependientes)
Resumen de funcionalidades
| Funcionalidad | Disponible | Notas |
|---|---|---|
| Multiples procesos por vacante | ✓ | Sin limite |
| Proceso predeterminado | ✓ | Obligatorio para publicar |
| Cadenas de prerequisitos | ✓ | Auto-agregado recursivo |
| Ramificaciones (branching) | ✓ | Seleccion via dropdown |
| Creacion automatica de tareas | ✓ | Al completar etapa final |
| Flujos paralelos | ✓ | Procesos sin dependencias |
| Validacion de prerequisitos | ✓ | Bloquea entrada si no cumple |
| Visualizacion de flujo | ✓ | Etapas con colores |
| Tracking de postulacion | ✓ | jobApplicationId preservado |