Gestión dinámica de datos con control de permisos
El sistema recibe mensajes vía webhook de Telegram, extrae el chat ID y consulta Airtable para verificar permisos. Con esta información, genera un *prompt* que incluye el permiso de escritura, el nombre del usuario y su consulta. El agente responde según
Gestión dinámica de datos con control de permisos
🧩 Descripción general
Este flujo de trabajo automatiza el proceso de gestionar una base de datos de productos a través de una interfaz de chat de Telegram con control dinámico de permisos. Recibe un mensaje del usuario a través de un webhook de Telegram, verifica sus permisos administrativos desde una base de datos de usuarios en Airtable, y luego dirige su solicitud a un agente de IA. El agente, equipado con herramientas específicas, puede realizar operaciones de lectura, creación, actualización o eliminación en una base de Airtable de productos, pero solo si el usuario tiene los permisos de escritura apropiados. La respuesta final se envía de vuelta al usuario en Telegram.
⚙️ Características principales
- Procesa las solicitudes entrantes de los usuarios desde un chat de Telegram.
- Verifica dinámicamente los permisos del usuario desde una base de datos de Airtable antes de procesar las solicitudes.
- Utiliza un agente de IA para interpretar el lenguaje natural y ejecutar las operaciones de base de datos apropiadas (CRUD).
- Aplica un modelo de seguridad basado en permisos, permitiendo acciones de escritura solo para usuarios autorizados.
- Envía respuestas estructuradas, generadas por IA, de vuelta al usuario a través de Telegram.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo de trabajo | Entradas clave | Salidas clave |
|---|---|---|---|
| Webhook de Telegram | Recibe el mensaje inicial del usuario y los metadatos de Telegram. | Datos del mensaje entrante de Telegram. | Datos estructurados del mensaje y texto del mensaje en bruto. |
| Analizar datos (chat id) | Extrae el ID de chat único del usuario de los datos del webhook entrante. | Datos del webhook en bruto. | ID de chat formateado. |
| Airtable (tabla de usuarios) | Consulta la base de datos de usuarios para recuperar el perfil y los permisos del usuario basándose en su ID de chat. | ID de chat para filtrar. | Datos del registro del usuario, incluyendo permisos de administrador. |
| Analizar datos (permiso de escritura) | Extrae el indicador específico de permiso de escritura del usuario de los datos del registro del usuario. | Datos del registro del usuario. | Estado del permiso de escritura formateado. |
| Analizar datos (nombre de usuario) | Extrae el nombre del usuario de los datos del registro del usuario. | Datos del registro del usuario. | Nombre de usuario formateado. |
| Prompt | Construye la instrucción final para el agente de IA combinando el estado de permiso del usuario, su nombre de usuario y el mensaje original. | Permiso de escritura, nombre de usuario y mensaje original del usuario. | Un prompt estructurado para el agente. |
| Modelo Google Generative AI | Proporciona el modelo de lenguaje central que impulsa el razonamiento y la toma de decisiones del agente de IA. | Configuración del modelo (ej., Gemini 2.5 Flash). | Una instancia configurada del modelo de lenguaje. |
| Airtable (leer) | Sirve como herramienta para que el agente lea registros de la base de datos de productos. | Configurado como una herramienta. | Interfaz de herramienta para leer datos. |
| Airtable (crear) | Sirve como herramienta para que el agente cree nuevos registros en la base de datos de productos. | Configurado como una herramienta. | Interfaz de herramienta para crear datos. |
| Airtable (actualizar) | Sirve como herramienta para que el agente actualice registros existentes en la base de datos de productos. | Configurado como una herramienta. | Interfaz de herramienta para actualizar datos. |
| Airtable (borrar) | Sirve como herramienta para que el agente borre registros de la base de datos de productos. | Configurado como una herramienta. | Interfaz de herramienta para borrar datos. |
| Agente Avanzado | El agente de IA central que interpreta la solicitud del usuario, selecciona la herramienta correcta basándose en la intención y los permisos, y formula una respuesta. | Prompt del sistema, prompt del usuario, modelo de lenguaje y herramientas de Airtable disponibles. | Una respuesta de texto que responde a la consulta del usuario o confirma la acción tomada. |
| Mensaje de Telegram | Envía la respuesta final del agente de vuelta al usuario en el chat original de Telegram. | Respuesta de texto del agente. | Mensaje enviado al usuario de Telegram. |
🧠 Notas
- La seguridad del flujo de trabajo se basa en el campo
Permisos de administradoren el Airtable de usuarios. El prompt del sistema del agente le instruye explícitamente a realizar operaciones de escritura solo si se concede este permiso. - El agente está configurado con un prompt del sistema específico que define su rol, las reglas de permisos y el formato de respuesta esperado.
- Todos los componentes de Airtable están configurados en "Modo Herramienta", haciéndolos disponibles para que el agente los use dinámicamente basándose en la conversación.
- El flujo de trabajo asume credenciales de API preconfiguradas y válidas para los servicios de Telegram y Airtable.
- La identificación del usuario y el filtrado de permisos dependen de que coincida un campo
chatiden el mensaje de Telegram y en la tabla de usuarios de Airtable.