Package Information
Documentation
GLPI-Connect-ÁlvaroBlancaRodríguez
Conecte n8n con GLPI en un solo nodo: autoservicio IT seguro para sus flujos y sus agentes de IA.
Consulte y gestione tickets, inventario, software y base de conocimiento de GLPI en nombre de cada usuario. El nodo se encarga de la sesión de la API, comprueba los permisos y pide confirmación antes de modificar nada, para que un asistente de IA pueda ayudar a los usuarios sin acceder a datos ajenos.
Creado por Álvaro Blanca Rodríguez.
English summary: n8n community node for GLPI (REST API
apirest.php). It handles sessions automatically, scopes every operation to the end user's email (own tickets and assigned assets only), asks for explicit user confirmation before any change, and returns clean JSON for AI agents. Operations: list/detail/create/comment/close tickets, link assets, list assigned equipment, computer specs and installed software, FAQ search, and a raw API request.
Por qué usarlo
| Sin este nodo | Con GLPI-Connect |
|---|---|
| Abrir y cerrar la sesión de la API a mano en cada flujo | Sesión automática: una por ejecución, cerrada siempre, incluso si hay errores |
| Repetir los tokens en cada nodo HTTP | Una credencial con botón de Test |
| Conocer los números internos de los campos de búsqueda (4 = solicitante, 12 = estado, 70 = usuario…) | Opciones claras: «Listar mis tickets», «Mi equipamiento»… |
| Decenas de nodos HTTP, Code, IF y Switch por consulta | Un nodo por operación |
| Dar a la IA acceso a todo GLPI | Cada usuario solo ve y modifica lo suyo |
| Respuestas con HTML y campos vacíos que la IA puede «rellenar» inventando | JSON limpio en español, sin campos vacíos |
Operaciones
Tickets
- Listar mis tickets: incidencias y solicitudes del usuario, filtrables por estado (abiertos, cerrados, todos), tipo y palabras clave. Incluye técnicos, grupo, categoría, prioridad, fechas y un resumen de la descripción.
- Detalle: técnicos, grupos, seguimientos y tareas públicos, soluciones, aprobaciones y activos asociados.
- Crear: incidencia o solicitud con el usuario como solicitante y, opcionalmente, su equipo afectado. Antes de crearla avisa de posibles duplicados.
- Añadir comentario: seguimiento firmado con el nombre del usuario. En un ticket resuelto solicita su reapertura.
- Cerrar o cancelar: registra un seguimiento con la confirmación del usuario, asigna el ticket a la cuenta técnica de la credencial (sin quitar a los técnicos anteriores), añade la solución, lo cierra y vuelve a consultarlo para confirmar el estado final. El motivo puede ser «solucionado», «cancelado» o «acción automática completada».
- Adjuntar archivo: vincula al ticket del usuario un documento que él mismo subió con Documento → Subir archivo, y añade un seguimiento para avisar al técnico. Exige confirmación como el resto de cambios.
- Asociar activo: relación nativa ticket-elemento de GLPI, solo con activos del usuario y sin duplicados.
Activos
- Mi equipamiento: ordenadores, monitores, impresoras, periféricos, dispositivos de red y teléfonos asignados, con fabricante, modelo, número de serie, inventario, estado y ubicación.
- Ficha y software del ordenador: sistema operativo, procesador, memoria, discos y espacio libre, software inventariado y antigüedad del último inventario. Sirve para saber si una aplicación ya está instalada antes de pedirla.
Otros
- Usuario → Identificar por correo: usuario de GLPI asociado a un correo.
- Documento → Subir archivo: guarda en GLPI un archivo de la entrada (por ejemplo, una foto recibida por Telegram) como documento sin vincular, marcado con el usuario que lo envió. Pensado para usarse en el flujo, no como herramienta de IA: después, la IA lo adjunta al ticket con Ticket → Adjuntar archivo.
- Base de conocimiento → Buscar preguntas frecuentes: artículos FAQ públicos.
- Base de conocimiento → Índice de preguntas frecuentes: títulos e ID de todas las FAQ públicas. Páselo al prompt del agente para que sepa qué artículos existen y no busque a ciegas.
- Base de conocimiento → Leer artículo: contenido completo de una FAQ pública por su ID.
- Petición API → Petición personalizada: cualquier ruta de
apirest.phpcon la sesión ya gestionada. No comprueba permisos por usuario, así que no debe conectarse a un agente de IA.
Seguridad
- Identidad fija: todas las operaciones de usuario actúan en nombre del correo indicado. Fíjelo con una expresión (por ejemplo, el remitente de Teams); nunca deje que lo decida la IA.
- Tickets: conocer el número de un ticket no da acceso a él. Se comprueba que el usuario sea solicitante, o al menos observador si solo quiere consultarlo.
- Activos: solo se pueden usar los asignados al usuario en GLPI.
- Estado del ticket: los tickets cerrados no admiten cambios.
- Confirmación: con Exigir confirmación activado (opción por defecto), una modificación solo se ejecuta si
Confirmado = truey el último mensaje del usuario es una confirmación clara («sí», «vale», «adelante»…). Si no, el nodo devuelve un resumen para que la IA lo muestre y pregunte. - Texto del usuario: se escapa antes de guardarlo en GLPI.
- Seguimientos y tareas privados: nunca se devuelven.
Instalación
Desde n8n (autoalojado)
- Vaya a Settings → Community nodes → Install.
- Escriba
@alvarobr/n8n-nodes-glpi-connect. - Acepte el aviso y pulse Install.
Para usarlo como herramienta de un agente de IA, el servidor de n8n necesita esta variable de entorno:
N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
Actualizar
En Settings → Community nodes aparecerá el botón Update cuando haya una versión nueva.
Credenciales
Cree una credencial GLPI-Connect-ÁlvaroBlancaRodríguez API:
| Campo | Valor |
|---|---|
| URL de GLPI | Dirección base, sin /apirest.php (por ejemplo https://glpi.empresa.com) |
| App-Token | Token del cliente API (en GLPI: Configuración > General > API) |
| User Token | Token de API de la cuenta de integración (en GLPI: Mis preferencias > Claves de acceso remoto) |
| Ignorar errores SSL | Solo si GLPI usa un certificado interno |
El botón Test comprueba la conexión iniciando una sesión. Le recomendamos usar una cuenta de integración con los permisos mínimos necesarios.
Uso con un agente de IA
- Añada el nodo como herramienta del agente, uno por operación (por ejemplo «GLPI - Consultar mis tickets» o «GLPI - Mi equipamiento»).
- Fije con expresiones:
- Correo del usuario: el correo del remitente, por ejemplo
{{ $('Datos del remitente').first().json.mail }} - Último mensaje del usuario (solo en operaciones que modifican): el mensaje recibido.
- Correo del usuario: el correo del remitente, por ejemplo
- Deje que la IA rellene el resto con el botón ✨ de cada campo: número de ticket, comentario, palabras clave, Confirmado…
- En el prompt del agente, indíquele que llame primero con
confirmado = false, muestre el resumen al usuario y solo vuelva a llamar conconfirmado = truecuando este responda que sí.
Ejemplos de lo que puede resolver el asistente
- «¿Qué tickets tengo abiertos?» / «¿Qué técnico lleva mi incidencia de Teams?»
- «Añade a mi ticket de Office que también necesito Adobe» → resumen, «sí», comentario añadido.
- «El problema de Outlook ya está solucionado» → identifica el ticket y lo cierra tras confirmar.
- «Tengo un problema con la webcam» → encuentra su portátil asignado y lo asocia al ticket.
- «Necesito descomprimir archivos» → comprueba que ya tiene 7-Zip instalado antes de pedir nada.
Compatibilidad
- GLPI: 9.5, 10 y 11, con la API REST
apirest.phpactivada. - n8n: 1.x y 2.x autoalojado.
Desarrollo
npm install # dependencias
npm run build # compila a dist/
npm test # compila y ejecuta las pruebas contra un GLPI simulado
npm run dev # compilación continua
credentials/GlpiConnectApi.credentials.ts Credencial y test de conexión
nodes/GlpiConnect/GlpiConnect.node.ts Parámetros del nodo y ejecución
nodes/GlpiConnect/GlpiClient.ts Cliente de apirest.php (sesión y errores)
nodes/GlpiConnect/operations.ts Operaciones y reglas de permisos
nodes/GlpiConnect/utils.ts Formato de textos, fechas y confirmación
test/ GLPI simulado y pruebas del nodo
Aviso legal
GLPI y su logotipo son marcas de Teclib'. Este es un proyecto independiente, no afiliado ni respaldado por Teclib'. El logotipo se usa solo para identificar la aplicación con la que se integra el nodo.
Licencia
MIT © 2026 Álvaro Blanca Rodríguez