**Zweck:** Catch-Gegenstück zu `signal_fire`: Der Workflow pausiert, bis ein anderes Workflow-/Systemereignis ein passendes Signal (Name + Korrelationsschlüssel) hinterlegt hat. Damit sind Workflow-zu-Workflow-Abhängigkeiten möglich („warte, bis der Freigabe-Workflow desselben Verfahrens durch ist"). Optional beendet ein Timeout das Warten mit einem Flag statt ewig zu blockieren.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `signal` | **ja** | — | Signalname, auf den gewartet wird |
| `korrelation` | nein | *(leer)* | Korrelationsschlüssel; leer = jedes Signal dieses Namens |
| `ab_start` | nein | `true` | Nur Signale nach Task-Start zählen; `false` = auch bereits vorhandene |
**Hinweis:** Persistenz über eine systemseitig eingerichtete Signal-Tabelle. Der Task hinterlegt beim ersten Lauf einen Listener-Marker im Ausführungszustand; `signal_fire` findet ihn und weckt den Workflow über `resume_at` + `cron-resume`. Ist ein Timeout gesetzt, wird zusätzlich ein Weckruf zum Timeout-Zeitpunkt geplant.