n8n_node_librebooking/TRIGGER-GUIDE.md

213 lines
6.0 KiB
Markdown

# LibreBooking Trigger Node - Anleitung
Dieses Dokument beschreibt die drei Trigger-Modi und deren Konfiguration.
## Übersicht
Der LibreBooking Trigger Node bietet drei Modi:
| Modus | Beschreibung | Use Case |
|-------|-------------|----------|
| **Alle Abrufen** | Alle Reservierungen für einen Zeitraum | Täglicher Report, Dashboard |
| **Neue Reservierungen** | Triggert bei neuen Buchungen | Benachrichtigung, Bestätigung |
| **Geänderte Reservierungen** | Triggert bei Änderungen | Konfliktprüfung, Update-Mail |
---
## 1. Modus: Alle Abrufen (Einmalig)
### Beschreibung
Dieser Modus ruft bei jedem Poll **alle** Reservierungen im angegebenen Zeitraum ab.
### Zeitraum-Optionen
| Option | Beschreibung | Beispiel (25.01.2026) |
|--------|-------------|----------------------|
| **Benutzerdefiniert** | Manuelle Eingabe | Frei wählbar |
| **Diese Woche** | Mo-So der aktuellen Woche | 19.01. - 25.01.2026 |
| **Nächste 2 Wochen** | Ab heute + 14 Tage | 25.01. - 08.02.2026 |
| **Dieser Monat** | 1. bis letzter Tag | 01.01. - 31.01.2026 |
| **Nächste 2 Monate** | Ab heute + 2 Monate | 25.01. - 25.03.2026 |
| **Dieses Jahr** | 1. Jan bis 31. Dez | 01.01. - 31.12.2026 |
### Beispiel-Workflow
```
[LibreBooking Trigger] --> [Format] --> [E-Mail senden]
Alle Abrufen Tabellenformat Täglicher Report
Diese Woche
```
---
## 2. Modus: Neue Reservierungen (Polling)
### Beschreibung
Triggert **nur** wenn eine neue Reservierung erstellt wird.
### Wichtig
- **Erster Poll**: Speichert existierende IDs, triggert NICHT
- **Folgende Polls**: Triggert nur bei wirklich neuen Reservierungen
### Zeit-Filter
Filtert getriggerte Reservierungen nach Startdatum:
| Filter | Beschreibung |
|--------|-------------|
| **Alle (Kein Filter)** | Alle neuen Reservierungen, unabhängig vom Startdatum |
| **Nur Heute** | Nur wenn die Reservierung heute stattfindet |
| **Nächste 3 Tage** | Reservierung startet in den nächsten 3 Tagen |
| **Nächste 7 Tage** | Reservierung startet in den nächsten 7 Tagen |
### Beispiel-Workflow
```
[LibreBooking Trigger] --> [IF] --> [E-Mail]
Neue Reservierungen Prüfe Bestätigung senden
Nächste 3 Tage Ressource
```
### Use Case: Sofortige Buchungsbestätigung
- Trigger-Modus: **Neue Reservierungen**
- Zeit-Filter: **Alle (Kein Filter)**
- Aktion: E-Mail an Benutzer mit Buchungsdetails
---
## 3. Modus: Geänderte Reservierungen (Polling)
### Beschreibung
Triggert **nur** wenn eine bestehende Reservierung geändert wird.
### Änderungserkennung
Folgende Felder werden überwacht:
- `title` (Titel)
- `description` (Beschreibung)
- `startDate` / `endDate` (Zeitraum)
- `resourceId` / `resourceName` (Ressource)
- `userId` (Benutzer)
- `statusId` (Status)
- `participants` / `invitees` (Teilnehmer)
### Zeit-Filter
Gleiche Optionen wie bei "Neue Reservierungen":
| Filter | Beschreibung | Use Case |
|--------|-------------|----------|
| **Nur Heute** | Änderungen an heutigen Terminen | Tagesaktueller Agent |
| **Nächste 3 Tage** | Kurzfristige Änderungen | Dringende Benachrichtigungen |
### Beispiel-Workflow
```
[LibreBooking Trigger] --> [Compare] --> [Slack]
Geänderte Vorher/ Benachrichtigung
Reservierungen Nachher "Termin wurde geändert"
Nur Heute
```
### Use Case: Agent für Tagesänderungen
- Trigger-Modus: **Geänderte Reservierungen**
- Zeit-Filter: **Nur Heute**
- Aktion: Slack/E-Mail wenn sich ein heutiger Termin ändert
---
## Allgemeine Einstellungen
### Filter (für alle Modi)
| Filter | Beschreibung |
|--------|-------------|
| **Ressourcen-ID** | Nur Reservierungen für diese Ressource |
| **Zeitplan-ID** | Nur Reservierungen für diesen Zeitplan |
| **Benutzer-ID** | Nur Reservierungen für diesen Benutzer |
### Optionen (für alle Modi)
| Option | Beschreibung |
|--------|-------------|
| **Detaillierte Daten Abrufen** | Holt vollständige Daten inkl. Custom Attributes |
| **Debug-Modus** | Gibt Debug-Informationen aus (für Entwicklung) |
---
## Polling-Intervall
Das Polling-Intervall wird in den n8n Workflow-Einstellungen konfiguriert:
- **Empfohlen für "Neue" und "Geänderte"**: 1-5 Minuten
- **Empfohlen für "Alle Abrufen"**: 15-60 Minuten (je nach Report-Bedarf)
---
## Fehlerbehebung
### Trigger triggert nicht bei neuen/geänderten Reservierungen
1. **Prüfen**: Ist es der erste Poll? → Triggert absichtlich nicht
2. **Prüfen**: Ist der Zeit-Filter zu restriktiv?
3. **Aktivieren**: Debug-Modus für detaillierte Logs
### Zu viele Events werden getriggert
1. **Verwenden**: Zeit-Filter ("Nur Heute", "Nächste 3 Tage")
2. **Filtern**: Nach Ressourcen-ID, Benutzer-ID
### Performance-Probleme
1. **Reduzieren**: Zeitfenster (z.B. 7 statt 90 Tage)
2. **Deaktivieren**: "Detaillierte Daten Abrufen" wenn nicht benötigt
---
## Praxisbeispiele
### 1. Täglicher Reservierungsreport
```yaml
Modus: Alle Abrufen
Zeitraum: Diese Woche
Poll-Intervall: Täglich um 07:00
Aktion: E-Mail mit Wochenübersicht
```
### 2. Sofortige Buchungsbestätigung
```yaml
Modus: Neue Reservierungen
Zeitfenster: Nächste 90 Tage
Zeit-Filter: Alle
Poll-Intervall: 1 Minute
Aktion: E-Mail an Buchenden
```
### 3. Kurzfristige Änderungsbenachrichtigung
```yaml
Modus: Geänderte Reservierungen
Zeitfenster: Nächste 14 Tage
Zeit-Filter: Nächste 3 Tage
Poll-Intervall: 5 Minuten
Aktion: Slack-Nachricht an Team
```
### 4. Tagesaktueller Terminagent
```yaml
Modus: Geänderte Reservierungen
Zeitfenster: Nächste 7 Tage
Zeit-Filter: Nur Heute
Poll-Intervall: 2 Minuten
Aktion: E-Mail an betroffene Teilnehmer
```
---
## Test-Ergebnisse
Stand: 25.01.2026
| Test | Status |
|------|--------|
| Date Range: thisWeek | ✅ |
| Date Range: next2Weeks | ✅ |
| Date Range: thisMonth | ✅ |
| Date Range: next2Months | ✅ |
| Date Range: thisYear | ✅ |
| Time Filter: today | ✅ |
| Time Filter: next3Days | ✅ |
| Time Filter: next7Days | ✅ |
| Create Reservation Detection | ✅ |
| Update Reservation Detection | ✅ |
| Delete Reservation | ✅ |
| **Gesamt: 18/18 Tests bestanden** | ✅ |