Skip to content

⚠️ Veraltet (Stand 2026-04-30)

Diese Dokumentation beschreibt das alte System vor dem Process-Engine-Refactor (Phase 4.7). Die zugrundeliegenden Tabellen (cascade_*, concept_instances/bausteine, crisis_scenarios/events/tasks, workflow_*) wurden gedroppt. Die hier dokumentierten Routen und Models existieren so nicht mehr.

Aktuelle Architektur: Process-Engine API — eine Engine, mehrere Apps (flow.*, concept.*, crisis.*).

Diese Datei bleibt als historische Referenz erhalten.

Chat-Nachrichten automatisieren

Eine der maechtigsten Anwendungen von n8n in Prilog: Chat-Nachrichten verarbeiten. Sie koennen auf neue Nachrichten reagieren, Schluesselworte erkennen, Nachrichten weiterleiten, Auto-Antworten senden — alles automatisch.

n8n hat einen eingebauten Matrix-Node der direkt mit Synapse (dem Chat-Server hinter Prilog) spricht. Sie brauchen kein eigenes Bot-Framework, n8n kann das von Haus aus.

Was ist moeglich?

  • Schluesselwort-Trigger: "Wenn jemand 'Notfall' schreibt, sende SMS an Schulleitung"
  • Weiterleitung: "Nachrichten aus dem Eltern-Chat automatisch an die richtige Klassenleitung"
  • Auto-Antworten: "Wenn die Frage 'Wann ist Ferienanfang?' kommt, antworte automatisch"
  • Zusammenfassungen: "Jeden Freitag eine Wochen-Zusammenfassung der Diskussionen"
  • Eskalations-Bot: "Wenn 3 Nachrichten ohne Antwort, informiere die Lehrkraft"
  • Uebersetzung: "Eltern-Nachrichten in Deutsch automatisch in Tuerkisch/Englisch uebersetzen"

Schritt 1: Matrix-Credentials in n8n einrichten

n8n braucht einmalig Zugangsdaten fuer Ihren Matrix-Server. Diese erhalten Sie ueber einen Prilog-Callback:

Im n8n-Editor:

  1. Erstellen Sie einen neuen Workflow zum Test
  2. Fuegen Sie einen Manual Trigger hinzu
  3. Dahinter einen HTTP Request Node:
    • Method: GET
    • URL: PRILOG_API_URL/api/platform/v1/n8n-callback/matrix/credentials?tenantId=[Ihre Tenant-ID]
  4. Workflow ausfuehren

Sie erhalten als Antwort:

{
  "homeserverUrl": "https://ihre-schule.prilog.team",
  "userId": "@adminweser:ihre-schule.prilog.team",
  "accessToken": "syt_...",
  "adminUsername": "adminweser"
}

Diese Daten in n8n als Credential speichern:

  1. Credentials (links unten) → + Add Credential
  2. Matrix API auswaehlen
  3. Homeserver URL: https://ihre-schule.prilog.team
  4. Access Token: syt_... (aus dem JSON kopieren)
  5. Save

Fertig — n8n kann jetzt mit Ihrem Matrix-Server kommunizieren.


Schritt 2: Auf neue Nachrichten lauschen

Jetzt bauen Sie Ihren ersten Chat-Workflow:

  1. Neuer Workflow anlegen
  2. + klicken → Matrix Trigger suchen und hinzufuegen
  3. Authentication: Ihre eben erstellten Matrix-Credentials waehlen
  4. Resource: Message
  5. Event: New Message
  6. Room ID: ID des Raums den Sie ueberwachen wollen (siehe naechster Abschnitt)

Der Trigger laeuft jetzt und reagiert auf jede neue Nachricht in dem Raum.


Raum-IDs herausfinden

n8n braucht die interne Matrix-Raum-ID (sieht aus wie !abc123:ihre-schule.prilog.team). So bekommen Sie sie:

Variante 1: Aus dem Web-Client

  1. Im Web-Client den gewuenschten Space oeffnen
  2. URL anschauen: https://ihre-schule.prilog.team/spaces/[space-id]

Variante 2: Liste aller Raeume via Prilog-Node

  • Prilog-Node: Matrix-Chat → Raeume auflisten
  • Gibt alle Raeume mit IDs, Namen und Mitgliederzahl zurueck

Variante 3: HTTP Request

  • URL: PRILOG_API_URL/api/platform/v1/n8n-callback/matrix/rooms?tenantId=[ID]

Schritt 3: Auf Nachrichten reagieren

Nach dem Matrix Trigger koennen Sie:

Schluesselwort pruefen:

Matrix Trigger

IF Node:
    Bedingung: [$json.content.body] enthaelt "Notfall"

[Verschiedene Aktionen je nach Ergebnis]

Antwort senden — drei Varianten:

Variante A: Direkter Matrix-Node (n8n-Standard)

  1. Nach dem Trigger einen Matrix Node hinzufuegen
  2. Resource: Message
  3. Operation: Send
  4. Room ID: [$json.room_id] (oder fester Raum)
  5. Text: Ihre Antwort

Variante B: Prilog-Node (empfohlen)

  1. Prilog Node hinzufuegen
  2. Resource: Matrix-Chat → Nachricht senden
  3. Tenant-ID, Raum-ID, Nachricht eintragen

Variante C: HTTP Request (manuell)

  • HTTP Request Node:
  • URL: PRILOG_API_URL/api/platform/v1/n8n-callback/matrix/send
  • Method: POST
  • Body:
    {
      "tenantId": "[Tenant-ID]",
      "roomId": "[Raum-ID]",
      "message": "Ihre Nachricht hier",
      "formattedMessage": "Optional: <b>HTML-Version</b>"
    }

Variante A ist schneller (direkt mit Matrix). Variante B nutzt die Prilog-Audit-Pipeline und ist die empfohlene Option fuer fast alle Faelle.


Praxis-Beispiele

Beispiel 1: Notfall-Trigger

Matrix Trigger (alle Raeume)

IF: Nachricht enthaelt "Notfall" oder "112"

HTTP Request: SMS an Schulleitung (z.B. via Twilio)

Matrix Send: "Notfall erkannt — Schulleitung wurde benachrichtigt"

Beispiel 2: Eltern-Frage automatisch beantworten

Matrix Trigger (Eltern-Chat)

IF: enthaelt "Ferien" oder "frei"

Matrix Send: "Die Ferientermine finden Sie im Schulkalender unter ..."

Beispiel 3: Wochen-Zusammenfassung

Schedule Trigger: jeden Freitag 16:00

HTTP Request: GET Matrix-Raum-Verlauf (letzte 7 Tage)

OpenAI Node: Fasse die wichtigsten Themen zusammen

Matrix Send (Lehrer-Chat): "Wochenrueckblick: ..."

Beispiel 4: Dringlichkeitsstufen

Matrix Trigger

Switch Node:
    - "DRINGEND" → SMS + Matrix Markierung
    - "Frage" → Auto-Antwort + Weiterleitung
    - "Info" → Nur loggen

Datenschutz: Was n8n zu sehen bekommt

Wenn n8n auf Matrix-Nachrichten lauscht, sieht es alle Nachrichten in den abonnierten Raeumen. Das ist datenschutzrechtlich relevant:

DSGVO-Hinweis

  • n8n laeuft auf Ihrem Schulserver — keine Daten verlassen die Schule
  • Trotzdem: Sie sollten in Workflow-Beschreibungen klar dokumentieren, welche Raeume ueberwacht werden und wozu
  • Eltern und Schueler sollten in der Datenschutzerklaerung informiert werden, wenn KI-Tools (wie OpenAI) auf Nachrichten zugreifen
  • Empfehlung: Bauen Sie einen Workflow, der eine Liste aller aktiven Matrix-Trigger generiert — fuer die Auskunftspflicht

Die wichtigsten Matrix-Felder im Trigger

Wenn der Matrix Trigger ausloest, bekommen Sie ein JSON mit diesen Feldern:

FeldInhalt
event_idEindeutige Nachrichten-ID
room_idRaum-ID
senderWer hat die Nachricht gesendet (z.B. @mueller:schule.prilog.team)
content.bodyDer Nachrichten-Text
content.msgtypem.text, m.image, m.file, etc.
origin_server_tsZeitstempel

In n8n koennen Sie auf diese Felder zugreifen mit [$json.sender], [$json.content.body], etc.