Herramientas y acciones de IA
Cuando chatea con el Asistente de IA para administradores, el modelo no adivina respuestas — tiene un conjunto de herramientas que puede invocar para leer sus datos y realizar acciones. Este artículo documenta esas herramientas para que comprenda exactamente qué puede hacer la IA en segundo plano.
Estas herramientas solo están disponibles para el chat de administrador. El chat orientado a miembros no tiene herramientas y es de solo lectura.
Las seis herramientas de administrador
| # | Herramienta | Qué hace | ¿Modifica datos? |
|---|---|---|---|
| 1 | create_announcement |
Redacta un anuncio nuevo | Sí — como borrador inactivo, después de su confirmación |
| 2 | create_event |
Redacta un evento nuevo | Sí — como borrador inactivo, después de su confirmación |
| 3 | search_events |
Encuentra eventos por rango de fechas o palabra clave | No — solo lectura |
| 4 | search_people |
Encuentra personas por nombre o estado | No — solo lectura |
| 5 | update_person_status |
Actualiza el estado de membresía/activo de una persona | Sí — después de su confirmación |
| 6 | query_database |
Ejecuta recuentos, listas, promedios y agrupaciones de solo lectura | No — solo lectura |
Garantía de confirmación: Cada herramienta que escribe en la base de datos devuelve primero una vista previa y espera su clic explícito en «Crear» / «Confirmar». La IA no puede modificar sus datos en silencio.
1. create_announcement
Redacta un anuncio nuevo y le muestra una vista previa.
- Entradas:
title(requerido),content(requerido),category(opcional:general,urgent,event,ministry) - Salida: Siempre se guarda como
is_active = false(borrador). Usted lo publica manualmente desde la lista de Anuncios.
2. create_event
Redacta un evento nuevo y le muestra una vista previa.
- Entradas:
title(requerido),starts_at(requerido,YYYY-MM-DD HH:MM),ends_at(opcional),location(opcional),description(opcional) - Salida: Se guarda como inactivo. Usted lo activa manualmente desde la lista de Eventos.
3. search_events
Encuentra eventos sin modificar nada.
- Entradas:
start_date,end_date,keyword(todas opcionales) - Salida: Título, fecha, hora, ubicación de cada coincidencia.
4. search_people
Encuentra personas por nombre o estado de membresía.
- Entradas:
name,membership_status(member,regular_attender,visitor,inactive),is_active(booleano) — todas opcionales - Salida: Nombres e información básica, limitados a sus permisos (los líderes de equipo solo ven sus grupos asignados).
5. update_person_status
Actualiza el estado de membresía o la bandera activa de una persona.
- Entradas:
person_id(requerido),membership_status,is_active,reason(opcional, p. ej. «Se mudó a otro estado») - Salida: Muestra el estado actual frente al propuesto, luego espera su confirmación. Se requiere permiso de administrador.
6. query_database — el DSL de datos
Esta es la herramienta más potente. Acepta un pequeño DSL JSON que describe lo que desea, y la IA convierte su pregunta en lenguaje natural en la llamada correcta.
Esquema
{
"entity": "people | events | groups | announcements | attendance",
"operation": "count | average | sum | list | min | max | group_by",
"field": "age | birthdate | created_at | ...",
"filters": { "...": "..." },
"group_by": "membership_status | gender | age_group",
"limit": 20
}
Entidades
- people — registros de la congregación (con anonimización aplicada)
- events — eventos del calendario
- groups — grupos y clases
- announcements — registros de anuncios
- attendance — entradas de asistencia
Operaciones
| Operación | Qué hace | Pregunta de ejemplo |
|---|---|---|
count |
Devuelve un único número | «¿Cuántos miembros activos?» |
average |
Promedio de un campo numérico | «¿Cuál es la edad promedio de nuestros jóvenes?» |
sum |
Suma de un campo numérico | «¿Cuántas entradas de asistencia totales el mes pasado?» |
list |
Devuelve filas (limitadas por limit) |
«Muéstreme todos los visitantes» |
min / max |
Valor más pequeño / más grande | «¿Quién es nuestro miembro más anciano?» |
group_by |
Recuentos agrupados por un campo | «Desglose la membresía por estado» |
Ejemplos de filtros
La IA construye el objeto filters a partir de su pregunta. Formas comunes:
{"membership_status": "member"}{"is_active": true}{"gender": "female"}{"age_min": 18, "age_max": 30}{"birth_month": 2}— cumpleaños de febrero{"birth_day": 14}— día específico del mes{"created_after": "2026-01-01"}
Traducciones de ejemplo
| Usted pregunta | La IA invoca |
|---|---|
| «¿Cuántos miembros activos?» | entity: people, operation: count, filters: {membership_status: member, is_active: true} |
| «Edad promedio de mujeres menores de 40» | entity: people, operation: average, field: age, filters: {gender: female, age_max: 40} |
| «Lista de cumpleaños de marzo» | entity: people, operation: list, filters: {birth_month: 3}, limit: 50 |
| «Tamaños de grupos» | entity: groups, operation: list, field: member_count |
| «Desglose por estado de membresía» | entity: people, operation: group_by, group_by: membership_status |
Registro de auditoría
Cada ejecución de herramienta se registra con:
- El nombre de la herramienta y los argumentos
- El ID del usuario que actúa
- El ID de la iglesia
- Marca de tiempo
Cada solicitud de herramienta y cada acción confirmada se registra en el registro del sistema para que pueda ver exactamente qué hizo la IA y cuándo.
Resumen de seguridad
- Sin eliminaciones. Ninguna herramienta puede eliminar registros.
- Solo borradores. Todas las herramientas
create_*se guardan como inactivas. - Vista previa + confirmar. Cada escritura requiere su clic explícito de confirmación.
- Limitado por permisos. Las herramientas respetan su rol; los líderes de equipo no pueden consultar datos fuera de sus grupos.
- Solo lectura por defecto. Cuatro de las seis herramientas son lecturas puras.
Artículos relacionados
- Asistente de chat de IA para administradores — la experiencia orientada al usuario
- Qué datos puede acceder la IA — qué campos y registros puede ver cada herramienta
- Solución de problemas de IA — cuando una herramienta devuelve un error