⚠️ 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
- Im Workflow auf + klicken
- Im Suchfeld Prilog eintippen
- 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:
| Resource | Operationen |
|---|---|
| Space | Erstellen, Auflisten |
| Mitglied | Hinzufuegen |
| Benutzer | Auflisten |
| Matrix-Chat | Nachricht senden, Raeume auflisten |
| Krise | Aktive 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 Schulleitung3. 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: MANAGERRollen 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-Rundbrief5. 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 Schultraeger8. 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: 1Kombinations-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.