Acciones de IA
Utiliza inteligencia artificial para analizar candidatos, generar contenido y automatizar decisiones.
Capacidades de IA
ACCIONES DE IA
| ANALISIS | GENERACION | DECISION |
|---|---|---|
| CV Parsing | Respuestas | Scoring |
| Skills Extraction | Emails | Matching |
| Experience Match | Resumenes | Ranking |
| Sentiment | Preguntas | Recomendaciones |
| Language Detection | Feedback | Clasificacion |
ANALYZE_CV
Descripcion
Analiza un curriculum vitae y extrae informacion estructurada.
Extrae:
- Datos personales (nombre, contacto)
- Experiencia laboral
- Educacion
- Skills y competencias
- Idiomas
- Certificaciones
- Resumen ejecutivo
Output:
- Datos estructurados (JSON)
- Score de completitud
- Recomendaciones de mejora
Ejemplo de Configuracion
{
"actionType": "ANALYZE_CV",
"order": 1,
"configuration": {
"documentUrl": "{{document.url}}",
"extractFields": [
"personal_info",
"work_experience",
"education",
"skills",
"languages",
"certifications"
],
"generateSummary": true,
"detectLanguage": true,
"storeResults": true
}
}
Resultado del Analisis
{
"personalInfo": {
"name": "Juan Perez Garcia",
"email": "juan@email.com",
"phone": "+52 55 1234 5678",
"location": "Ciudad de Mexico"
},
"workExperience": [
{
"company": "Tech Corp",
"title": "Senior Developer",
"startDate": "2020-01",
"endDate": "present",
"duration": "4 years",
"responsibilities": [
"Desarrollo de APIs REST",
"Liderando equipo de 5 personas"
]
}
],
"skills": {
"technical": ["JavaScript", "Python", "AWS", "Docker"],
"soft": ["Liderazgo", "Comunicacion"]
},
"education": [...],
"languages": [
{ "language": "Espanol", "level": "Nativo" },
{ "language": "Ingles", "level": "Avanzado" }
],
"summary": "Desarrollador senior con 4+ anos...",
"completenessScore": 85,
"detectedLanguage": "es"
}
Interfaz de Configuracion
Configurar: Analizar CV
| Campo | Valor |
|---|---|
| Documento | {{document.url}} |
Campos a extraer:
- Datos personales
- Experiencia laboral
- Educacion
- Skills
- Idiomas
- Certificaciones
Opciones:
- Generar resumen ejecutivo
- Detectar idioma
- Guardar en perfil del candidato
CALCULATE_MATCH_SCORE
Descripcion
Calcula el porcentaje de match entre un candidato y una vacante.
Compara:
- Skills requeridos vs skills del candidato
- Anos de experiencia
- Nivel educativo
- Ubicacion
- Pretension salarial
- Competencias especificas
Output:
- Score general (0-100)
- Score por categoria
- Gaps identificados
- Recomendaciones
Ejemplo de Configuracion
{
"actionType": "CALCULATE_MATCH_SCORE",
"order": 2,
"configuration": {
"candidateId": "{{postulant.id}}",
"jobPositionId": "{{job.id}}",
"weights": {
"skills": 40,
"experience": 25,
"education": 15,
"location": 10,
"salary": 10
},
"minScore": 60,
"storeResult": true
}
}
Resultado del Matching
{
"overallScore": 78,
"breakdown": {
"skills": {
"score": 85,
"matched": ["JavaScript", "React", "Node.js"],
"missing": ["Kubernetes"],
"extra": ["Vue.js"]
},
"experience": {
"score": 90,
"required": "3-5 years",
"candidate": "4 years",
"match": "Excellent"
},
"education": {
"score": 75,
"required": "Licenciatura en Computacion",
"candidate": "Ingenieria en Sistemas",
"match": "Related field"
},
"location": {
"score": 100,
"required": "Ciudad de Mexico",
"candidate": "Ciudad de Mexico",
"match": "Exact"
},
"salary": {
"score": 50,
"required": "30,000-40,000 MXN",
"candidate": "45,000 MXN",
"match": "Above range"
}
},
"recommendation": "Strong candidate, consider for interview",
"gaps": [
"Missing Kubernetes experience - critical for role",
"Salary expectation 12% above budget"
]
}
Interfaz de Configuracion
Configurar: Calcular Match Score
| Campo | Valor |
|---|---|
| Candidato | {{postulant.id}} |
| Vacante | {{job.id}} |
Pesos (deben sumar 100):
- Skills: 40%
- Experiencia: 25%
- Educacion: 15%
- Ubicacion: 10%
- Salario: 10%
Score minimo para continuar: 60
[x] Guardar resultado en perfil
GENERATE_AI_RESPONSE
Descripcion
Genera una respuesta usando GPT-4 basada en contexto.
Usos:
- Responder preguntas de candidatos
- Generar emails personalizados
- Crear resumenes de evaluacion
- Feedback automatico
- Contenido dinamico
Configuracion:
- prompt: Instrucciones para la IA
- context: Datos de contexto
- tone: Tono de la respuesta
- maxTokens: Longitud maxima
- temperature: Creatividad (0-1)
Ejemplo de Configuracion
{
"actionType": "GENERATE_AI_RESPONSE",
"order": 1,
"configuration": {
"prompt": "Genera un email de rechazo amable para el candidato {{postulant.name}} que aplico a {{job.title}}. Menciona que apreciamos su interes y que mantendremos su perfil en nuestra base de datos para futuras oportunidades.",
"context": {
"candidateName": "{{postulant.name}}",
"jobTitle": "{{job.title}}",
"companyName": "{{company.name}}"
},
"tone": "professional_friendly",
"maxTokens": 300,
"temperature": 0.7,
"outputVariable": "rejection_email"
}
}
Tonos Disponibles
| Tono | Descripcion |
|---|---|
| professional | Formal y corporativo |
| professional_friendly | Formal pero cercano |
| casual | Informal, amigable |
| empathetic | Comprensivo, sensible |
| enthusiastic | Energico, positivo |
| neutral | Sin emocion particular |
Interfaz de Configuracion
Configurar: Generar Respuesta IA
Prompt:*
Genera un email de bienvenida para {{postulant.name}} que fue aceptado en {{job.title}}. Incluye proximos pasos y fecha de inicio.
Contexto adicional:
- startDate: {{offer.startDate}}
- managerName: {{job.hiringManager}}
| Campo | Valor |
|---|---|
| Tono | professional_friendly |
| Max tokens | 300 |
| Creatividad | 0.7 (0=preciso, 1=creativo) |
| Guardar resultado en | welcome_email |
ANALYZE_SENTIMENT
Descripcion
Analiza el sentimiento de un texto (mensaje, email, respuesta).
Output:
- Sentimiento general (positivo, neutral, negativo)
- Score de confianza
- Emociones detectadas
- Urgencia percibida
- Temas clave
Usos:
- Priorizar mensajes urgentes
- Detectar candidatos descontentos
- Routing inteligente
- Alertas de escalacion
Ejemplo de Configuracion
{
"actionType": "ANALYZE_SENTIMENT",
"order": 1,
"configuration": {
"text": "{{message.content}}",
"detectEmotions": true,
"detectUrgency": true,
"extractTopics": true,
"outputVariable": "sentiment_analysis"
}
}
Resultado del Analisis
{
"sentiment": "negative",
"confidenceScore": 0.87,
"emotions": {
"frustration": 0.65,
"disappointment": 0.45,
"anger": 0.20
},
"urgency": "high",
"urgencyScore": 0.78,
"topics": [
"proceso de seleccion",
"tiempo de respuesta",
"falta de comunicacion"
],
"suggestedAction": "escalate_to_human"
}
Acciones Basadas en Sentimiento
Workflow: Routing por Sentimiento
Acciones:
- Analizar sentimiento del mensaje
- Si negativo + urgente:
- Notificar a supervisor
- Priorizar respuesta
- Si positivo:
- Continuar flujo normal
- Si neutral:
- Procesar con bot
EXTRACT_SKILLS
Descripcion
Extrae skills y competencias de texto no estructurado.
Fuentes:
- CV/Resume
- Descripcion de experiencia
- Respuestas a preguntas
- Perfil de LinkedIn
Output:
- Lista de skills tecnicas
- Soft skills
- Nivel estimado por skill
- Certificaciones relacionadas
Ejemplo de Configuracion
{
"actionType": "EXTRACT_SKILLS",
"order": 1,
"configuration": {
"text": "{{cv.content}}",
"skillCategories": ["technical", "soft", "tools", "languages"],
"estimateLevels": true,
"matchWithJobRequirements": "{{job.id}}",
"storeInProfile": true
}
}
Resultado
{
"technical": [
{ "skill": "JavaScript", "level": "Expert", "confidence": 0.92 },
{ "skill": "React", "level": "Advanced", "confidence": 0.88 },
{ "skill": "Node.js", "level": "Intermediate", "confidence": 0.75 }
],
"soft": [
{ "skill": "Liderazgo", "confidence": 0.70 },
{ "skill": "Comunicacion", "confidence": 0.65 }
],
"tools": [
{ "skill": "Git", "level": "Advanced" },
{ "skill": "Docker", "level": "Intermediate" }
],
"languages": [
{ "language": "Espanol", "level": "Native" },
{ "language": "Ingles", "level": "Advanced" }
],
"matchWithJob": {
"matchedSkills": 8,
"requiredSkills": 10,
"matchPercentage": 80
}
}
CLASSIFY_APPLICATION
Descripcion
Clasifica automaticamente una aplicacion en categorias.
Clasificaciones:
- qualified / not_qualified
- priority: high / medium / low
- experience_level: junior / mid / senior
- source_quality: hot / warm / cold
- custom categories
Usos:
- Pre-screening automatico
- Routing a equipos
- Priorizacion de revision
- Reportes y metricas
Ejemplo de Configuracion
{
"actionType": "CLASSIFY_APPLICATION",
"order": 1,
"configuration": {
"applicationId": "{{application.id}}",
"classifyBy": [
"qualification",
"priority",
"experience_level"
],
"customRules": {
"priority_high": "matchScore > 80 AND hasRequiredSkills",
"priority_medium": "matchScore >= 60 AND matchScore <= 80",
"priority_low": "matchScore < 60"
},
"autoReject": {
"enabled": true,
"conditions": ["matchScore < 30", "missingCriticalSkills > 3"]
}
}
}
Resultado
{
"classification": {
"qualified": true,
"qualificationScore": 0.82,
"priority": "high",
"experienceLevel": "senior",
"sourceQuality": "hot"
},
"reasoning": "High match score (85%), meets all required skills, 6+ years experience in relevant field",
"recommendedAction": "schedule_interview",
"autoActioned": false
}
GENERATE_INTERVIEW_QUESTIONS
Descripcion
Genera preguntas de entrevista personalizadas.
Basado en:
- Perfil del candidato
- Requisitos de la vacante
- Tipo de entrevista
- Nivel del puesto
- Areas a evaluar
Output:
- Lista de preguntas
- Respuestas esperadas
- Criterios de evaluacion
- Follow-up questions
Ejemplo de Configuracion
{
"actionType": "GENERATE_INTERVIEW_QUESTIONS",
"order": 1,
"configuration": {
"candidateId": "{{postulant.id}}",
"jobPositionId": "{{job.id}}",
"interviewType": "technical",
"questionCount": 10,
"includeAreas": [
"technical_skills",
"problem_solving",
"experience_validation",
"culture_fit"
],
"difficultyLevel": "senior",
"outputVariable": "interview_questions"
}
}
Resultado
{
"questions": [
{
"area": "technical_skills",
"question": "Describe tu experiencia implementando arquitecturas de microservicios. Que desafios enfrentaste?",
"expectedAnswer": "Debe mencionar: separacion de responsabilidades, comunicacion entre servicios, manejo de estado...",
"followUp": "Como manejaste la consistencia de datos entre servicios?",
"evaluationCriteria": ["depth_of_knowledge", "practical_experience", "problem_awareness"]
},
{
"area": "problem_solving",
"question": "En tu CV mencionas que optimizaste el tiempo de respuesta de una API. Puedes explicar el proceso?",
"expectedAnswer": "Deberia describir: identificacion del problema, metricas, solucion implementada, resultados...",
"followUp": "Que metricas usaste para medir el exito?",
"evaluationCriteria": ["analytical_thinking", "methodology", "results_orientation"]
}
],
"interviewGuide": {
"duration": "60 minutes",
"structure": ["intro (5min)", "technical (30min)", "behavioral (15min)", "questions (10min)"],
"redFlags": ["Vague answers about own projects", "Cannot explain technical decisions"]
}
}
RAG_SEARCH
Descripcion
Busqueda semantica en base de conocimiento usando RAG.
Fuentes:
- Articulos de ayuda
- Politicas de empresa
- FAQ
- Documentos internos
- Historico de conversaciones
Output:
- Fragmentos relevantes
- Score de relevancia
- Fuente del contenido
- Respuesta sintetizada
Ejemplo de Configuracion
{
"actionType": "RAG_SEARCH",
"order": 1,
"configuration": {
"query": "{{message.content}}",
"sources": ["help_articles", "company_policies", "faq"],
"topK": 5,
"minScore": 0.7,
"generateAnswer": true,
"outputVariable": "rag_result"
}
}
Resultado
{
"query": "Cuales son los beneficios que ofrece la empresa?",
"relevantChunks": [
{
"content": "Ofrecemos seguro de gastos medicos mayores, vales de despensa, fondo de ahorro...",
"source": "company_policies/benefits.md",
"score": 0.92
},
{
"content": "Los beneficios incluyen 15 dias de vacaciones el primer ano...",
"source": "faq/compensation.md",
"score": 0.87
}
],
"synthesizedAnswer": "La empresa ofrece varios beneficios incluyendo seguro de gastos medicos mayores, vales de despensa, fondo de ahorro, y 15 dias de vacaciones desde el primer ano. Para informacion detallada sobre elegibilidad y montos, consulta con Recursos Humanos.",
"confidence": 0.89,
"sources": ["company_policies/benefits.md", "faq/compensation.md"]
}
Flujo con Multiples Acciones IA
Ejemplo: Screening Automatico
Workflow: Pre-Screening Inteligente
Trigger: APPLICATION_CREATED
Acciones:
- ANALYZE_CV - Extraer datos del curriculum
- EXTRACT_SKILLS - Identificar competencias
- CALCULATE_MATCH_SCORE - Calcular compatibilidad
- CLASSIFY_APPLICATION - Categorizar por prioridad
- Condicion: Si matchScore > 70
- Si: GENERATE_AI_RESPONSE - Email de siguiente paso
- No: GENERATE_AI_RESPONSE - Email de agradecimiento
- SEND_EMAIL - Enviar respuesta generada
Costos y Limites
Uso de Tokens
Las acciones de IA consumen tokens:
| Accion | Tokens aproximados |
|---|---|
| ANALYZE_CV | ~2,000 tokens |
| CALCULATE_MATCH_SCORE | ~1,500 tokens |
| GENERATE_AI_RESPONSE | ~500-1,000 tokens |
| ANALYZE_SENTIMENT | ~300 tokens |
| EXTRACT_SKILLS | ~1,000 tokens |
| RAG_SEARCH | ~800 tokens |
Monitorear uso en: /app/automation/usage
Limites por Plan
| Plan | Limite |
|---|---|
| Plan basico | 10,000 tokens/dia |
| Plan pro | 100,000 tokens/dia |
| Plan enterprise | Ilimitado |
Ver consumo actual en dashboard.
Buenas Practicas
Diseno de Prompts
DO:
- Ser especifico en instrucciones
- Proveer contexto relevante
- Definir formato de salida
- Usar ejemplos cuando aplique
- Limitar longitud de respuesta
DON'T:
- Prompts ambiguos
- Demasiado contexto irrelevante
- Esperar respuestas perfectas
- Ignorar edge cases
- No validar output
Manejo de Resultados
Siempre validar:
- Score de confianza >= umbral
- Formato de respuesta correcto
- Sin contenido inapropiado
- Longitud dentro de limites
- Datos sensibles filtrados
Proximos Pasos
- Acciones de Flujo - Control de ejecucion
- RAG y Conocimiento - Base de conocimiento
- Reclutador Virtual - Bot conversacional