Files
Workflow/tasks/escalate.md
T

31 lines
1.8 KiB
Markdown
Raw Normal View History

# `escalate` — Eskalation bei Fristüberschreitung
**Zweck:** Hält den Workflow bis zum Ablauf einer Frist im Wartezustand; solange bleibt der ursprüngliche Bearbeiter zuständig. Nach Fristablauf wird ein Eskalationsziel per E-Mail benachrichtigt und der Workflow läuft weiter. Typischer Einsatz: parallel zu einem Formular-Task (Watchdog-Zweig), damit liegengebliebene Aufgaben an die nächste Ebene gehen.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `after_days` | eines von beiden | `0` | Frist in Tagen (Dezimalwerte erlaubt). |
| `after_hours` | eines von beiden | `0` | Frist in Stunden; wird mit `after_days` addiert. |
| `escalate_to` | ja | — | E-Mail-Adresse des Eskalationsziels. |
| `original_assignee` | nein | leer | Bearbeiter, der bis zur Eskalation zuständig bleibt (`assign_to` während der Wartezeit). |
| `message` | nein | „Eskalation: Frist verstrichen." | Text der Eskalations-Mail. |
| `flag_var` | nein | — | Kontextvariable, die bei Eskalation auf `"1"` gesetzt wird. |
**Eingangswerte:** Platzhalter in `escalate_to`, `original_assignee`, `message` (z. B. `{{chef_mail}}`).
**Ausgangswerte:** Bei Eskalation `assign_to` = Eskalationsziel; optional `<flag_var>` = `"1"`. Der Fristbeginn wird beim ersten Lauf eingefroren, erneutes Rendern startet die Frist nicht neu. Für vollautomatisches Aufwachen sorgt ein regelmäßiger Hintergrund-Prozess, der wartende Workflows reaktiviert.
```xml
<task type="escalate" id="esc_vorsitz">
<config>
<after_days>3</after_days>
<original_assignee>{{vorsitz_mail}}</original_assignee>
<escalate_to>{{chef_mail}}</escalate_to>
<message>Frist verstrichen — bitte stellvertretend genehmigen.</message>
<flag_var>eskaliert</flag_var>
</config>
</task>
```