{ "name": "LibreBooking v1.2.0 Test Workflows", "description": "Beispiel-Workflows für die neuen Features in Version 1.2.0", "workflows": [ { "name": "01 - Reservierung mit Custom Attributes erstellen", "description": "Erstellt eine Reservierung mit benutzerdefinierten Attributen", "nodes": [ { "type": "n8n-nodes-base.manualTrigger", "name": "Manuell starten", "position": [250, 300] }, { "type": "n8n-nodes-librebooking.libreBooking", "name": "Attribute abrufen", "parameters": { "resource": "attribute", "operation": "getByCategory", "categoryId": 1 }, "position": [450, 300] }, { "type": "n8n-nodes-librebooking.libreBooking", "name": "Reservierung erstellen", "parameters": { "resource": "reservation", "operation": "create", "resourceId": 1, "startDateTime": "={{ $now.plus(1, 'day').toFormat('yyyy-MM-dd') }}T10:00:00", "endDateTime": "={{ $now.plus(1, 'day').toFormat('yyyy-MM-dd') }}T11:00:00", "termsAccepted": true, "title": "Test Reservierung mit Attributen", "customAttributes": { "attribute": [ { "attributeId": 1, "attributeValue": "Mein Attribut-Wert" } ] } }, "position": [650, 300] } ], "connections": { "Manuell starten": { "main": [ [{ "node": "Attribute abrufen", "type": "main", "index": 0 }] ] }, "Attribute abrufen": { "main": [ [{ "node": "Reservierung erstellen", "type": "main", "index": 0 }] ] } } }, { "name": "02 - Ressource mit Custom Attributes erstellen", "description": "Erstellt eine Ressource mit benutzerdefinierten Attributen", "nodes": [ { "type": "n8n-nodes-base.manualTrigger", "name": "Manuell starten", "position": [250, 300] }, { "type": "n8n-nodes-librebooking.libreBooking", "name": "Ressource erstellen", "parameters": { "resource": "resource", "operation": "create", "resourceName": "Testraum mit Ausstattung", "scheduleIdForResource": 1, "resourceCustomAttributes": { "attribute": [ { "attributeId": 10, "attributeValue": "Beamer, Whiteboard, 20 Plätze" } ] }, "resourceOptions": { "description": "Ein Konferenzraum mit voller Ausstattung", "maxParticipants": 20 } }, "position": [450, 300] } ], "connections": { "Manuell starten": { "main": [ [{ "node": "Ressource erstellen", "type": "main", "index": 0 }] ] } } }, { "name": "03 - Trigger für neue Reservierungen (ohne Altdaten)", "description": "Überwacht neue Reservierungen - beim ersten Start werden existierende Reservierungen NICHT getriggert", "nodes": [ { "type": "n8n-nodes-librebooking.libreBookingTrigger", "name": "Neue Reservierungen", "parameters": { "event": "newReservation", "timeWindow": "14days", "options": { "fetchDetails": false, "debugMode": true } }, "position": [250, 300] }, { "type": "n8n-nodes-base.if", "name": "Debug-Check", "parameters": { "conditions": { "boolean": [ { "value1": "={{ $json._debug }}", "value2": true } ] } }, "position": [450, 300] }, { "type": "n8n-nodes-base.set", "name": "Debug-Info", "parameters": { "values": { "string": [ { "name": "info", "value": "Erster Poll - Daten wurden gespeichert" } ] } }, "position": [650, 200] }, { "type": "n8n-nodes-base.set", "name": "Neue Reservierung verarbeiten", "parameters": { "values": { "string": [ { "name": "message", "value": "Neue Reservierung: {{ $json.title }}" } ] } }, "position": [650, 400] } ], "connections": { "Neue Reservierungen": { "main": [ [{ "node": "Debug-Check", "type": "main", "index": 0 }] ] }, "Debug-Check": { "main": [ [{ "node": "Debug-Info", "type": "main", "index": 0 }], [{ "node": "Neue Reservierung verarbeiten", "type": "main", "index": 0 }] ] } } }, { "name": "04 - Trigger für geänderte Reservierungen", "description": "Überwacht Änderungen an bestehenden Reservierungen mittels Hash-Vergleich", "nodes": [ { "type": "n8n-nodes-librebooking.libreBookingTrigger", "name": "Geänderte Reservierungen", "parameters": { "event": "updatedReservation", "timeWindow": "14days", "options": { "fetchDetails": true, "debugMode": false } }, "position": [250, 300] }, { "type": "n8n-nodes-base.set", "name": "Änderung protokollieren", "parameters": { "values": { "string": [ { "name": "message", "value": "Reservierung geändert: {{ $json.referenceNumber }} - {{ $json.title }}" }, { "name": "changedAt", "value": "={{ $json._triggeredAt }}" } ] } }, "position": [450, 300] } ], "connections": { "Geänderte Reservierungen": { "main": [ [{ "node": "Änderung protokollieren", "type": "main", "index": 0 }] ] } } }, { "name": "05 - Config Node Verwendung", "description": "Zeigt die Verwendung des LibreBooking Config Credentials für Standardwerte", "notes": "Voraussetzung: LibreBooking Config Credential muss angelegt und mit dem Node verbunden sein", "nodes": [ { "type": "n8n-nodes-base.manualTrigger", "name": "Manuell starten", "position": [250, 300] }, { "type": "n8n-nodes-librebooking.libreBooking", "name": "Reservierung mit Defaults", "parameters": { "resource": "reservation", "operation": "create", "resourceId": 1, "startDateTime": "={{ $now.plus(2, 'day').toFormat('yyyy-MM-dd') }}T14:00:00", "endDateTime": "={{ $now.plus(2, 'day').toFormat('yyyy-MM-dd') }}T15:00:00", "title": "Reservierung mit Config-Defaults" }, "credentials": { "libreBookingApi": "LibreBooking API", "libreBookingConfig": "LibreBooking Config" }, "position": [450, 300], "notes": "termsAccepted und allowParticipation werden aus dem Config Node übernommen" } ], "connections": { "Manuell starten": { "main": [ [{ "node": "Reservierung mit Defaults", "type": "main", "index": 0 }] ] } } }, { "name": "06 - Alle Events überwachen", "description": "Überwacht sowohl neue als auch geänderte Reservierungen", "nodes": [ { "type": "n8n-nodes-librebooking.libreBookingTrigger", "name": "Alle Reservierungs-Events", "parameters": { "event": "allReservations", "timeWindow": "30days", "filters": { "resourceId": "" }, "options": { "fetchDetails": true } }, "position": [250, 300] }, { "type": "n8n-nodes-base.switch", "name": "Event-Typ prüfen", "parameters": { "dataType": "string", "value1": "={{ $json._eventType }}", "rules": { "rules": [ { "value2": "new" }, { "value2": "updated" } ] } }, "position": [450, 300] }, { "type": "n8n-nodes-base.set", "name": "Neue Reservierung", "parameters": { "values": { "string": [ { "name": "action", "value": "NEU: {{ $json.title }}" } ] } }, "position": [650, 200] }, { "type": "n8n-nodes-base.set", "name": "Geänderte Reservierung", "parameters": { "values": { "string": [ { "name": "action", "value": "GEÄNDERT: {{ $json.title }}" } ] } }, "position": [650, 400] } ], "connections": { "Alle Reservierungs-Events": { "main": [ [{ "node": "Event-Typ prüfen", "type": "main", "index": 0 }] ] }, "Event-Typ prüfen": { "main": [ [{ "node": "Neue Reservierung", "type": "main", "index": 0 }], [{ "node": "Geänderte Reservierung", "type": "main", "index": 0 }] ] } } } ] }