← Zurück zur Startseite

Automation · Case Study

Aufgaben-Eskalation mit Timeout

n8n-Workflow, Dental Intelligence OS

n8n-Canvas des Workflows „Aufgaben-Eskalation mit Timeout“ mit Zeitplan-Trigger, Stufenlogik, Versand, Protokoll und Fehlerpfad
Der vollständige Workflow im n8n-Editor. Workflow-JSON herunterladen
n8n (self-hosted)Supabase / PostgRESTRow-Level-SecurityHMAC-signierte LinksHuman-in-the-LoopSQL-Sichten (EXISTS)SMTP

Kontext

Das System erkennt Handlungsbedarf in einer Zahnarztpraxis und legt Signale mit Fälligkeit und Zuständigkeit an. Nach Ablauf der Fälligkeit passierte nichts — die Tagesliste sortierte nur. Messung in der Demo-Datenbank am 21.08.2026: 668 offene Signale mit überschrittener Fälligkeit, davon 372 ohne Zuständigkeit.

Was es leistet

Erkennung und Filter

Täglicher Lauf um 05:00 Uhr oder manueller Start über einen tokengeschützten Webhook. Kandidaten sind überfällige Signale sowie Signale ohne Fälligkeitsdatum nach einer Ersatzfrist. Signale, die seit der Fälligkeit jemand angefasst hat, fallen raus.

Stufenlogik und Digest

Stufe 1 an den zuständigen Bereich, Stufe 2 an die Praxisleitung (auch wenn niemand zuständig ist), Stufe 3 als Entscheidungsanfrage. Eine Mail je Praxis, Bereich und Stufe — mit Anzahl, ältester Fälligkeit, Summe und Deep-Links, ohne Patientendaten.

Entscheidung

Die Stufe-3-Mail enthält signierte Links für Wiedervorlage oder Neuzuweisung. Ohne Antwort binnen Frist wird die Anfrage als unbeantwortet geschlossen, das Signal bleibt unverändert.

Protokoll und Fehlerpfad

Jede Eskalation wird mit Stufe, Empfängerrolle und Ausführungs-ID protokolliert. Bei Mailfehler ein Wiederholungsversuch nach zehn Minuten, danach Abbruch mit Alarmmail — ohne halben Zustand in der Datenbank.

Digest-Mail der Stufe 3 mit Entscheidungslinks für Wiedervorlage und Neuzuweisung, ohne Patientendaten
Stufe-3-Mail an die Praxisleitung: je Aufgabe eine Entscheidung, keine Patientendaten, jeder Link führt hinter den Login.

Technisch bemerkenswert

Mengenbasiert statt ein HTTP-Aufruf je Signal

Die Prüfung „seit der Fälligkeit unberührt“ läuft mengenbasiert als EXISTS in einer SQL-Sicht statt als ein HTTP-Aufruf je Signal — 668 IDs sprengen jeden URL-Filter.

Entscheidungslinks sind HMAC-signiert

Ein gefälschter Link liefert 401, ein zweiter Klick auf denselben Link 409; zusätzlich erzwingt ein Datenbank-Trigger, dass eine Anfrage genau einmal beantwortet wird.

Kein Service-Role-Key

Alle Datenbankzugriffe laufen unter Row-Level-Security mit dem Token eines Automationskontos, das Mitglied der Praxis mit Leitungsrolle ist.

Eskalation geht an Rollen, nie an Personen

Das erzwingt das Datenmodell, nicht eine Absprache.

Auszug aus der Protokolltabelle signal_escalations mit Stufe, Empfängerrolle, Versandzeit, Antwort und Ausführungs-ID
Das Eskalationsprotokoll: Empfänger sind Rollen, nie Personen; die run_id ist die n8n-Ausführungs-ID.

Stand und Grenzen

724

Kandidaten im Volllauf

80

davon unberührt

5

Digest-Mails

11

Testfälle inkl. Negativtests

Erster Volllauf gegen die Demo-Datenbank am 23.08.2026: 724 Kandidaten, davon 80 unberührt, 5 Digest-Mails, 80 Protokollzeilen; ein Entscheidungsklick verschob ein Signal um fünf Wochen. Elf Testfälle inklusive Negativtests (manipulierte Signatur, Fristablauf, Mailserver aus, Datenbank aus) liefen auf einer lokalen Replik des Schemas.

Offen benannt

  • Keine Paginierung über 1000 Zeilen je Anfrage.
  • Der Signaturvergleich ist nicht zeitkonstant.
  • Als Postausgang dient ein Testpostfach statt eines Transaktionsmailers.
  • Der Testlauf verwendet ausschließlich synthetische Daten.

Workflow ansehen

Der exportierte Workflow lässt sich in jede n8n-Instanz importieren. Die n8n-Oberfläche selbst liegt hinter Anmeldung; ein Walkthrough ist auf Anfrage möglich.

← Zurück zur Startseite