WhatsApp ist der Kanal, den Ihre Benutzer Dutzende Male am Tag öffnen – und GLPI kann standardmäßig nur per E-Mail kommunizieren. Das Modul WhatsApp Bot von NexTool verbindet GLPI mit der Evolution API (Open Source, Baileys-Protokoll) und stellt Ticket-Benachrichtigungen direkt per WhatsApp zu, mit einer Warteschlange, die Fehlschläge erneut verarbeitet, und einer Verbindung in Ihrer eigenen Infrastruktur. Im Support von Service Desks haben wir gelernt, dass der richtige Kanal die Antwortquote bei Genehmigungen und Zufriedenheitsumfragen verändert – doch die Integration hat Konfigurationsfallen, die dieser Leitfaden unter der Haube zeigt.
Das Problem
GLPI benachrichtigt per transaktionaler E-Mail über die Warteschlange queuednotification. Es funktioniert, aber Firmen-E-Mails landen im Spam, Endbenutzer leben nicht im Webmail, und die Führungskraft, die ein Ticket genehmigen muss, bemerkt den offenen Punkt erst, wenn jemand anruft und nachhakt. Im Alltag führt dies zu stundenlang aufgestauten Genehmigungen, Zufriedenheitsumfragen mit einer Antwortquote nahe null und einem Support-Team, welches Zeit mit manuellem Nachfassen verbringt. Wer die E-Mail durch einen Kanal ersetzt, den die Person wirklich liest, löst den Großteil davon – und in Brasilien ist dieser Kanal WhatsApp.
Die kommerzielle Lösung (offizielle WhatsApp Business API) ist teuer, hängt von der Freigabe der Templates durch Meta ab und bindet Sie an einen externen Vertrag. Für alle, die bereits eine eigene Infrastruktur betreiben, ist die Evolution API die selbst gehostete Alternative, und WhatsApp Bot verbindet sie über die native Benachrichtigungsinfrastruktur mit GLPI – ohne Hacks im Kern.
Wie WhatsApp Bot funktioniert
Das Modul registriert einen eigenen Benachrichtigungsmodus und nutzt dafür den SMS-Kanal von GLPI (Notification_NotificationTemplate::registerMode(MODE_SMS)). Wird ein Ticket-Ereignis ausgelöst, ermittelt GLPI den Empfänger, WhatsApp Bot sucht die Nummer heraus, baut die Nachricht zusammen und sendet sie über die Evolution API – alles transparent für den Bearbeiter.
- Eigene Benachrichtigungen pro Ereignis – bei der Installation legt es neun dedizierte WhatsApp-Benachrichtigungen an (Neues Ticket, Neue Folgeaktion, Ticket gelöst, Zufriedenheitsumfrage, Genehmigungsanfrage, Antwort auf Genehmigung und die drei zum Passwort), jede mit eigenen Empfängern. Die Erstellung ist über den Namen idempotent: Wenn Sie den Text in der GLPI-Oberfläche bearbeiten, bleibt Ihre Änderung bei einer Neuinstallation erhalten.
- Warteschlange mit automatischem Retry – eine Nachricht, die wegen einer instabilen Verbindung fehlschlägt, landet in der Warteschlangentabelle und wird jede Minute in Stapeln von bis zu 50 erneut verarbeitet, mit höchstens 3 Versuchen, bevor sie als
failedmarkiert wird. Nichts verschwindet stillschweigend: Der Fehlergrund wird gespeichert. - Health Check alle 5 Minuten – ein Cron fragt den tatsächlichen Verbindungsstatus bei der Evolution API ab und aktualisiert den Status im Dashboard, damit Sie wissen, dass WhatsApp ausgefallen ist, bevor sich Benutzer beschweren.
- QR-Code direkt in GLPI – die Verbindung der Absendernummer erfolgt durch Scannen des in der Registerkarte Konnektoren erzeugten QR-Codes, ohne die Umgebung zu verlassen.
- Selbst gehostet oder verwaltet – verweisen Sie auf Ihre eigene Evolution API (URL + API Key) oder nutzen Sie in einer lizenzierten Umgebung die von NexTool verwaltete Instanz.
Die Nummer des Empfängers stammt aus dem Feld Mobiltelefon des GLPI-Benutzers (glpi_users.mobile) und wird automatisch normalisiert: WhatsApp Bot entfernt Formatierungen, prüft die Länge (10 bis 15 Ziffern) und setzt die Ländervorwahl 55 voran, wenn eine brasilianische Nummer ohne sie erfasst ist. Wer keine Mobilnummer hinterlegt hat, erhält schlicht nichts – der Versand entfällt stillschweigend und erzeugt keinen Fehler.
WhatsApp Bot vs. native GLPI-Benachrichtigung
| Funktion | Natives GLPI (SMTP-E-Mail) | WhatsApp Bot + Evolution API |
|---|---|---|
| Zustellkanal | Transaktionale E-Mail | WhatsApp (Nachricht aufs Mobiltelefon) |
| Lesequote | Niedrig (landet im Spam, niemand öffnet sie) | Hoch (Kanal des Alltags) |
| Erneuter Versand bei Fehler | Warteschlange, ohne konfigurierbaren Retry pro Kanal | Eigene Warteschlange, 3 Versuche, Stapel von 50/Min. |
| Herkunft der Nummer | E-Mail des Benutzers | Feld Mobiltelefon (glpi_users.mobile), normalisiert |
| Infrastruktur | SMTP-Server | Evolution API, selbst gehostet oder verwaltet |
| Kosten pro Nachricht | Null (eigener SMTP) | Null (keine kostenpflichtige Meta-API) |
So aktivieren Sie es
- Installieren Sie NexTool in Ihrem GLPI und öffnen Sie Einrichtung > NexTool > Module.
- Aktivieren Sie das Modul WhatsApp Bot und klicken Sie auf Konfigurieren.
- Geben Sie in der Registerkarte Konnektoren URL und API Key Ihrer Evolution API ein und erzeugen Sie den QR-Code, um die Absendernummer zu verbinden.
- Füllen Sie unter Verwaltung > Benutzer bei den Empfängern das Feld Mobiltelefon aus (Format Ländervorwahl + Ortsvorwahl + Nummer, z. B. 5511999998888).
- Vergewissern Sie sich, dass der externe Cron von GLPI läuft – die CronTasks des Moduls sind
MODE_EXTERNALund werden nicht durch Webzugriffe ausgelöst.
# The module's CronTasks (healthcheck 5min, queue 1min) are MODE_EXTERNAL.
# On GLPI 11 the trigger is front/cron.php (there is no glpi:cron console):
* * * * * www-data /usr/bin/php /var/www/html/front/cron.php >/dev/null 2>&1
# The Evolution API receives the send at this endpoint (the module handles it):
# POST {URL}/message/sendText/{instance}
# header: apikey: ...your_api_key...
# body: { "number": "5511999998888", "text": "..." }
Zustelldiagnose direkt in der Datenbank
Wenn ein Kunde sagt, „die WhatsApp-Nachricht ist nicht angekommen“, liegt die Antwort fast immer in der Warteschlangentabelle. Zwei Abfragen genügen für die Triage:
-- Queue overview: what is stuck and how many attempts it had
SELECT status, COUNT(*) AS total, MAX(attempts) AS max_attempts
FROM glpi_plugin_nextool_whatsappbot_queue
GROUP BY status;
-- Latest failures with the reason returned by the Evolution API
SELECT id, phone_number, attempts, last_error, created_at
FROM glpi_plugin_nextool_whatsappbot_queue
WHERE status = 'failed'
ORDER BY created_at DESC
LIMIT 20;
Der häufigste Fehler, den wir in last_error lesen, ist kein Bug des Moduls: Es ist eine falsch formatierte Nummer oder eine getrennte Instanz. Genau dafür gibt es den Health Check – zeigt der Status im Dashboard „getrennt“, ist der QR-Code abgelaufen und muss neu gescannt werden.
Die Falle, die nur kennt, wer den Betrieb verantwortet
Zwei Stolperfallen bringen fast jede erste Einführung zu Fall. Erstens: Der Kanal von WhatsApp Bot läuft über den SMS-Modus von GLPI. Damit ein Benutzer etwas erhält, muss „per SMS folgen“ in der Benachrichtigung aktiv sein – viele suchen in der Benachrichtigungsmaske nach einem Modus namens „WhatsApp“ und finden ihn nicht, weil er als SMS erscheint. Zweitens: GLPI hängt die Standard-E-Mail-Signatur („-- “ und die Fußzeile) an den Text des Templates an, was in WhatsApp zu visuellem Rauschen wird; WhatsApp Bot entfernt diesen Block beim Versand, doch wenn Sie ein eigenes Template erstellen, sollten Sie keine Signaturvariablen aus E-Mails darin unterbringen. Und denken Sie daran: Da die Nummer aus glpi_users.mobile stammt, ist eine falsch erfasste Mobilnummer die häufigste Ursache für „Ich habe nichts bekommen“ – wir normalisieren die Ländervorwahl, erraten aber keine vertauschte Ziffer.
Für wen es sich eignet (und wann nicht)
WhatsApp Bot glänzt dort, wo Endbenutzer keine E-Mails verfolgen: Einzelhandel, Gesundheitswesen, Bildung, Dienstleistungen und jeder Service Desk, der externe Kunden betreut. Hervorragend eignet es sich auch für Genehmigungen von Führungskräften, die selten in GLPI unterwegs sind. Wann nicht: Ist Ihr Betrieb zu 100 % intern, mit Technikern, die ständig in GLPI angemeldet sind, löst eine In-App-Benachrichtigungsglocke die Aufgabe besser und ohne Abhängigkeit von einer WhatsApp-Instanz. Und wenn die Unternehmensrichtlinie WhatsApp für die Arbeitskommunikation verbietet, respektieren Sie dies – der richtige Kanal ist der, den Ihr Team nutzen darf.
Kompatibilität
- GLPI: 10.0+ und 11.0+
- Plan: FREE
- Plugin: NexTool 4.2.1+
- Voraussetzung: Evolution API installiert und vom GLPI-Server aus erreichbar
Nächster Schritt
WhatsApp Bot ist Teil von NexTool. Brauchen Sie Hilfe beim Aufsetzen der Evolution API oder bei der Auswahl, welche Ereignisse per WhatsApp gemeldet werden sollen? Sprechen Sie mit unserem Team.
Geprüft vom Team von NexTool Solutions.