Integración domótica Listmonk, gratuita y de código abierto

Suscriptores, campañas y aperturas de su Listmonk en Gladys, con escenas en cada nueva suscripción.
Listmonk es un gestor de boletines y listas de correo autoalojado, de código abierto (AGPL-3.0). Esta integración lleva su boletín a Gladys: la instancia Listmonk se convierte en un dispositivo (accesible o no, suscriptores, altas y bajas del día, mensajes enviados, la campaña en curso y su progreso, las tasas de apertura y de clics de la última campaña), y cada lista de correo que elija se convierte en un dispositivo con sus suscriptores y sus bajas. Las escenas pueden reaccionar a un nuevo suscriptor, a una baja o a una campaña terminada, y una acción de escena inicia o pausa una campaña. Un widget del panel muestra las cifras y las últimas campañas.
Probada con un Listmonk 6.2.0 autoalojado real (Docker, PostgreSQL), con una campaña realmente enviada, pausada y reanudada; sus comentarios son bienvenidos en las issues.
Lo que necesita
- Gladys Assistant 5.1.0 o posterior.
- Listmonk 4.0 o posterior (usuarios de API), accesible desde la máquina de Gladys.
- Un usuario de API de Listmonk y su token.
En cada actualización, la integración envía seis peticiones ligeras (contadores del panel, listas, las 20 campañas más recientes, los 20 suscriptores más recientes, dos recuentos del día), sea cual sea el tamaño de su instancia.
Primeros pasos
1. Crear un usuario de API
En Listmonk, abra Admin → Usuarios → Nuevo, elija el tipo API, un
nombre (por ejemplo gladys) y un rol, y guarde: Listmonk muestra el token una
sola vez, cópielo.
El rol decide lo que la integración ve y hace. La lectura requiere los permisos
subscribers:get_all, lists:get_all, campaigns:get_all; las cifras del día
requieren subscribers:sql_query (sin él, todo lo demás funciona); iniciar y
pausar una campaña requiere campaigns:send y campaigns:manage_all.
2. Configurar la integración
En Gladys, abra Integraciones → Listmonk → Configuración:
- Dirección de Listmonk: la dirección con la que abre Listmonk, por ejemplo
http://192.168.1.10:9000ohttps://listas.example.org. Se entiende una dirección copiada con/admin/.... - Usuario de API y Token de API: los del paso 1.
- Intervalo de actualización: de 1 a 10 minutos (2 minutos por defecto).
- Permitir iniciar y pausar campañas: desactivado por defecto. Sin esta opción, la acción de escena se rechaza.
- Idioma de los nombres: el idioma de los nombres de las funciones, fijados al añadir un dispositivo, del estado de la campaña y de los mensajes de escena.
Probar la conexión lee Listmonk y responde con el número de suscriptores, listas y campañas.
3. Añadir la instancia y las listas
Abra la pestaña Descubrir de la integración: muestra la instancia Listmonk y sus listas de correo. Añada la instancia y las listas que quiera seguir.
Los dispositivos
La instancia Listmonk:
| Función | Lo que muestra |
|---|---|
| Accesible | 1 cuando Listmonk responde, 0 tras dos lecturas fallidas seguidas |
| Suscriptores | todos los suscriptores de la instancia |
| Bloqueados | los suscriptores bloqueados |
| Nuevos suscriptores hoy | los suscriptores creados hoy (desde medianoche) |
| Bajas hoy | los suscriptores que han dejado al menos una lista hoy |
| Mensajes enviados | los mensajes de campaña enviados desde que Listmonk cuenta |
| Campaña | la campaña que se está enviando o en pausa, si no la última enviada o cancelada, con su estado |
| Progreso de la campaña | sus mensajes enviados, en porcentaje de los mensajes por enviar |
| Tasa de apertura (última campaña) | aperturas de la última campaña enviada, en porcentaje de sus mensajes (cuentan las repetidas) |
| Tasa de clics (última campaña) | clics de la última campaña enviada, en porcentaje de sus mensajes |
Cada lista añadida:
| Función | Lo que muestra |
|---|---|
| Suscriptores | las suscripciones confirmadas y sin confirmar |
| Dados de baja | los suscriptores que se han dado de baja de la lista |
«Hoy» empieza a medianoche en la zona horaria de Gladys.
Panel
El widget Campañas Listmonk muestra los suscriptores, las altas y las bajas del día, y luego las últimas campañas: enviándose (mensajes enviados / por enviar), en pausa, enviada (mensajes y tasa de apertura), borrador. Sus ajustes eligen cuántas campañas (3, 5 u 8) y ocultan las cifras o el botón Actualizar, que vuelve a leer Listmonk.
Escenas
Disparadores
- Nuevo suscriptor: se añade un suscriptor a Listmonk (formulario de suscripción, importación, API), una vez por lista. Elija las listas (vacío: todas). Variables: nombre, dirección de correo, lista. Se anuncian hasta 20 nuevos suscriptores por actualización: tras una importación grande, los demás se cuentan, no se anuncian.
- Baja: unos suscriptores dejan una lista (o se bloquean). Elija las listas (vacío: todas). Variables: lista, nuevas bajas, bajas en total, suscriptores restantes.
- Campaña terminada: una campaña se ha enviado a todos sus suscriptores. Variables: campaña, asunto, listas, mensajes enviados, aperturas, clics.
Acciones
- Iniciar o pausar una campaña: inicia una campaña en borrador o en pausa, o
pausa una campaña que se está enviando. Indique su nombre exacto, o su ID
precedido de
#(mostrado en Listmonk,#12). Un número solo como2025vale como nombre o como ID: la acción se rechaza cuando existen ambos. Iniciar una campaña que ya se está enviando, o pausar una ya pausada, no hace nada. Salidas: campaña, ID de la campaña, nuevo estado. Rechazada mientras «Permitir iniciar y pausar campañas» esté desactivado: iniciar una campaña envía correos reales a todos los suscriptores de sus listas.
Ideas de escenas
- Una notificación por cada nuevo miembro de su club: disparador Nuevo suscriptor en la lista «Miembros del club», mensaje con el nombre.
- Enviar el sábado a las 9 h el boletín preparado de antemano: Iniciar o pausar una campaña, nombre de la campaña, comando Iniciar.
- Anunciar el final de un envío: disparador Campaña terminada, mensaje con los mensajes enviados.
Solución de problemas
- «Listmonk no responde»: compruebe la dirección y que Gladys alcanza el servidor (misma red, cortafuegos, puerto).
- «usuario de API o token rechazado, o falta un permiso»: compruebe el nombre del usuario de API y su token (Listmonk solo lo muestra al crearlo: cree uno nuevo si lo ha perdido), y el rol del usuario.
- Sin cifras del día: al rol del usuario de API le falta
subscribers:sql_query; Probar la conexión lo indica. - «no hay ninguna API de Listmonk en esta dirección»: la dirección apunta a otra cosa: use la dirección con la que abre Listmonk.
- «la dirección redirige»: introduzca directamente la dirección
https://. - «certificado rechazado»: el certificado HTTPS es autofirmado o ha
caducado: use la dirección
http://en su red local, o un certificado reconocido. - Los registros nunca muestran un suscriptor: ni nombre, ni dirección de correo.
Límites
- Solo Listmonk 4.0 o posterior (usuarios de API). La tasa de apertura cuenta las aperturas que Listmonk registra (un píxel de seguimiento): las aperturas repetidas cuentan, los programas de correo que bloquean las imágenes no se cuentan.
- Un suscriptor añadido a una lista después de su creación no activa Nuevo suscriptor: solo lo hacen los nuevos suscriptores. Baja da el número de bajas, no quién se fue.
- Campaña terminada sigue las 20 campañas más recientes.
- Desarrollada con un Listmonk en Docker y las herramientas de prueba de Gladys, no en una instancia de Gladys en producción: sus comentarios son bienvenidos.
Parámetros de configuración
Estos son los parámetros que Listmonk te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Su Listmonk | section | No | La dirección de su Listmonk y un usuario de API: en Listmonk, Admin → Usuarios → Nuevo, tipo «API», y copie su token. Después añada la instancia y las listas a seguir desde la pestaña Descubrir. |
| Dirección de Listmonk | string | Sí | La dirección con la que abre Listmonk en un navegador. |
| Usuario de API | string | Sí | El nombre de un usuario de API de Listmonk (Admin → Usuarios). |
| Token de API | secret | Sí | Se muestra una sola vez al crear el usuario de API. Las cifras del día requieren el permiso subscribers:sql_query. |
| Opciones | section | No | |
| Intervalo de actualización | select | No | Con qué frecuencia se lee Listmonk: seis peticiones de API ligeras cada vez. |
| Permitir iniciar y pausar campañas | boolean | No | Desactivado: la acción de escena «Iniciar o pausar una campaña» se rechaza. Iniciar una campaña envía correos reales a todos los suscriptores de sus listas. |
| Idioma de los nombres | select | No | Idioma de los nombres de las funciones (fijados al añadir un dispositivo), del estado de la campaña y de los mensajes de escena. |
Cómo instalar Listmonk en Gladys
- En Gladys, abre Integraciones: Listmonk aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-listmonk:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-listmonk.
Listmonk requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Listmonk es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación