Filed underHerramientas Open Sourceon•4 min de lectura

Automatiza tus newsletters con Listmonk y GitHub Actions

Aprende a integrar Listmonk con GitHub Actions y RSS para automatizar tus campañas de correo de forma económica y sin servidores dedicados.

Introducción a Listmonk y la automatización de RSS

Enviar boletines por correo electrónico suele implicar el uso de costosas plataformas SaaS como Mailchimp. Para desarrolladores e インディ해커 (indie hackers) que buscan reducir costes fijos, la combinación de herramientas de código abierto y autohospedadas representa una alternativa viable. Listmonk se posiciona como una solución de alto rendimiento para la gestión de listas de correo y boletines.

Por otro lado, la herramienta listmonk-rss conecta fuentes de contenido externas con esta plataforma. El objetivo principal de este sistema es automatizar la creación y programación de campañas utilizando flujos de trabajo sin servidor, basándose en la actividad de un feed RSS.

¿Qué es Listmonk y cómo se posiciona frente a las alternativas comerciales?

핵심 비교

Listmonk (Self-hosted)

  • Binario único de alto rendimiento con PostgreSQL
  • Coste fijo limitado solo al servidor y servicio SMTP
  • Control técnico total y sin límites artificiales de suscriptores
VS

SaaS Comercial (Mailchimp, etc.)

  • Precios variables escalonados por volumen de contactos y envíos
  • Mantenimiento e infraestructura totalmente gestionados
  • Costes crecientes a medida que aumenta la audiencia

Listmonk destaca por ser una aplicación compacta empaquetada en un solo binario que utiliza PostgreSQL como almacén de datos. Su diseño prioriza la velocidad y la riqueza de funciones sin depender de servicios de terceros para el envío masivo.

Frente a soluciones comerciales que cobran por volumen de suscriptores o número de envíos, Listmonk traslada el coste únicamente al alojamiento del servidor y del servicio SMTP que se decida utilizar. Esto resulta atractivo para proyectos con presupuestos ajustados pero con necesidades técnicas suficientes para gestionar una instancia propia.

Cómo funciona la integración de RSS con GitHub Actions

Flujo de automatización RSS con GitHub Actions
  1. 1

    Disparo programado

    GitHub Actions se ejecuta según la programación definida sin servidor dedicado.

  2. 2

    Lectura del feed RSS

    La herramienta extrae las publicaciones más recientes del feed configurado.

  3. 3

    Procesamiento de contenido

    Se transforman los elementos del feed usando plantillas en formato Markdown.

  4. 4

    Creación en Listmonk

    Se conecta a la API de Listmonk para generar y programar la campaña automáticamente.

  5. 5

    Notificación push

    Se envía un aviso informativo para permitir ajustes o revisiones de última hora.

La gestión tradicional de campañas exige crear manualmente cada boletín. La integración con GitHub Actions elimina este paso al permitir que un repositorio ejecute tareas de forma programada sin necesidad de mantener un servidor dedicado exclusivamente a la tarea de sondeo (polling).

El flujo de operaciones sigue una secuencia lógica:

  • El flujo de GitHub Actions se activa según la programación definida.
  • La herramienta extrae las últimas actualizaciones del feed RSS configurado.
  • Se procesan los elementos utilizando plantillas en formato Markdown.
  • Se conecta con la API de Listmonk para crear y programar la campaña automáticamente.
  • Se envían notificaciones push para avisar que la campaña ha sido programada, permitiendo realizar ediciones de última hora si es necesario.

También incluye un modo de prueba ("dry run") que permite verificar la creación de campañas sin alterar el estado real ni programar envíos definitivos.

Variables de configuración principales

Para poner en marcha esta automatización, es necesario definir una serie de variables de entorno dentro del entorno de ejecución de GitHub Actions o del servidor.

Variable Descripción Obligatorio
LISTMONK_API_USER Nombre de usuario de la API de Listmonk Sí
LISTMONK_API_TOKEN Token de acceso de la API de Listmonk Sí
LISTMONK_HOST URL de la instancia de Listmonk Sí
LIST_NAME Nombre de la lista de correo en Listmonk Sí
RSS_FEED URL del feed RSS que se va a monitorear Sí
DELAY_SEND_MINS Minutos de retraso en el envío tras la creación (por defecto: 30) No

En el modo de prueba, el tiempo de retraso se establece automáticamente en diez años para evitar envíos accidentales. ¿Tu servicio actual te permitiría configurar un nivel de control tan granular sobre cada parámetro de envío?

Escenarios de uso y limitaciones

Esta arquitectura resulta útil para blogs técnicos, agregadores de contenido o boletines curatoriales que publican nuevo contenido de forma constante en formato RSS y desean sincronizarlo sin intervención humana.

Sin embargo, presenta limitaciones claras. La dependencia de GitHub Actions como gestor temporal puede no ser ideal para proyectos que requieran una precisión exacta de minutos en entornos de alta criticidad, ya que los ejecutores de GitHub pueden sufrir retrasos en la cola según la demanda de la plataforma. Asimismo, requiere conocimientos técnicos para desplegar y mantener Listmonk junto con PostgreSQL.

Pasos para comenzar

El punto de partida recomendado consiste en levantar una instancia de Listmonk mediante Docker utilizando el archivo docker-compose.yml proporcionado en el repositorio oficial. Una vez que la interfaz web y la API están operativas, se procede a clonar o utilizar el repositorio de la integración RSS con GitHub Actions, configurando las credenciales de la API en los secretos del repositorio.

참고 자료

Preguntas Frecuentes (FAQ)

Q. ¿Qué es Listmonk exactamente?

Listmonk es un gestor de listas de correo y boletines de código abierto, autohospedado, empaquetado en un solo binario y respaldado por una base de datos PostgreSQL.

Q. ¿Para qué sirve la integración listmonk-rss?

Permite extraer automáticamente elementos de un feed RSS y programar campañas en Listmonk utilizando plantillas Markdown y GitHub Actions sin necesidad de mantener un servidor corriendo de forma continua.

Q. ¿Es necesario un servidor dedicado para usar esta integración?

No. Gracias a la integración con GitHub Actions, la programación de campañas se ejecuta mediante flujos de trabajo sin la necesidad de un servidor adicional para esa tarea.

Q. ¿Qué variables de entorno son obligatorias para configurarlo?

Se requiere el usuario y token de la API de Listmonk, la URL de la instancia, el nombre de la lista de correo y la URL del feed RSS a monitorear.

Volver a todos los artículosInicio