Zum Hauptinhalt springen

Listmonk Smart-Home-Integration, kostenlos und Open Source

Listmonk-Integration für Gladys Assistant

Abonnenten, Kampagnen und Öffnungen deines Listmonk in Gladys, mit Szenen bei neuen Abonnenten.

Listmonk ist ein selbst gehosteter Newsletter- und Mailinglisten-Manager, quelloffen (AGPL-3.0). Diese Integration bringt deinen Newsletter in Gladys: Die Listmonk-Instanz wird ein Gerät (erreichbar oder nicht, Abonnenten, Neuzugänge und Abmeldungen des Tages, gesendete Nachrichten, die laufende Kampagne und ihr Fortschritt, Öffnungs- und Klickrate der letzten Kampagne), und jede gewählte Mailingliste wird ein Gerät mit ihren Abonnenten und Abmeldungen. Szenen können auf einen neuen Abonnenten, eine Abmeldung oder eine beendete Kampagne reagieren, und eine Szenenaktion startet oder pausiert eine Kampagne. Ein Dashboard-Widget zeigt die Zahlen und die letzten Kampagnen.

Getestet mit einem echten, selbst gehosteten Listmonk 6.2.0 (Docker, PostgreSQL), mit einer wirklich gesendeten, pausierten und fortgesetzten Kampagne; Rückmeldungen sind willkommen in den Issues.

Was du brauchst​

  • Gladys Assistant 5.1.0 oder neuer.
  • Listmonk 4.0 oder neuer (API-Benutzer), vom Gladys-Rechner aus erreichbar.
  • Einen API-Benutzer von Listmonk und sein Token.

Bei jeder Aktualisierung sendet die Integration sechs leichte Anfragen (Dashboard-Zähler, Listen, die 20 neuesten Kampagnen, die 20 neuesten Abonnenten, zwei Tageszählungen), unabhängig von der Größe deiner Instanz.

Erste Schritte​

1. Einen API-Benutzer anlegen​

Öffne in Listmonk Admin → Benutzer → Neu, wähle den Typ API, einen Namen (zum Beispiel gladys) und eine Rolle, dann speichern: Listmonk zeigt das Token nur einmal an, kopiere es.

Die Rolle bestimmt, was die Integration sieht und tut. Lesen braucht die Berechtigungen subscribers:get_all, lists:get_all, campaigns:get_all; die Tageszahlen brauchen subscribers:sql_query (ohne sie funktioniert alles andere); Kampagnen starten und pausieren braucht campaigns:send und campaigns:manage_all.

2. Die Integration konfigurieren​

Öffne in Gladys Integrationen → Listmonk → Konfiguration:

  • Listmonk-Adresse: die Adresse, mit der du Listmonk öffnest, zum Beispiel http://192.168.1.10:9000 oder https://listen.example.org. Eine mit /admin/... kopierte Adresse wird verstanden.
  • API-Benutzer und API-Token: die aus Schritt 1.
  • Aktualisierungsintervall: 1 bis 10 Minuten (standardmäßig 2 Minuten).
  • Starten und Pausieren von Kampagnen erlauben: standardmäßig aus. Ohne diese Option wird die Szenenaktion abgelehnt.
  • Sprache der Namen: die Sprache der Funktionsnamen, beim Anlegen eines Geräts festgelegt, des Kampagnenstatus und der Szenen-Meldungen.

Verbindung testen liest Listmonk und antwortet mit der Zahl der Abonnenten, Listen und Kampagnen.

3. Die Instanz und die Listen anlegen​

Öffne den Tab Entdecken der Integration: Er listet die Listmonk-Instanz und deine Mailinglisten. Lege die Instanz an, und die Listen, die du verfolgen willst.

Die Geräte​

Die Listmonk-Instanz:

FunktionWas sie zeigt
Erreichbar1, wenn Listmonk antwortet, 0 nach zwei fehlgeschlagenen Abfragen in Folge
Abonnentenalle Abonnenten der Instanz
Gesperrtdie gesperrten Abonnenten
Neue Abonnenten heutedie heute (ab Mitternacht) angelegten Abonnenten
Abmeldungen heutedie Abonnenten, die heute mindestens eine Liste verlassen haben
Gesendete Nachrichtendie Kampagnen-Nachrichten, die gesendet wurden, seit Listmonk zählt
Kampagnedie gerade gesendete oder pausierte Kampagne, sonst die zuletzt gesendete oder abgebrochene, mit ihrem Status
Kampagnenfortschrittihre gesendeten Nachrichten, in Prozent der zu sendenden
Öffnungsrate (letzte Kampagne)Öffnungen der letzten gesendeten Kampagne, in Prozent ihrer Nachrichten (wiederholte zählen)
Klickrate (letzte Kampagne)Klicks der letzten gesendeten Kampagne, in Prozent ihrer Nachrichten

Jede angelegte Liste:

FunktionWas sie zeigt
Abonnentendie bestätigten und unbestätigten Anmeldungen
Abgemeldetdie Abonnenten, die sich von dieser Liste abgemeldet haben

„Heute“ beginnt um Mitternacht in der Zeitzone von Gladys.

Dashboard​

Das Widget Listmonk-Kampagnen zeigt die Abonnenten, die Zu- und Abgänge des Tages, dann die letzten Kampagnen: wird gesendet (gesendete / zu sendende Nachrichten), pausiert, gesendet (Nachrichten und Öffnungsrate), Entwurf. In seinen Einstellungen wählst du die Zahl der Kampagnen (3, 5 oder 8) und blendest die Zahlen oder die Schaltfläche Aktualisieren aus, die Listmonk neu liest.

Szenen​

Auslöser​

  • Neuer Abonnent: Ein Abonnent wird in Listmonk angelegt (Anmeldeformular, Import, API), einmal pro beigetretener Liste. Wähle die Listen (leer: alle). Variablen: Name, E-Mail-Adresse, Liste. Bis zu 20 neue Abonnenten pro Aktualisierung werden gemeldet: Nach einem großen Import werden die übrigen gezählt, nicht gemeldet.
  • Abmeldung: Abonnenten verlassen eine Liste (oder werden gesperrt). Wähle die Listen (leer: alle). Variablen: Liste, neue Abmeldungen, abgemeldet insgesamt, verbleibende Abonnenten.
  • Kampagne beendet: Eine Kampagne wurde an alle Abonnenten gesendet. Variablen: Kampagne, Betreff, Listen, gesendete Nachrichten, Öffnungen, Klicks.

Aktionen​

  • Kampagne starten oder pausieren: startet eine Kampagne im Entwurf oder in Pause, oder pausiert eine Kampagne, die gerade gesendet wird. Gib ihren genauen Namen an, oder ihre ID mit # (in Listmonk angezeigt, #12). Eine bloße Zahl wie 2025 gilt als Name oder ID: Die Aktion lehnt ab, wenn es beides gibt. Eine schon laufende Kampagne starten oder eine schon pausierte pausieren tut nichts. Ausgaben: Kampagne, Kampagnen-ID, neuer Status. Abgelehnt, solange „Starten und Pausieren von Kampagnen erlauben“ aus ist: Eine Kampagne zu starten schickt echte E-Mails an alle Abonnenten ihrer Listen.

Szenen-Ideen​

  • Eine Benachrichtigung für jedes neue Mitglied deines Vereins: Auslöser Neuer Abonnent auf der Liste „Vereinsmitglieder“, Nachricht mit dem Namen.
  • Den vorbereiteten Newsletter am Samstag um 9 Uhr senden: Kampagne starten oder pausieren, Name der Kampagne, Befehl Starten.
  • Das Ende eines Versands melden: Auslöser Kampagne beendet, Nachricht mit den gesendeten Nachrichten.

Fehlerbehebung​

  • „Listmonk antwortet nicht“: Prüfe die Adresse und ob Gladys den Server erreicht (gleiches Netz, Firewall, Port).
  • „API-Benutzer oder Token abgelehnt, oder eine Berechtigung fehlt“: Prüfe den Namen des API-Benutzers und sein Token (Listmonk zeigt es nur beim Anlegen: Lege einen neuen an, wenn es verloren ist) und die Rolle des Benutzers.
  • Keine Tageszahlen: Der Rolle des API-Benutzers fehlt subscribers:sql_query; Verbindung testen meldet es.
  • „keine Listmonk-API unter dieser Adresse“: Die Adresse zeigt auf etwas anderes: Nutze die, mit der du Listmonk öffnest.
  • „die Adresse leitet um“: Gib direkt die https://-Adresse ein.
  • „Zertifikat abgelehnt“: Das HTTPS-Zertifikat ist selbst signiert oder abgelaufen: Nutze die http://-Adresse im lokalen Netz oder ein vertrauenswürdiges Zertifikat.
  • Die Protokolle zeigen nie einen Abonnenten: weder Namen noch E-Mail-Adresse.

Grenzen​

  • Nur Listmonk 4.0 oder neuer (API-Benutzer). Die Öffnungsrate zählt die Öffnungen, die Listmonk erfasst (ein Tracking-Pixel): Wiederholte Öffnungen zählen, Mail-Programme, die Bilder blockieren, werden nicht gezählt.
  • Ein Abonnent, der nach seiner Anlage einer Liste hinzugefügt wird, löst Neuer Abonnent nicht aus: Nur neue Abonnenten tun es. Abmeldung gibt die Zahl der Abgänge an, nicht wer gegangen ist.
  • Kampagne beendet verfolgt die 20 neuesten Kampagnen.
  • Entwickelt mit einem Listmonk in Docker und den Testwerkzeugen von Gladys, nicht auf einer produktiven Gladys-Instanz: Rückmeldungen sind willkommen.

Konfigurationseinstellungen​

Diese Einstellungen fragt Listmonk in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein ListmonksectionNeinDie Adresse deines Listmonk und ein API-Benutzer: In Listmonk Admin → Benutzer → Neu, Typ „API“, dann sein Token kopieren. Lege danach die Instanz und die zu verfolgenden Listen im Tab „Entdecken“ an.
Listmonk-AdressestringJaDie Adresse, mit der du Listmonk im Browser öffnest.
API-BenutzerstringJaDer Name eines API-Benutzers von Listmonk (Admin → Benutzer).
API-TokensecretJaWird beim Anlegen des API-Benutzers einmal angezeigt. Die Tageszahlen brauchen die Berechtigung subscribers:sql_query.
OptionensectionNein
AktualisierungsintervallselectNeinWie oft Listmonk gelesen wird: jedes Mal sechs leichte API-Anfragen.
Starten und Pausieren von Kampagnen erlaubenbooleanNeinAus: Die Szenenaktion „Kampagne starten oder pausieren“ wird abgelehnt. Eine Kampagne zu starten schickt echte E-Mails an alle Abonnenten ihrer Listen.
Sprache der NamenselectNeinSprache der Funktionsnamen (beim Anlegen eines Geräts festgelegt), des Kampagnenstatus und der Szenen-Meldungen.

So installierst du Listmonk in Gladys​

  1. Öffne in Gladys Integrationen: Listmonk erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-listmonk:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-listmonk.

Listmonk benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Listmonk ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂