Automatizacion de Estado de Postulacion
Configura la actualizacion automatica del estado de la postulacion (JobApplication) cuando los candidatos entran a etapas especificas del proceso.
Como funciona
Cuando un candidato entra a una etapa con actualizacion de estado configurada:
- Candidato movido a "Oferta Aceptada"
- Sistema detecta configuracion de estado
- Actualiza JobApplication.status = "hired"
- Incrementa vacantes cubiertas en JobPosition
- Si aplica: Inicia onboarding automatico
Estados de postulacion
Estados disponibles
| Estado | Descripcion | Uso tipico |
|---|---|---|
new | Recien aplicado | Etapa inicial |
reviewing | En revision | Revision de CV |
interview | En entrevistas | Etapas de entrevista |
evaluation | En evaluacion | Pruebas tecnicas |
offer | Oferta enviada | Negociacion |
hired | Contratado | Etapa final positiva |
rejected | Rechazado | Etapas de rechazo |
withdrawn | Retirado | Candidato se retira |
on_hold | En espera | Pausa temporal |
Flujo tipico de estados
new -> reviewing -> interview -> evaluation -> offer -> hired
En cualquier punto puede pasar a: rejected
Configurar actualizacion de estado
Acceder a configuracion
Tablero -> Click en etapa -> Configurar -> Estado de Postulacion
Panel de configuracion
Estado de Postulacion: Oferta Aceptada
- Actualizar estado automaticamente:
- Al entrar a esta etapa, cambiar estado a: [hired]
- ( ) No cambiar estado
- (x) Cambiar a estado seleccionado
ACCIONES ADICIONALES (si estado = hired)
- Incrementar contador de vacantes cubiertas
- Iniciar proceso de onboarding automaticamente
- Notificar al equipo de RH
[Cancelar] [Guardar]
Configuracion por etapa
Etapa inicial
Etapa: Aplicacion Recibida Estado: new
Resultado: JobApplication.status = "new"
Etapa de revision
Etapa: Revision de CV Estado: reviewing
Resultado: JobApplication.status = "reviewing"
Etapa de entrevista
Etapa: Entrevista Tecnica Estado: interview
Resultado: JobApplication.status = "interview"
Etapa de evaluacion
Etapa: Evaluacion Tecnica Estado: evaluation
Resultado: JobApplication.status = "evaluation"
Etapa de oferta
Etapa: Oferta Enviada Estado: offer
Resultado: JobApplication.status = "offer"
Etapa de contratacion
Etapa: Contratado Estado: hired
Resultado:
- JobApplication.status = "hired"
- JobPosition.filledCount++
- Si filledCount >= vacanciesCount: JobPosition.status = "filled"
- Inicia OnboardingChecklist
Etapa de rechazo
Etapa: Rechazado Estado: rejected
Resultado: JobApplication.status = "rejected"
Estado "hired" - Acciones especiales
Cuando el estado cambia a "hired", el sistema ejecuta acciones adicionales:
1. Incrementar vacantes cubiertas
Antes:
- JobPosition.vacanciesCount = 3
- JobPosition.filledCount = 1
Candidato contratado:
- JobPosition.filledCount = 2
- Quedan 1 vacante disponible
2. Cerrar vacante si esta llena
Si filledCount >= vacanciesCount:
- JobPosition.status = "filled"
- Nuevas postulaciones: Bloqueadas
3. Iniciar onboarding automatico
OnboardingChecklist creado:
- Tipo: Ingreso
- Candidato: Juan Perez
- Template: Onboarding General
- Elementos:
- Documentos de ingreso
- Firma de contrato
- Alta en sistemas
- Capacitacion inicial
4. Notificaciones
Notificaciones enviadas:
- Candidato: "Felicidades, has sido contratado"
- Reclutador: "Juan Perez fue contratado"
- Manager: "Nuevo integrante en tu equipo"
- RH: "Iniciar proceso de alta"
Validaciones de cambio de estado
Cambios permitidos
El sistema valida que los cambios de estado sean logicos:
Permitido:
- new -> reviewing
- reviewing -> interview
- interview -> hired
- interview -> rejected
No permitido:
- rejected -> hired (sin reversion)
- hired -> new (candidato ya contratado)
Mensaje de error
Cambio de estado no permitido
No se puede cambiar de "rejected" a "hired".
El candidato fue rechazado anteriormente. Para reactivar, primero cambia el estado manualmente.
[Entendido]
Visualizacion en el tablero
Indicador de estado
- Avatar Juan Perez
- Desarrollador Frontend
- Match: 85%
- Estado: En entrevista
Badge de contratado
- Avatar Maria Garcia
- Analista de Datos
- Match: 92%
- CONTRATADA (badge verde)
Reportes de estados
Por vacante
Vacante: Desarrollador Frontend
| Estado | Cantidad | Porcentaje |
|---|---|---|
| Nuevo | 45 | 45% |
| En revision | 20 | 20% |
| Entrevista | 15 | 15% |
| Evaluacion | 8 | 8% |
| Oferta | 5 | 5% |
| Contratado | 3 | 3% |
| Rechazado | 4 | 4% |
Total: 100 postulantes
Conversion por etapa
Funnel de Conversion
| Etapa | Cantidad | Barra |
|---|---|---|
| Aplicaron | 100 | =================== |
| En revision | 55 | ============ |
| Entrevistados | 30 | ======= |
| Evaluados | 20 | ===== |
| Oferta | 10 | === |
| Contratados | 3 | = |
Tasa de conversion: 3%
Historial de estados
Ver cambios de estado
Historial de Estado: Juan Perez
| Fecha | De | A |
|---|---|---|
| 15 Ene | - | new |
| 16 Ene | new | reviewing |
| 18 Ene | reviewing | interview |
| 22 Ene | interview | evaluation |
| 25 Ene | evaluation | offer |
| 28 Ene | offer | hired |
Eventos registrados
EventBus:
- APPLICATION_STATUS_CHANGED
- applicationId: 123
- previousStatus: "offer"
- newStatus: "hired"
- changedBy: userId
- TASK_HIRED
- taskId: 45
- applicationId: 123
Integracion con otros modulos
JobPosition
- Contador de vacantes cubiertas
- Estado de la vacante (open/filled)
- Limite de postulaciones
Onboarding
- Inicia automaticamente al contratar
- Usa template configurado
- Asigna tareas al nuevo empleado
Notificaciones
- Envia notificaciones a involucrados
- Actualiza dashboards en tiempo real
- Triggers para automatizaciones
Reportes
- Metricas de conversion
- Tiempo promedio por estado
- Analisis de embudo
Casos de uso
Proceso estandar
Etapas del proceso:
- Aplicacion -> status: new
- Revision CV -> status: reviewing
- Entrevista RH -> status: interview
- Evaluacion Tecnica -> status: evaluation
- Entrevista Final -> status: interview
- Oferta -> status: offer
- Contratado -> status: hired
- Rechazado -> status: rejected
Proceso con multiples rechazos
Etapas de rechazo:
- Rechazado CV -> status: rejected
- Rechazado Entrevista -> status: rejected
- Rechazado Tecnico -> status: rejected
- Rechazado Final -> status: rejected
Todos actualizan al mismo estado pero desde diferentes puntos del proceso.
Proceso con reactivacion
Flujo de reactivacion:
- Rechazado -> status: rejected
- [Manual] Cambiar estado a "reviewing"
- Nueva Revision -> status: reviewing
- Continuar proceso normal
Mejores practicas
Mapear estados consistentemente
Documenta el mapeo:
| Etapa | Estado |
|---|---|
| Aplicacion | new |
| Revision | reviewing |
| Entrevista 1 | interview |
| Entrevista 2 | interview |
| Evaluacion | evaluation |
| Oferta | offer |
| Aceptado | hired |
| Rechazado-* | rejected |
Considerar el funnel
El estado debe reflejar la etapa logica del proceso, no solo la etapa fisica.
Bueno:
- "Entrevista con Director" -> interview (es una entrevista)
Confuso:
- "Entrevista con Director" -> evaluation (no es una evaluacion)
Documentar excepciones
Casos donde el estado NO cambia:
- Movimientos entre sub-etapas
- Retrocesos para correccion
- Etapas administrativas
Problemas comunes
"Estado no se actualiza"
Causas:
- No hay configuracion de estado en la etapa
- Tarea sin JobApplication asociada
- Validacion de cambio fallo
Solucion: Verificar configuracion y que la tarea tenga postulacion.
"Vacante no se cierra"
Causa: filledCount < vacanciesCount.
Solucion: Verificar conteo de vacantes en JobPosition.
"Onboarding no inicia"
Causas:
- No hay template de onboarding
- Onboarding deshabilitado
- Error en creacion
Solucion: Verificar configuracion de onboarding.
Proximos pasos
- Restricciones de Movimiento - Controlar flujo
- Eventos y Calendario - Agendar entrevistas