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.

Der Prilog-Node

n8n bringt Hunderte Standard-Nodes mit. Fuer Prilog haben wir einen eigenen Custom-Node gebaut der die wichtigsten Operationen mit einem Klick verfuegbar macht — keine HTTP-Request-URLs eintippen, keine JSON-Bodies basteln.

So finden Sie ihn

  1. Im Workflow auf + klicken
  2. Im Suchfeld Prilog eintippen
  3. Sie sehen den Node mit dem gruenen Prilog-Logo (Kreis mit "P")

Was der Node kann

Im Node-Panel waehlen Sie zuerst eine Resource und dann eine Operation:

ResourceOperationen
SpaceErstellen, Auflisten
MitgliedHinzufuegen
BenutzerAuflisten
Matrix-ChatNachricht senden, Raeume auflisten
KriseAktive Krisen, Task eskalieren

Statt URL, Method, Body selber zu konfigurieren bekommen Sie ausgefuellte Formularfelder mit Tooltips. Die Tenant-ID muss einmal pro Workflow eingegeben werden — am besten ueber [$vars.TENANT_ID] aus den n8n-Variablen.

Tenant-ID

Die Tenant-ID Ihrer Schule finden Sie im Portal unter Ablaeufe → n8n Workflows mit Copy-Button.


Die 8 Actions im Detail

Der Prilog-Node bietet aktuell 8 Aktionen in 5 Resource-Kategorien.

1. Space erstellen

Resource: Space → Operation: Erstellen

Erzeugt einen neuen Space (z.B. Klasse, Fachschaft, Arbeitsgruppe) in Prilog.

Felder:

  • Space Name (Pflicht) — sichtbarer Name, z.B. "Klasse 5a"
  • Type — Allgemein / Klasse / Fachschaft
  • Sichtbarkeit — Privat (Standard) oder Oeffentlich
  • Eltern-Space ID (optional) — fuer verschachtelte Hierarchien

Anwendungsfaelle:

  • Schuljahresanfang: alle neuen Klassen mit einem Klick anlegen
  • Onboarding-Workflow: wenn ein neuer Benutzer angelegt wird, automatisch einen persoenlichen Space erstellen
  • Projekt-Spaces: zeitlich begrenzte Spaces fuer Projektwochen, AGs, Klassenfahrten

Beispiel-Workflow "Klassenfahrt-Space anlegen":

Manual Trigger

Prilog: Space erstellen
    Name: "Klassenfahrt 5a Italien"
    Type: Allgemein
    Eltern-Space: Klasse 5a

Prilog: Mitglied hinzufuegen (Lehrkraft als MANAGER)

Eltern-Space-IDs herausfinden

Nutzen Sie zuerst die Action Space → Auflisten um die IDs aller bestehenden Spaces zu sehen. Dann referenzieren Sie sie ueber n8n-Expressions.


2. Spaces auflisten

Resource: Space → Operation: Auflisten

Gibt alle Spaces des Tenants zurueck (mit ID, Name, Typ, Sichtbarkeit, Erstelldatum).

Felder: Nur Standard-Felder (Tenant-ID + API-URL)

Anwendungsfaelle:

  • Inventur: Liste aller bestehenden Klassen-Spaces fuer einen Bericht
  • Abhaengigkeiten: vor dem Anlegen eines Sub-Spaces pruefen ob der Parent existiert
  • Aufraeumen: alte Klassen-Spaces erkennen die geloescht werden koennen
  • Bericht-Generierung: Liste aller Spaces als CSV/PDF per Email senden

Beispiel-Workflow "Wochenbericht aller Spaces":

Schedule: Jeden Freitag 16:00

Prilog: Spaces auflisten

Filter: name beginnt mit "Klasse"

Send Email: Liste an Schulleitung

3. Mitglied hinzufuegen

Resource: Mitglied → Operation: Hinzufuegen

Fuegt einen Benutzer einem Space mit einer bestimmten Rolle hinzu. Wenn der Benutzer schon Mitglied ist, wird die Rolle aktualisiert.

Felder:

  • Space ID (Pflicht) — interner Bezeichner des Spaces
  • User ID (Pflicht) — Matrix-User-ID, Format @mueller:ihre-schule.prilog.team
  • Rolle — Owner / Admin / Manager / Mitglied / Gast

Anwendungsfaelle:

  • Onboarding: neuer Lehrer wird automatisch in Kollegium + alle seine Klassen hinzugefuegt
  • Klassenwechsel: zum Schuljahreswechsel alte Klassenschueler aus alter Klasse entfernen, in neue uebernehmen
  • Projektgruppen: Schueler einer Arbeitsgruppe automatisch zuweisen

Beispiel-Workflow "Neue Lehrkraft Onboarding":

Webhook: Neuer User angelegt (mit userType=Lehrkraft)

Prilog: Spaces auflisten

Filter: name = "Kollegium"

Prilog: Mitglied hinzufuegen
    User: [neuer User]
    Space: [Kollegium-ID]
    Rolle: MANAGER

Rollen sinnvoll waehlen

  • OWNER — kann alles, auch loeschen. Nur fuer Schulleitung
  • ADMIN — kann Mitglieder verwalten und einstellen
  • MANAGER — kann Inhalte moderieren (typisch fuer Lehrkraefte in ihrer Klasse)
  • MEMBER — kann lesen und schreiben (typisch fuer Schueler/Eltern)
  • GUEST — nur lesen (Externe, Praktikanten)

4. Benutzer auflisten

Resource: Benutzer → Operation: Auflisten

Gibt alle aktiven Benutzer des Tenants zurueck mit userId, username, fullName, email, userType, userTypeKey.

Felder: Nur Standard-Felder

Anwendungsfaelle:

  • Filter nach UserType: "alle Lehrkraefte holen" fuer eine Massen-Aktion
  • Email-Verteiler: alle Eltern einer Klasse fuer einen Rundbrief
  • Sync mit externem System: Liste exportieren um sie mit dem Schulverwaltungs-Programm abzugleichen
  • Statistik: wie viele Schueler/Lehrkraefte/Eltern hat die Schule gerade

Beispiel-Workflow "Email-Rundbrief an alle Lehrkraefte":

Manual Trigger

Prilog: Benutzer auflisten

Filter: userTypeKey === "lehrkraft"

Loop: fuer jede Lehrkraft

Send Email: Wochen-Rundbrief

5. Nachricht senden (Matrix)

Resource: Matrix-Chat → Operation: Nachricht senden

Sendet eine Nachricht in einen Matrix-Raum als Admin (also als die Schule, nicht als persoenlicher Benutzer).

Felder:

  • Raum-ID (Pflicht) — Format !abc123:ihre-schule.prilog.team
  • Nachricht (Pflicht) — der Text
  • HTML-Formatierung (optional) — formatierte HTML-Version (fuer Fett, Listen, Links)

Anwendungsfaelle:

  • Erinnerung: taegliche Erinnerung in den Lehrer-Chat ("Vergiss nicht die Anwesenheit zu pruefen")
  • Auto-Antwort: auf Schluesselworte in Chats reagieren
  • Statusmeldung: "Server-Wartung heute Nacht 23:00-01:00" in alle wichtigen Raeume
  • Berichts-Posting: automatische Wochen-Zusammenfassung ins Schulleitungs-Chat

Beispiel-Workflow "Geburtstags-Glueckwunsch":

Schedule: Taeglich 8:00

Prilog: Benutzer auflisten

Filter: birthday === heute

Loop: fuer jeden Geburtstagskind

Prilog: Matrix Nachricht senden
    Raum: [Klassen-Chat]
    Text: "Heute hat [Name] Geburtstag — alles Gute!"

Markdown vs HTML

Fuer einfache Nachrichten reicht das Nachricht-Feld. Wenn Sie Fett, Links oder Listen brauchen, fuellen Sie zusaetzlich HTML-Formatierung mit der HTML-Variante. Matrix nutzt dann automatisch die formatierte Version wo der Client sie unterstuetzt.


6. Raeume auflisten (Matrix)

Resource: Matrix-Chat → Operation: Raeume auflisten

Gibt alle Matrix-Raeume des Tenants zurueck mit Raum-ID, Name, Mitgliederzahl und Ersteller.

Felder: Nur Standard-Felder

Anwendungsfaelle:

  • Raum-IDs herausfinden fuer andere Workflows die dann gezielt Nachrichten senden
  • Inaktive Raeume erkennen (kleine Mitgliederzahl, alt) → aufraeumen
  • Bericht: wie viele Chat-Raeume hat die Schule, wie viele Mitglieder pro Raum
  • Mass-Posting: in alle Raeume gleichzeitig eine Nachricht senden

Beispiel-Workflow "Wartungsfenster-Ankuendigung":

Manual Trigger

Prilog: Matrix Raeume auflisten

Filter: memberCount > 5 (nur aktive Raeume)

Loop: fuer jeden Raum

Prilog: Matrix Nachricht senden
    Text: "Wartung heute 23:00-01:00, kurze Unterbrechung moeglich"

7. Aktive Krisen abrufen

Resource: Krise → Operation: Aktive Krisen

Listet alle aktuell aktiven Krisen-Events der Schule. Liefert Event-IDs, Szenario-Namen, Aktivierungs-Zeit, betroffene Tasks.

Felder: Nur Standard-Felder (kein Tenant-ID noetig — wird aus dem Kontext bezogen)

Anwendungsfaelle:

  • Status-Dashboard: alle 5 Min pruefen ob eine Krise aktiv ist und ein externes System updaten
  • SMS-Eskalation: wenn laenger als 30 Min eine Krise aktiv ist, SMS an Schultraeger
  • Auto-Verlaengerung: wenn eine Krise zu lange laeuft, nochmal benachrichtigen
  • Externe Integration: Krisen-Status in ein Schultraeger-System spiegeln

Beispiel-Workflow "Eskalation bei langer Krisendauer":

Schedule: Alle 5 Minuten

Prilog: Aktive Krisen

Filter: aktivierte Zeit > 30 Min

HTTP Request: SMS an Schultraeger

8. Task eskalieren

Resource: Krise → Operation: Task eskalieren

Markiert einen offenen Krisen-Task als eskaliert (mit Stufen-Nummer). Wird normalerweise von n8n-Workflows automatisch nach Wartezeiten aufgerufen.

Felder:

  • Task ID (Pflicht) — die ID der Task die eskaliert werden soll
  • Eskalations-Stufe — 1, 2, 3, ... (hoeher = dringender)

Anwendungsfaelle:

  • Standard-Krisen-Workflow: nach 3 Min Wartezeit den ersten offenen Task eskalieren
  • Mehrstufige Eskalation: Stufe 1 → Klassenleitung, Stufe 2 → Schulleitung, Stufe 3 → Schultraeger
  • Auto-Eskalation bei Inaktivitaet: wenn Krise 1h aktiv und Task noch offen, eskalieren

Beispiel-Workflow "Standard-Krisen-Eskalation":

Webhook: crisis-activated

Wait: 3 Minuten

HTTP Request: GET /n8n-callback/events/[ID]/tasks

IF: openTasks.length > 0

Prilog: Task eskalieren
    Task ID: [erstes openTasks Element]
    Eskalations-Stufe: 1

Kombinations-Beispiel: Schuljahres-Wechsel-Workflow

So koennten alle 8 Actions in einem realen Workflow zusammenwirken — der jaehrliche Schuljahres-Wechsel:

Schedule: 1. August um 8:00

1. Prilog: Spaces auflisten
   → alle Klassen-Spaces holen

2. Filter: name beginnt mit "Klasse"

3. Loop: fuer jeden Klassen-Space

4. Prilog: Space erstellen
   Name: "Klasse [+1 Jahr]"
   Eltern: gleicher Parent

5. Prilog: Benutzer auflisten

6. Filter: userTypeKey === "lehrkraft"

7. Prilog: Mitglied hinzufuegen
   neuer Klassen-Space, MANAGER

8. Prilog: Matrix Nachricht senden
   Raum: Lehrer-Chat
   Text: "Klassen-Spaces fuer neues Schuljahr angelegt"

Mit einem einzigen Workflow ist der jaehrliche Schuljahreswechsel komplett automatisiert. Die Schulleitung muss nichts manuell anlegen.


Wann lieber HTTP Request statt Prilog-Node?

  • Wenn Sie eine Operation brauchen die der Node noch nicht kennt
  • Fuer komplexe Body-Strukturen die Sie dynamisch zusammenbauen wollen
  • Wenn Sie sehr viele Felder gleichzeitig lesen wollen

Fuer 80% der Faelle ist der Prilog-Node der schnellere Weg. Fuer den Rest gibt es weiterhin den HTTP Request Node, der unter Prilog-Callbacks dokumentiert ist.