Dieses Repository enthält einen n8n-Knoten zur Integration mit Nextcloud Calendar über die CalDAV-API.
Navigieren Sie zu Ihrem n8n-Installationsverzeichnis und führen Sie folgenden Befehl aus:
npm install n8n-nodes-nextcloud-calendar
Alternativ können Sie das Paket auch über die n8n-Weboberfläche im Community-Knoten-Bereich installieren.
- Eine funktionierende Nextcloud-Installation
- Eine n8n-Instanz (Version 1.0.0 oder höher)
- Gültige Nextcloud-Anmeldedaten (Benutzername und Passwort oder App-Passwort)
Der Nextcloud Calendar-Knoten ermöglicht folgende Operationen:
- Kalender erstellen: Erstellt einen neuen Kalender in Nextcloud
- Kalender löschen: Löscht einen bestehenden Kalender
- Alle Kalender abrufen: Listet alle verfügbaren Kalender auf
- Termin erstellen: Erstellt einen neuen Termin in einem ausgewählten Kalender
- Termin ändern: Aktualisiert einen bestehenden Termin
- Termin löschen: Löscht einen bestehenden Termin
- Termin anzeigen: Zeigt Details eines bestimmten Termins an
- Termine anzeigen: Listet alle Termine in einem bestimmten Zeitraum auf
- Nächste Termine anzeigen: Zeigt anstehende Termine an
- Erstellen Sie ein neues Credential vom Typ "Nextcloud Calendar API"
- Geben Sie Ihre Nextcloud-Server-URL, Benutzername und Passwort ein
- Falls Sie Multi-Faktor-Authentifizierung verwenden, erstellen Sie ein App-Passwort in Ihren Nextcloud-Sicherheitseinstellungen
Wählen Sie "Nextcloud Calendar" als Knoten und "Calendar" als Ressource. Dann stehen Ihnen folgende Operationen zur Verfügung:
-
Create: Erstellt einen neuen Kalender. Parameter:
- Name (erforderlich)
- Zusätzliche Felder (optional):
- Beschreibung
- Farbe
- Zeitzone
-
Delete: Löscht einen Kalender. Parameter:
- Kalender Name (erforderlich)
-
Get All: Ruft alle verfügbaren Kalender ab. Keine zusätzlichen Parameter erforderlich.
Wählen Sie "Nextcloud Calendar" als Knoten und "Event" als Ressource. Dann stehen Ihnen folgende Operationen zur Verfügung:
-
Create: Erstellt einen neuen Termin. Parameter:
- Kalender Name (erforderlich)
- Titel (erforderlich)
- Start (erforderlich)
- Ende (erforderlich)
- Zusätzliche Felder (optional):
- Beschreibung
- Ort
- Teilnehmer hinzufügen (E-Mail, Anzeigename, Rolle, RSVP)
- Nextcloud-Einstellungen:
- Benachrichtigungen aktivieren
- Einladungen senden
- Alarm-Typ erzwingen
-
Update: Aktualisiert einen bestehenden Termin. Parameter:
- Kalender Name (erforderlich)
- Termin ID (erforderlich)
- Aktualisierungsfelder (optional):
- Titel
- Start
- Ende
- Beschreibung
- Ort
-
Delete: Löscht einen Termin. Parameter:
- Kalender Name (erforderlich)
- Termin ID (erforderlich)
-
Get: Ruft einen bestimmten Termin ab. Parameter:
- Kalender Name (erforderlich)
- Termin ID (erforderlich)
-
Get All: Listet alle Termine in einem Zeitraum auf. Parameter:
- Kalender Name (erforderlich)
- Start (erforderlich)
- Ende (erforderlich)
-
Next Events: Listet die nächsten anstehenden Termine auf. Parameter:
- Kalender Name (erforderlich)
- Maximale Anzahl (optional)
Um Teilnehmer zu einem Termin hinzuzufügen:
- Wählen Sie bei der Erstellung eines Termins "Zusätzliche Felder" aus
- Aktivieren Sie "Teilnehmer hinzufügen"
- Fügen Sie Teilnehmer mit folgenden Details hinzu:
- E-Mail (erforderlich)
- Anzeigename (optional)
- Rolle (optional): Erforderlicher Teilnehmer, Optionaler Teilnehmer oder Moderator
- RSVP (optional): Antwortoption aktivieren/deaktivieren
Damit Einladungen per E-Mail versendet werden:
- Stellen Sie sicher, dass in Ihrer Nextcloud-Instanz ein E-Mail-Server konfiguriert ist
- Aktivieren Sie in den Nextcloud-Admin-Einstellungen unter "Groupware" die Option "Send invitations to attendees"
- Aktivieren Sie beim Erstellen des Termins in n8n unter "Nextcloud-Einstellungen" die Option "Einladungen senden"
Dieser Knoten liefert strukturierte Ausgabedaten mit folgenden Informationen:
-
success
: Boolean-Wert, der angibt, ob die Operation erfolgreich war -
message
: Benutzerfreundliche Nachricht über das Ergebnis -
data
: Die eigentlichen Daten der Operation - Bei Fehlern: detaillierte Fehlerinformationen
Häufige Fehler und Lösungen:
- Cannot read properties of undefined (reading 'toISOString'): Tritt auf, wenn Start- oder Endzeit eines Termins nicht korrekt formatiert sind. Stellen Sie sicher, dass gültige ISO-Datumsangaben verwendet werden.
- Authentication failed: Überprüfen Sie Ihre Anmeldedaten und stellen Sie sicher, dass das Passwort korrekt ist.
- Couldn't find calendar: Stellen Sie sicher, dass der angegebene Kalendername existiert.
Diese Integration nutzt die CalDAV-Schnittstelle von Nextcloud und ist mit der RFC4918-Spezifikation kompatibel. Die Implementierung basiert auf der offiziellen Nextcloud-Dokumentation für CalDAV.
- Nextcloud CalDAV-Dokumentation
- CalDAV-Spezifikation (RFC4918)
- Nextcloud Calendar Integration Dokumentation
2023-04-28
- Version bump to clean up dist folder before publishing on npm
2023-04-28
- Shut up linter
2023-04-28
- Added Events → Get Many
2023-04-28
- Added Calendar → Get Many
Dieser Knoten unterstützt die KI-Funktionen von n8n, sodass der AI Agent den passenden Kalender und andere Felder automatisch auswählen kann:
-
Setzen Sie folgende Umgebungsvariable in Ihrer n8n-Installation:
export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
(Für Windows:
set N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
) -
Starten Sie anschließend n8n neu:
n8n start
-
Bei Feldern mit KI-Unterstützung erscheint ein Stern-Symbol (⭐) rechts neben dem Eingabefeld. Klicken Sie auf dieses Symbol, damit der AI-Agent das Feld automatisch ausfüllt.
- Kalender-Name (bei der Auswahl des Kalenders)
- Titel eines Termins
- Beschreibung eines Termins
- Ort eines Termins