n8n_node_librebooking/test-workflows/example-workflows.json

345 lines
10 KiB
JSON

{
"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 }]
]
}
}
}
]
}