Acciones de Tareas y Aplicaciones
Gestiona el movimiento de candidatos en procesos y la creacion de tareas.
Tipos de Acciones
TAREAS Y APLICACIONES
| MOVIMIENTO | TAREAS | APLICACIONES |
|---|---|---|
| MOVE_TO_STEP | CREATE_TASK | UPDATE_APPLICATION |
| MOVE_TO_PROCESS | ASSIGN_TASK | REJECT_APPLICATION |
| ADD_TO_PROCESS | COMPLETE_TASK | ARCHIVE_APPLICATION |
| REMOVE_FROM_PROC | ADD_NOTE | APPROVE_APPLICATION |
| UPDATE_TASK |
| PERFIL | ASIGNACION | TAGS |
|---|---|---|
| UPDATE_PROFILE | ASSIGN_TO_USER | ADD_TAG |
| UPDATE_STATUS | ASSIGN_TO_TEAM | REMOVE_TAG |
| UPDATE_FIELDS | UNASSIGN | REPLACE_TAGS |
MOVE_TO_STEP
Descripcion
Mueve un candidato a otra etapa dentro del mismo proceso.
Configuracion:
- taskId: ID de la tarea
- targetStepId: Etapa destino
- targetStepName: Nombre de etapa (alternativo)
- notes: Notas del movimiento
- notify: Notificar al candidato
Ejemplo de Configuracion
{
"actionType": "MOVE_TO_STEP",
"order": 3,
"configuration": {
"taskId": "{{task.id}}",
"targetStepName": "Entrevista Tecnica",
"notes": "Movido automaticamente por score >= 80",
"notify": {
"candidate": true,
"assignee": true,
"template": "step_change_notification"
}
}
}
Interfaz de Configuracion
Configurar: Mover a Etapa
| Campo | Valor |
|---|---|
| Tarea | {{task.id}} |
| Etapa destino | (*) Por nombre: Entrevista Tecnica |
Notas del movimiento:
Movido automaticamente por score >= 80
Notificaciones:
- Notificar al candidato
- Notificar al asignado
Movimientos Especiales
Mover a etapa inicial:
{
"targetStep": "initial" // Primera etapa
}
Mover a etapa final:
{
"targetStep": "final" // Ultima etapa (contratado/rechazado)
}
Mover a siguiente etapa:
{
"targetStep": "next" // Siguiente segun orden
}
Mover a etapa anterior:
{
"targetStep": "previous" // Anterior segun orden
}
ADD_TO_PROCESS
Descripcion
Agrega un candidato a un proceso de seleccion.
Si el candidato ya esta en el proceso:
- No hace nada (evita duplicados)
Configuracion:
- userId: ID del candidato
- processId: ID del proceso
- initialStep: Etapa inicial (opcional)
- notes: Notas de entrada
Ejemplo de Configuracion
{
"actionType": "ADD_TO_PROCESS",
"order": 1,
"configuration": {
"userId": "{{postulant.id}}",
"processId": "{{job.processId}}",
"initialStep": "initial", // o ID especifico
"notes": "Agregado desde aplicacion web",
"metadata": {
"source": "{{application.source}}",
"applicationId": "{{application.id}}"
}
}
}
REMOVE_FROM_PROCESS
Descripcion
Remueve un candidato de un proceso.
Configuracion:
- taskId: ID de la tarea
- reason: Motivo de remocion
- archive: Archivar o eliminar
- notify: Notificar al candidato
Ejemplo de Configuracion
{
"actionType": "REMOVE_FROM_PROCESS",
"order": 5,
"configuration": {
"taskId": "{{task.id}}",
"reason": "No cumplio con requisitos minimos",
"archive": true,
"notify": {
"candidate": true,
"template": "process_removal"
}
}
}
CREATE_TASK
Descripcion
Crea una tarea/actividad para seguimiento.
Tipos de tareas:
- review: Revisar aplicacion
- call: Llamar al candidato
- schedule: Agendar entrevista
- document: Solicitar documento
- followup: Seguimiento general
- custom: Tipo personalizado
Ejemplo de Configuracion
{
"actionType": "CREATE_TASK",
"order": 2,
"configuration": {
"type": "schedule",
"title": "Agendar entrevista tecnica con {{postulant.name}}",
"description": "Coordinar entrevista tecnica. Score: {{matchScore}}%",
"assignTo": "{{job.hiringManager}}",
"dueDate": "{{now}} + 3 days",
"priority": "high",
"relatedTo": {
"type": "application",
"id": "{{application.id}}"
},
"checklist": [
"Revisar CV del candidato",
"Preparar preguntas tecnicas",
"Reservar sala/link de Zoom",
"Confirmar disponibilidad del candidato"
]
}
}
Interfaz de Configuracion
Configurar: Crear Tarea
| Campo | Valor |
|---|---|
| Tipo | schedule |
| Titulo* | Agendar entrevista con {{postulant.name}} |
| Asignar a | {{job.hiringManager}} |
| Fecha limite | {{now}} + 3 days |
| Prioridad | Alta |
Descripcion:
Coordinar entrevista tecnica. Score: {{matchScore}}%
Checklist:
- [+] Revisar CV del candidato
- [+] Preparar preguntas tecnicas
ASSIGN_TASK
Descripcion
Asigna una tarea a un usuario o equipo.
Modos de asignacion:
- Usuario especifico
- Siguiente disponible del equipo
- Round-robin
- Por carga de trabajo
- Por expertise
Ejemplo de Configuracion
{
"actionType": "ASSIGN_TASK",
"order": 3,
"configuration": {
"taskId": "{{task.id}}",
"assignmentMode": "round_robin",
"team": "reclutamiento",
"fallback": "{{process.owner}}",
"notify": true
}
}
// O asignacion especifica
{
"actionType": "ASSIGN_TASK",
"order": 3,
"configuration": {
"taskId": "{{task.id}}",
"assignTo": "{{job.hiringManager}}",
"notify": true,
"notifyMessage": "Se te ha asignado revisar a {{postulant.name}}"
}
}
COMPLETE_TASK
Descripcion
Marca una tarea como completada.
Configuracion:
- taskId: ID de la tarea
- outcome: Resultado (success, cancelled, etc.)
- notes: Notas de cierre
- followUp: Crear tarea de seguimiento
Ejemplo de Configuracion
{
"actionType": "COMPLETE_TASK",
"order": 4,
"configuration": {
"taskId": "{{task.id}}",
"outcome": "success",
"notes": "Completado automaticamente al recibir documento",
"followUp": {
"create": true,
"type": "review",
"title": "Revisar documento de {{postulant.name}}",
"dueIn": "1 day"
}
}
}
UPDATE_APPLICATION
Descripcion
Actualiza campos de una aplicacion.
Campos actualizables:
- status: Estado de la aplicacion
- rating: Puntuacion
- notes: Notas
- customFields: Campos personalizados
- tags: Etiquetas
- assignedTo: Asignado
Ejemplo de Configuracion
{
"actionType": "UPDATE_APPLICATION",
"order": 2,
"configuration": {
"applicationId": "{{application.id}}",
"updates": {
"status": "reviewing",
"rating": "{{matchScore}}",
"notes": "Pre-screening automatico completado. Score: {{matchScore}}%",
"customFields": {
"aiScore": "{{matchScore}}",
"processedAt": "{{now}}",
"source": "automation"
}
}
}
}
REJECT_APPLICATION
Descripcion
Rechaza una aplicacion con notificacion opcional.
Configuracion:
- applicationId: ID de la aplicacion
- reason: Motivo del rechazo
- reasonCode: Codigo de motivo
- notify: Enviar notificacion
- template: Plantilla de email
- keepInPool: Mantener en pool de talento
Ejemplo de Configuracion
{
"actionType": "REJECT_APPLICATION",
"order": 5,
"configuration": {
"applicationId": "{{application.id}}",
"reason": "No cumple con experiencia minima requerida",
"reasonCode": "experience_insufficient",
"notify": {
"enabled": true,
"template": "rejection_experience",
"delay": "1 day",
"personalizeMessage": true
},
"keepInPool": true,
"addTags": ["future-consideration"]
}
}
Codigos de Rechazo Comunes
| Codigo | Descripcion |
|---|---|
| experience_insufficient | Falta experiencia |
| skills_mismatch | Skills no coinciden |
| salary_mismatch | Expectativa salarial |
| location_mismatch | Ubicacion no compatible |
| overqualified | Sobrecalificado |
| underqualified | Subcalificado |
| culture_fit | Fit cultural |
| position_filled | Posicion ya cubierta |
| candidate_withdrew | Candidato se retiro |
| no_response | Sin respuesta |
| other | Otro motivo |
UPDATE_PROFILE
Descripcion
Actualiza el perfil del candidato.
Campos actualizables:
- status: Estado (active, archived, blocked)
- notes: Notas internas
- tags: Etiquetas
- customFields: Campos personalizados
- skills: Skills detectadas
- source: Origen del candidato
Ejemplo de Configuracion
{
"actionType": "UPDATE_PROFILE",
"order": 2,
"configuration": {
"profileId": "{{profile.id}}",
"updates": {
"notes": "{{profile.notes}}\n\n[{{now}}] CV analizado automaticamente",
"customFields": {
"lastCVAnalysis": "{{now}}",
"extractedSkills": "{{cvAnalysis.skills}}",
"yearsExperience": "{{cvAnalysis.experience.years}}"
},
"skills": {
"add": "{{cvAnalysis.skills.technical}}"
}
}
}
}
ADD_NOTE
Descripcion
Agrega una nota a una entidad.
Entidades soportadas:
- application
- task
- profile
- process_task
- event
Ejemplo de Configuracion
{
"actionType": "ADD_NOTE",
"order": 3,
"configuration": {
"entityType": "application",
"entityId": "{{application.id}}",
"note": {
"content": "Pre-screening automatico:\n- Match Score: {{matchScore}}%\n- Skills coincidentes: {{matchedSkills}}\n- Recomendacion: {{recommendation}}",
"type": "system", // user, system, ai
"visibility": "team" // team, private, all
}
}
}
ADD_TAG / REMOVE_TAG
Descripcion
Gestiona etiquetas en candidatos o aplicaciones.
Usos de tags:
- Clasificacion (senior, junior, etc.)
- Fuente (linkedin, referral, etc.)
- Estado (urgent, on-hold, etc.)
- Skills (react, python, etc.)
- Personalizados
Ejemplo de Configuracion
Agregar tags:
{
"actionType": "ADD_TAG",
"order": 2,
"configuration": {
"entityType": "profile",
"entityId": "{{profile.id}}",
"tags": ["pre-screened", "high-potential", "{{job.department}}"]
}
}
Remover tags:
{
"actionType": "REMOVE_TAG",
"order": 3,
"configuration": {
"entityType": "profile",
"entityId": "{{profile.id}}",
"tags": ["new-applicant", "pending-review"]
}
}
Reemplazar todos los tags:
{
"actionType": "REPLACE_TAGS",
"order": 2,
"configuration": {
"entityType": "profile",
"entityId": "{{profile.id}}",
"tags": ["reviewed", "{{classification}}"]
}
}
Flujos Comunes
Pre-Screening Automatico
Trigger: APPLICATION_CREATED
Acciones:
- ANALYZE_CV - Analizar curriculum
- CALCULATE_MATCH_SCORE - Calcular compatibilidad
- UPDATE_APPLICATION - Guardar score
- CONDITION
- Si score >= 80:
- ADD_TO_PROCESS
- MOVE_TO_STEP (Entrevista)
- CREATE_TASK (Agendar)
- SEND_EMAIL (Invitacion)
- Si score >= 60:
- ADD_TO_PROCESS
- CREATE_TASK (Revisar)
- SEND_EMAIL (En revision)
- Si score < 60:
- REJECT_APPLICATION
- SEND_EMAIL (Rechazo)
- Si score >= 80:
- ADD_NOTE - Registrar resultado
Movimiento Automatico por Etapa
Trigger: TEST_COMPLETED
Acciones:
- CONDITION
- Si passed == true:
- MOVE_TO_STEP (Siguiente)
- CREATE_TASK (Programar siguiente)
- SEND_EMAIL (Felicitaciones)
- Si passed == false:
- MOVE_TO_STEP (Rechazado)
- REJECT_APPLICATION
- SEND_EMAIL (No paso)
- Si passed == true:
- ADD_NOTE - Registrar resultado del test
Limpieza de Inactivos
Trigger: SCHEDULED (mensual)
Acciones:
- LOOP (candidatos inactivos 90+ dias)
- Por cada uno:
- UPDATE_PROFILE (status: archived)
- REMOVE_TAG (active, hot-lead)
- ADD_TAG (archived, inactive-90d)
- SEND_EMAIL (Despedida)
- Por cada uno:
- CREATE_TASK - Reporte de archivados
Buenas Practicas
Movimientos de Proceso
DO:
- Validar que candidato existe en proceso
- Documentar razon del movimiento
- Notificar a partes relevantes
- Verificar permisos del workflow
- Usar etapas por nombre (no ID)
DON'T:
- Mover sin contexto
- Loops de movimientos
- Ignorar validaciones
- Movimientos a etapas inexistentes
- Cambios masivos sin control
Tareas
DO:
- Titulos claros y descriptivos
- Fechas limite realistas
- Asignar a persona correcta
- Incluir contexto necesario
- Checklists para tareas complejas
DON'T:
- Tareas sin asignar
- Fechas en el pasado
- Titulos genericos
- Duplicar tareas
- Sobrecargar usuarios
Proximos Pasos
- Acciones de Calendario - Crear eventos
- Acciones de Documentos - Solicitar documentos
- Ejemplos Practicos - Casos de uso