Herramientas de Acción Integradas
Acciones predefinidas que tus agentes de IA pueden ejecutar directamente desde una conversación: asignar tareas, enviar mensajes, generar reportes y más.
Herramientas de Acción Integradas
Las herramientas integradas son acciones listas para usar que cualquier agente WhatsApp o email puede invocar durante una conversación — consultar el próximo mantenimiento, asignar una tarea, generar un reporte — sin que el operador salga del chat y sin configurar nada.
¿Para qué sirve?
- Cerrar el loop dentro de la conversación: la respuesta del agente no es "abrí el dashboard", es la acción ejecutada.
- Reducir fricción operativa: el técnico pregunta por WhatsApp, el agente resuelve y responde en segundos.
- Garantizar consistencia: el agente usa la misma herramienta canónica para cada intención, en vez de respuestas libres.
¿Cómo funciona?
Las herramientas viven en el registry interno del sistema. El agente, a cada turno, recibe en su prompt la lista de herramientas disponibles con su description. Gemini decide cuál invocar según el contexto de la conversación. Si la acción requiere datos (ej: número de teléfono para enviar WhatsApp), el agente los pide antes de ejecutar. La invocación es síncrona: el agente espera el resultado, lo parafrasea en el idioma del usuario y lo devuelve al chat.
¿Qué son las herramientas de acción integradas?
Las herramientas de acción integradas son acciones que el agente puede ejecutar durante una conversación sin que el operador tenga que abrir ninguna pantalla. Están registradas y funcionando en producción. Algunas se configuran desde el dashboard del agente; otras se activan automáticamente en los canales de WhatsApp y email.
El agente decide qué herramienta usar según el contexto de la conversación y la descripción de cada acción. Cuándo una acción requiere datos del usuario (por ejemplo: un número de teléfono o el código de una tarea), el agente los solicita antes de ejecutar.
Herramientas de Consulta Integradas
Las herramientas de consulta integradas son acciones de tipo action predefinidas por la plataforma que los agentes de WhatsApp y Email pueden usar directamente, sin que necesites crear ni configurar nada. Una vez registradas en tu agente, están listas para usarse.
Cuándo un usuario escribe una pregunta como "¿Cuándo es el próximo mantenimiento del compresor?", el agente analiza la conversación y usa automáticamente la herramienta correcta para consultar el sistema y responder con datos reales — sin que el operador tenga que abrir ninguna pantalla ni exportar ningún archivo.
Mantenimiento
query_maintenance_plans
Consulta la lista de planes de mantenimiento preventivo con su próxima fecha de ejecución programada.
| Cuándo usarla | Cuándo el usuario pregunta por fechas de mantenimiento próximas o el calendario de mantenimiento. |
| Ejemplo | "¿Cuándo es el próximo mantenimiento del compresor C-101?" |
| Devuelve | Lista de planes con nombre del activo, fecha de próxima ejecución, frecuencia y responsable asignado. |
query_overdue_maintenance
Consulta los planes de mantenimiento que han superado su fecha programada y no se han ejecutado.
| Cuándo usarla | Cuándo el usuario pregunta por mantenimientos vencidos, atrasados o pendientes de ejecución. |
| Ejemplo | "¿Qué mantenimientos están vencidos en la línea 2?" |
| Devuelve | Lista de planes vencidos con días de retraso, activo afectado y última ejecución registrada. |
query_compliance
Consulta el nivel de cumplimiento de los planes de mantenimiento respecto a los SLA y requerimientos regulatorios del período.
| Cuándo usarla | Cuándo el usuario pregunta por el porcentaje de cumplimiento o cuántos planes están al día. |
| Ejemplo | "¿Cuántos planes de mantenimiento están atrasados este mes?" |
| Devuelve | Métricas de cumplimiento: planes ejecutados vs. programados, porcentaje de cumplimiento, planes atrasados y en riesgo. |
Energía
query_energy_consumption
Consulta el consumo energético de la planta o de fuentes específicas en un período determinado.
| Cuándo usarla | Cuándo el usuario pregunta por el consumo de energía, costos energéticos o comparativos por período. |
| Ejemplo | "¿Cuánta energía consumió la planta la semana pasada?" |
| Devuelve | Consumo total (kWh), desglose por fuente de energía, comparativa con períodos anteriores y costo estimado. |
get_energy_anomalies
Consulta las anomalías de consumo energético detectadas recientemente por el sistema de monitoreo.
| Cuándo usarla | Cuándo el usuario pregunta si hay equipos con consumo inusual o picos de energía no justificados. |
| Ejemplo | "¿Hay algún equipo con consumo anormal de energía?" |
| Devuelve | Lista de anomalías energéticas activas con activo afectado, desviación respecto a la línea base, severidad y fecha de detección. |
Calidad (SPC)
query_spc_charts
Consulta la lista de cartas de control SPC (Control Estadístico de Proceso) configuradas en la plataforma.
| Cuándo usarla | Cuándo el usuario pregunta cuántas cartas de control están activas o qué variables se están monitoreando. |
| Ejemplo | "¿Cuántas cartas de control tenemos activas?" |
| Devuelve | Lista de cartas SPC con nombre, variable monitoreada, proceso asociado y estado (activa/inactiva). |
get_spc_chart_status
Consulta el estado actual de un gráfico SPC específico: si el proceso está en control estadístico o ha registrado señales fuera de control.
| Cuándo usarla | Cuándo el usuario pregunta si un proceso o línea de producción está bajo control estadístico. |
| Ejemplo | "¿La línea de producción 3 está fuera de control estadístico?" |
| Devuelve | Estado actual de la carta (en control / fuera de control), número de puntos fuera de límites, última señal de alarma y tendencias detectadas. |
Seguridad — Inspecciones
query_inspections
Consulta inspecciones pasadas y pendientes con filtros por activo, estado o período.
| Cuándo usarla | Cuándo el usuario pregunta por el historial de inspecciones de un activo o si hay inspecciones pendientes. |
| Ejemplo | "¿Cuándo fue la última inspección del tanque T-10?" |
| Devuelve | Lista de inspecciones con fecha, activo inspeccionado, resultado (aprobado/rechazado/observaciones) e inspector responsable. |
get_inspection_details
Consulta los detalles completos de una inspección específica.
| Cuándo usarla | Cuándo el usuario quiere conocer los hallazgos, observaciones o acciones correctivas de una inspección concreta. |
| Ejemplo | "¿Qué encontraron en la inspección de la semana pasada?" |
| Devuelve | Informe detallado de la inspección: checklist completado, hallazgos, fotos adjuntas, observaciones y acciones correctivas generadas. |
Seguridad — LOTO
query_loto_procedures
Consulta los procedimientos LOTO disponibles para un activo específico.
| Cuándo usarla | Cuándo el usuario necesita saber si existe un procedimiento LOTO para un equipo antes de iniciar trabajos de mantenimiento. |
| Ejemplo | "¿Existe un procedimiento LOTO para el transformador principal?" |
| Devuelve | Lista de procedimientos LOTO disponibles para el activo con nombre, puntos de aislamiento y última revisión. |
check_loto_status
Verifica si un activo tiene actualmente un bloqueo LOTO activo.
| Cuándo usarla | Cuándo el usuario necesita confirmar si un equipo está bloqueado para mantenimiento antes de operar o intervenir. |
| Ejemplo | "¿El compresor C-101 está bloqueado para mantenimiento ahora?" |
| Devuelve | Estado LOTO del activo (bloqueado/libre), técnico que aplicó el bloqueo, fecha/hora de inicio y motivo del bloqueo. |
Inventario
query_inventory
Consulta las piezas disponibles en el inventario con filtros por tipo, referencia o ubicación.
| Cuándo usarla | Cuándo el usuario pregunta por disponibilidad de repuestos, piezas o materiales en el almacén. |
| Ejemplo | "¿Tenemos rodamientos 6205 en stock?" |
| Devuelve | Lista de ítems del inventario con referencia, descripción, cantidad disponible, ubicación en almacén y costo unitario. |
check_stock_level
Consulta el nivel de stock de una pieza específica y si está por debajo del nivel mínimo de reorden.
| Cuándo usarla | Cuándo el usuario pregunta por la cantidad exacta de un ítem o si es necesario hacer un pedido. |
| Ejemplo | "¿Cuántos filtros de aceite nos quedan?" |
| Devuelve | Cantidad actual en stock, nivel mínimo configurado, indicador de stock bajo y proveedor sugerido para reorden. |
Rendimiento — SLA y KPIs
get_sla_metrics
Consulta las métricas de SLA del período: porcentaje de cumplimiento, tiempos promedio de respuesta y resolución.
| Cuándo usarla | Cuándo el usuario quiere conocer el desempeño general del equipo de mantenimiento respecto a los SLA. |
| Ejemplo | "¿Cuál es nuestro cumplimiento de SLA este mes?" |
| Devuelve | Porcentaje de cumplimiento de SLA, tiempo promedio de respuesta (MTTR), tiempo promedio entre fallas (MTBF) y tendencia del período. |
get_sla_breaches
Consulta las tareas u órdenes de trabajo que han incumplido el SLA en el período.
| Cuándo usarla | Cuándo el usuario pregunta por incumplimientos específicos o quiere identificar las órdenes que se pasaron del tiempo límite. |
| Ejemplo | "¿Qué órdenes de trabajo se pasaron del tiempo límite?" |
| Devuelve | Lista de incumplimientos con orden de trabajo, activo, tiempo de respuesta real vs. permitido y responsable asignado. |
get_asset_kpis
Consulta los KPIs de confiabilidad de un activo específico: MTBF, MTTR, disponibilidad y OEE.
| Cuándo usarla | Cuándo el usuario pregunta por indicadores de desempeño de un equipo en un período determinado. |
| Ejemplo | "¿Cuál es el MTBF del compresor C-101 este año?" |
| Devuelve | KPIs del activo: MTBF (tiempo medio entre fallas), MTTR (tiempo medio de reparación), disponibilidad operacional y OEE si aplica. |
query_underperforming_assets
Consulta los activos con peor desempeño en los KPIs de confiabilidad del período.
| Cuándo usarla | Cuándo el usuario quiere identificar los equipos más problemáticos o que requieren atención prioritaria. |
| Ejemplo | "¿Cuáles son los 5 equipos con menor disponibilidad?" |
| Devuelve | Ranking de activos por desempeño con nombre, KPI de referencia, valor actual y comparativa con el promedio de planta. |
Rendimiento — Benchmarking
query_benchmark_groups
Consulta los grupos de benchmarking configurados en la plataforma y sus activos miembro.
| Cuándo usarla | Cuándo el usuario pregunta por los grupos de comparativa disponibles o qué equipos están siendo comparados. |
| Ejemplo | "¿Qué grupos de comparativa tenemos configurados?" |
| Devuelve | Lista de grupos de benchmarking con nombre, activos miembro, KPI de referencia y fecha de última actualización. |
get_asset_ranking
Consulta el ranking de activos dentro de un grupo de benchmarking según un KPI específico (disponibilidad, MTBF, OEE, etc.).
| Cuándo usarla | Cuándo el usuario quiere saber cuál equipo tiene el mejor o peor desempeño dentro de un grupo comparable. |
| Ejemplo | "¿Cuál es el compresor con mayor disponibilidad del grupo?" |
| Devuelve | Ranking ordenado de activos del grupo con valor del KPI, posición relativa y variación respecto al promedio del grupo. |
Rendimiento — Salud de Activos
query_asset_health
Consulta el health score calculado para los activos de la planta, basado en múltiples indicadores de confiabilidad.
| Cuándo usarla | Cuándo el usuario pregunta por la salud general de un activo o quiere un resumen de su estado. |
| Ejemplo | "¿Cuál es la salud del motor M-205?" |
| Devuelve | Health score (0–100), factores que afectan la puntuación, tendencia y recomendaciones de acción. |
get_asset_health
Consulta el health score detallado de un activo específico con los KPIs de confiabilidad que lo componen.
| Cuándo usarla | Cuándo el usuario necesita el detalle completo del estado de salud de un activo concreto. |
| Ejemplo | "¿Cuál es el estado de salud de la turbina T-01?" |
| Devuelve | Health score detallado con desglose de KPIs (disponibilidad, MTBF, cumplimiento de mantenimiento), alertas activas y pronóstico. |
query_critical_assets
Consulta la lista de activos cuyo health score está por debajo de un umbral crítico.
| Cuándo usarla | Cuándo el usuario quiere identificar rápidamente qué equipos están en estado crítico y requieren intervención. |
| Ejemplo | "¿Qué equipos están en estado crítico?" |
| Devuelve | Lista de activos críticos con health score actual, umbral de alerta, tiempo en estado crítico y acciones recomendadas. |
query_asset_prognostics
Consulta los pronósticos de vida útil restante y probabilidad de falla de los activos monitoreados.
| Cuándo usarla | Cuándo el usuario pregunta cuánto tiempo le queda a un activo antes de una falla probable o cuándo debe reemplazarse. |
| Ejemplo | "¿Cuántas horas le quedan a la bomba B-103 antes de falla?" |
| Devuelve | Vida útil restante estimada (horas/días), probabilidad de falla en el próximo período, modo de falla más probable y confianza del modelo. |
Anomalías
query_anomalies
Consulta las anomalías detectadas con filtros por fuente, activo o estado.
| Cuándo usarla | Cuándo el usuario pregunta si hay anomalías activas en un área, línea o equipo específico. |
| Ejemplo | "¿Hay anomalías activas en la línea de empaque?" |
| Devuelve | Lista de anomalías con activo, tipo de anomalía, severidad (baja/media/alta/crítica), fuente y fecha de detección. |
get_anomaly_summary
Consulta un resumen agregado de las anomalías activas clasificadas por severidad.
| Cuándo usarla | Cuándo el usuario quiere un panorama rápido del estado de anomalías en la planta sin entrar al detalle. |
| Ejemplo | "¿Cuántas anomalías críticas tenemos hoy?" |
| Devuelve | Conteo de anomalías por nivel de severidad (crítica, alta, media, baja), tendencia respecto al día anterior y áreas más afectadas. |
Herramientas de Acción
Las herramientas de acción permiten al agente ejecutar operaciones reales en el sistema: crear órdenes de trabajo, enviar mensajes, generar documentos y verificar identidades. A diferencia de las herramientas de consulta, estas modifican datos o desencadenan acciones externas (notificaciones, correos, mensajes de WhatsApp).
Gestión de Tareas y Personal
locate_nearest_personnel
Encuentra al técnico activo más cercano a una ubicación geográfica dentro de un departamento. Útil para asignación rápida de emergencias o trabajos de campo.
| Cuándo usarla | Cuándo se necesita saber quién está disponible cerca de una ubicación para atender un incidente o mantenimiento urgente. |
| Ejemplo 1 | "¿Quién está disponible en Monterrey para atender la falla del compresor?" |
| Ejemplo 2 | "Necesito un técnico de instrumentación cerca de la planta norte." |
| Ejemplo 3 | "¿Hay alguien del área eléctrica en Guadalajara?" |
| Necesita | País y ciudad de la ubicación objetivo. El departamento se configura en el agente. |
| Devuelve | Lista de técnicos activos ordenados por proximidad: nombre completo, correo, teléfono, rol y distancia (misma ciudad / mismo estado / mismo país). |
assign_task
Crea una orden de trabajo y la asigna a un técnico. Genera automáticamente un código único de tarea (ej. MAN-042). Si está configurado, envía notificaciones por correo y/o WhatsApp al técnico asignado al momento de la creación.
| Cuándo usarla | Cuándo el usuario quiere abrir una orden de trabajo o asignar un trabajo desde la conversación. |
| Ejemplo 1 | "Asígnale a Juan García el cambio de filtros en la bomba B-201, prioridad alta." |
| Ejemplo 2 | "Crea una tarea para revisar el nivel de aceite del compresor C-101 y avísale a Roberto por WhatsApp." |
| Ejemplo 3 | "Abre una orden de mantenimiento urgente para la turbina T-03." |
| Necesita | Título de la tarea y el técnico asignado (el agente puede buscarlo con locate_nearest_personnel). Prioridad, descripción y fecha límite son opcionales. |
| Devuelve | Código de la tarea creada, nombre del técnico asignado y estado de las notificaciones enviadas (correo / WhatsApp). |
update_task
Actualiza el estado, prioridad, descripción o técnico asignado de una tarea existente. El agente puede marcar avances durante la conversación sin que el operador entre al dashboard.
| Cuándo usarla | Cuándo el usuario informa que una tarea cambió de estado, necesita reasignarse o requiere actualizar su descripción. |
| Ejemplo 1 | "La tarea MAN-042 ya está en progreso." |
| Ejemplo 2 | "Cambia la prioridad de la orden VEN-015 a urgente." |
| Ejemplo 3 | "La tarea MAN-042 quedó completada." |
| Necesita | Código de la tarea (ej. MAN-042) o su ID, y al menos un campo a actualizar: estado, prioridad, descripción, fecha límite o técnico. |
| Devuelve | Confirmación de los campos actualizados, estado actual y prioridad actual de la tarea. |
Estados válidos: backlog, todo, in_progress, done, cancelled.
get_task
Recupera todos los detalles de una tarea por su código o ID. Útil cuando el operador quiere saber el estado actual de una orden de trabajo específica.
| Cuándo usarla | Cuándo el usuario pregunta por el estado, responsable o detalles de una tarea concreta. |
| Ejemplo 1 | "¿En qué estado está la orden MAN-042?" |
| Ejemplo 2 | "¿Quién tiene asignada la tarea VEN-015?" |
| Ejemplo 3 | "Dame los detalles de la orden de trabajo 003." |
| Necesita | Código de la tarea (ej. MAN-042) o su ID. |
| Devuelve | Todos los detalles de la tarea: título, descripción, estado, prioridad, técnico asignado, fechas de creación y actualización, código de tarea. |
Autenticación y Acceso
authenticate_conversation
Verifica la identidad del usuario buscando sus datos en una base de datos configurada. Permite restringir el acceso a ciertos datos o acciones según el rol del usuario autenticado.
| Cuándo usarla | Cuándo el agente necesita confirmar la identidad del usuario antes de mostrar información sensible o ejecutar acciones protegidas. |
| Ejemplo 1 | "Solo el personal autorizado puede ver este reporte. Por favor, indícame tu número de empleado." |
| Ejemplo 2 | "Para continuar, necesito verificar tu identidad. ¿Cuál es tu clave de acceso?" |
| Necesita | El valor de identificación que el usuario proporciona en la conversación (ej. número de empleado, RFC, clave). El campo de búsqueda y la colección de datos se configuran en el agente. |
| Devuelve | Estado de la sesión: authenticated si se encontró el registro, o pending si se requiere verificación adicional con OTP. Los roles asignados al usuario quedan disponibles para el agente. |
send_verification_otp
Genera y envía un código de verificación de 6 dígitos (OTP) al teléfono o correo del usuario para confirmar su identidad en dos pasos. El código expira en 5 minutos y permite máximo 3 intentos.
| Cuándo usarla | Después de authenticate_conversation cuando se requiere confirmación adicional por segundo factor. |
| Ejemplo 1 | "Te envié un código de verificación al número registrado. Por favor, ingrésalo para continuar." |
| Ejemplo 2 | "Para confirmar tu identidad, te enviamos un código al correo registrado." |
| Necesita | La autenticación previa debe estar en estado pending. El canal de envío (WhatsApp o email) se configura en el agente. |
| Devuelve | Confirmación de envío, canal utilizado (whatsapp/email), destino enmascarado para privacidad (ej. ***5678) y tiempo de expiración. |
verify_otp
Verifica el código OTP ingresado por el usuario. Si es correcto, completa la autenticación y concede acceso por 24 horas.
| Cuándo usarla | Cuándo el usuario ingresa el código OTP que recibió por WhatsApp o email. |
| Ejemplo 1 | "Mi código es 482931." |
| Ejemplo 2 | "El código que me llegó es 771204." |
| Necesita | El código de 6 dígitos proporcionado por el usuario en la conversación. |
| Devuelve | Estado authenticated si el código es correcto, junto con los roles del usuario. Si el código es incorrecto, informa cuántos intentos quedan. |
Reportes
generate_report
Genera un reporte en formato PDF con branding corporativo (logo, colores, encabezado y pie de página). El reporte se almacena en la nube y el agente puede enviarlo por WhatsApp o correo inmediatamente después de generarlo.
| Cuándo usarla | Cuándo el usuario solicita un reporte, resumen o documento para compartir con su equipo. |
| Ejemplo 1 | "Genera el reporte de mantenimiento de la semana y mándamelo por WhatsApp." |
| Ejemplo 2 | "Necesito un PDF con el resumen de alarmas del turno." |
| Ejemplo 3 | "Prepara un reporte de los equipos críticos y envíalo al supervisor." |
| Necesita | Título del reporte y el contenido que el agente recopila durante la conversación (puede combinar datos de otras herramientas). El branding se configura en el agente. |
| Devuelve | ID del reporte generado, URL firmada para descarga del PDF y número de páginas. El agente puede usar ese ID directamente para adjuntar el PDF en un correo o enviarlo por WhatsApp. |
Búsqueda Web
web_search
Busca información en internet usando el motor de búsqueda configurado. Soporta búsqueda general y búsqueda de noticias. Puede filtrar resultados por dominio específico si el administrador lo configuró.
| Cuándo usarla | Cuándo el usuario pregunta por información que no está en los datos internos de la planta: noticias del sector, especificaciones técnicas de equipos, normativas, precios de insumos. |
| Ejemplo 1 | "¿Cuáles son las últimas normas ISO para mantenimiento industrial?" |
| Ejemplo 2 | "Busca el manual técnico del motor Siemens 1LA7." |
| Ejemplo 3 | "¿Qué está pasando con el precio del acero esta semana?" |
| Necesita | El texto de búsqueda que el usuario proporciona. La cantidad máxima de resultados y los dominios permitidos se configuran en el agente. |
| Devuelve | Lista de resultados con título, enlace y resumen de cada página encontrada. También incluye sugerencias de búsquedas alternativas si los resultados son limitados. |
Mensajería WhatsApp
Estas herramientas están disponibles en todos los agentes de canal WhatsApp de forma automática.
send_whatsapp_message
Envía un mensaje de texto a un número de WhatsApp. Disponible en agentes de WhatsApp y Email.
| Cuándo usarla | Cuándo el agente necesita enviar una notificación, resumen o confirmación a un número específico. |
| Ejemplo 1 | "Avísale a Roberto al 5512345678 que la bomba B-201 necesita revisión urgente." |
| Ejemplo 2 | "Manda un mensaje al supervisor con el resumen de la guardia." |
| Necesita | Número de teléfono destino (con código de país) y el texto del mensaje. El número de WhatsApp del agente se configura en la herramienta. |
| Devuelve | Confirmación de envío con el número destino y vista previa del mensaje. |
send_file (WhatsApp)
Envía un archivo (PDF, imagen) al usuario actual de WhatsApp. Se usa típicamente después de generar un reporte con generate_report.
| Cuándo usarla | Cuándo el usuario pide que le envíen un documento o imagen durante la conversación de WhatsApp. |
| Ejemplo 1 | "Mándame el reporte en PDF." |
| Ejemplo 2 | "Envíame la foto del esquema." |
| Necesita | URL firmada del archivo (obtenida de generate_report u otra herramienta) y nombre del archivo. |
| Devuelve | Confirmación de que el archivo fue enviado al usuario actual de la conversación. |
send_message_to
Envía un mensaje de WhatsApp a un número diferente al del usuario actual de la conversación. Útil para notificar a un tercero (supervisor, técnico, área de soporte).
| Cuándo usarla | Cuándo el agente necesita comunicar algo a una persona distinta al interlocutor actual. |
| Ejemplo 1 | "Avísale al jefe de turno que hay una alarma activa en la línea 3." |
| Ejemplo 2 | "Forwardea este mensaje al área de compras." |
| Necesita | Número de teléfono destino (con código de país) y el texto del mensaje. Solo disponible en conversaciones de WhatsApp. |
| Devuelve | Confirmación de envío al número indicado. |
send_contact
Envía una tarjeta de contacto al usuario actual de WhatsApp. Útil cuando el agente localiza a un técnico con locate_nearest_personnel y quiere compartir sus datos de contacto.
| Cuándo usarla | Cuándo el usuario pide los datos de contacto de una persona encontrada en el sistema. |
| Ejemplo 1 | "Compárteme el contacto del técnico disponible." |
| Ejemplo 2 | "Envíame los datos del supervisor de turno." |
| Necesita | Nombre completo y número de teléfono del contacto (con código de país). Solo disponible en conversaciones de WhatsApp. |
| Devuelve | Confirmación de que la tarjeta de contacto fue enviada al usuario. |
send_location
Envía un pin de ubicación GPS al usuario actual de WhatsApp.
| Cuándo usarla | Cuándo el agente necesita indicar la ubicación de un activo, instalación o punto de encuentro. |
| Ejemplo 1 | "¿Dónde está la sala de compresores?" |
| Ejemplo 2 | "Mándame la ubicación de la subestación eléctrica norte." |
| Necesita | Coordenadas de latitud y longitud. Nombre y dirección son opcionales. Solo disponible en conversaciones de WhatsApp. |
| Devuelve | Confirmación de que el pin de ubicación fue enviado al usuario. |
Mensajería Email
Estas herramientas están disponibles en todos los agentes de canal email de forma automática.
send_email
Envía un correo electrónico desde una cuenta de email registrada en la plataforma. Puede adjuntar automáticamente un reporte PDF si se generó previamente.
| Cuándo usarla | Cuándo el usuario solicita enviar un correo desde el agente de email, o el agente necesita enviar una notificación formal por correo. |
| Ejemplo 1 | "Manda el reporte de la semana al gerente de planta." |
| Ejemplo 2 | "Envía un correo a compras@empresa.com con el resumen de solicitudes." |
| Ejemplo 3 | "Manda el PDF del análisis de fallas al equipo de ingeniería." |
| Necesita | Dirección de destino, asunto y cuerpo del correo. Si se generó un reporte, el agente puede adjuntarlo automáticamente con el ID del reporte. La cuenta de email remitente se configura en el agente. |
| Devuelve | Confirmación de envío con remitente, destinatario, asunto e indicador de si se adjuntó un archivo. |
attach_file (Email)
Adjunta un archivo a la respuesta de correo que el agente está redactando. El archivo queda pendiente y se incluye cuando el agente envía la respuesta al usuario actual de la conversación.
| Cuándo usarla | Cuándo el usuario pide que se adjunte un documento a la respuesta de email que está por enviarse. |
| Ejemplo 1 | "Adjunta el reporte al correo de respuesta." |
| Ejemplo 2 | "Incluye el PDF en tu respuesta." |
| Necesita | URL firmada del archivo (obtenida de generate_report u otra herramienta) y nombre del archivo. Solo disponible en conversaciones de email. Límite: 5 archivos y 10 MB por archivo. |
| Devuelve | Confirmación de que el archivo quedó pendiente para adjuntarse a la respuesta actual. |
send_email_to
Envía un correo a un destinatario diferente al remitente original de la conversación. Útil para notificar a un tercero o reenviar información a otro área.
| Cuándo usarla | Cuándo el agente debe notificar a alguien distinto al interlocutor actual de la conversación. |
| Ejemplo 1 | "Avísale al jefe de mantenimiento sobre esta alarma." |
| Ejemplo 2 | "Reenvía el resumen al área de seguridad industrial." |
| Necesita | Dirección de correo destino, asunto y cuerpo del mensaje. Opcionalmente puede incluir el ID de un reporte para adjuntarlo. Solo disponible en conversaciones de email. |
| Devuelve | Confirmación de envío con el destinatario y asunto. |
Notas de uso
- Las herramientas de acción que modifican datos (crear tarea, actualizar tarea) registran quién las creó como
ai_assistantpara trazabilidad. - Las notificaciones de
assign_taskse envían automáticamente al crear la tarea — el agente no necesita invocar herramientas de mensajería adicionales para eso. - Las herramientas de WhatsApp (
send_file,send_message_to,send_contact,send_location) solo funcionan dentro de conversaciones de WhatsApp. - Las herramientas de email (
attach_file,send_email_to) solo funcionan dentro de conversaciones de email. - El flujo típico de un reporte es:
generate_report→ obtenerreport_id→send_file(WhatsApp) osend_emailcon elreport_id. - El flujo típico de asignación de emergencia es:
locate_nearest_personnel→ elegir técnico →assign_task→ notificación automática.
Beneficios clave
- Conversación → acción sin salir del chat: el agente ejecuta y responde.
- Registro con trazabilidad (
ai_assistantcomo creador) para auditoría. - Notificaciones lanzadas server-side, sin depender de que la IA invoque tools de mensajería adicional.
- Flujos típicos encadenados (ej: locate → assign → notify) reducen fricción operativa.
- Cada nueva herramienta queda disponible a todos los agentes del tenant automáticamente.
Herramienta de Acción
Las herramientas de acción permiten al agente ejecutar tareas dentro del sistema: crear órdenes de trabajo, enviar notificaciones por WhatsApp o email, generar reportes PDF, y localizar al técnico más cercano.
Conexiones Externas
Las herramientas de conexión externa permiten al agente comunicarse con sistemas fuera de Rela AI: APIs de otros sistemas, dispositivos IoT por MQTT, y maquinaria industrial por OPC UA.