Files
2026-05-06 08:41:06 +02:00

3.5 KiB

name, description, homepage, metadata
name description homepage metadata
caldav CRUD operations on mailbox.org CalDAV calendars. Use when: user asks to list, create, read, update or delete calendar events. NOT for: contacts (CardDAV), tasks/todos, or other CalDAV providers. https://dav.mailbox.org
openclaw
emoji requires install
📅
bins
python3
id kind label run
pip run Install Python dependencies pip install caldav python-dotenv keyring vobject pytz

CalDAV Skill (mailbox.org)

Lesen und Verwalten von Kalenderterminen via CalDAV auf mailbox.org.

When to Use

USE this skill when:

  • "Zeig mir meine Termine"
  • "Was habe ich heute / diese Woche?"
  • "Erstelle einen Termin für morgen um 10 Uhr"
  • "Verschiebe meinen Termin auf Freitag"
  • "Lösche den Termin Arztbesuch"
  • "Ändere den Ort des Meetings"

When NOT to Use

DON'T use this skill when:

  • Kontakte verwalten → CardDAV verwenden
  • Aufgaben/Todos → separate Tasks-API
  • Andere CalDAV-Anbieter (Google, Apple) → andere Skills

Setup

Credentials in ~/.openclaw/.env eintragen:

MAILBOX_DAV_URL=https://dav.mailbox.org
MAILBOX_DAV_USERNAME=deine@adresse.mailbox.org
# Passwort besser via keyring:
~/.openclaw/skills/caldav/caldav_crud.py store-password

Commands

Alle Termine auflisten

~/.openclaw/skills/caldav/caldav_crud.py list

Termin erstellen

~/.openclaw/skills/caldav/caldav_crud.py create \
  --summary "Titel" \
  --start "2026-04-25T10:00" \
  --end   "2026-04-25T11:00" \
  --description "Optionale Beschreibung" \
  --location "Wien"

Termin lesen (Details)

~/.openclaw/skills/caldav/caldav_crud.py read --uid "<UID>"

Termin aktualisieren

# Titel ändern
~/.openclaw/skills/caldav/caldav_crud.py update --uid "<UID>" --summary "Neuer Titel"

# Zeit verschieben
~/.openclaw/skills/caldav/caldav_crud.py update --uid "<UID>" \
  --start "2026-04-26T14:00" \
  --end   "2026-04-26T15:00"

# Ort ändern
~/.openclaw/skills/caldav/caldav_crud.py update --uid "<UID>" --location "Graz"

Termin löschen

# Mit Bestätigungsabfrage
~/.openclaw/skills/caldav/caldav_crud.py delete --uid "<UID>"

# Ohne Bestätigung (für Agenten-Aufrufe)
~/.openclaw/skills/caldav/caldav_crud.py delete --uid "<UID>" --force

Passwort-Verwaltung

# Einmalig im System-Schlüsselbund speichern (empfohlen)
~/.openclaw/skills/caldav/caldav_crud.py store-password

# Passwort aus Schlüsselbund entfernen
~/.openclaw/skills/caldav/caldav_crud.py delete-password

Workflow-Beispiele

"Zeig mir meine Termine für heute"

~/.openclaw/skills/caldav/caldav_crud.py list
# → Ausgabe filtern nach heutigem Datum

"Erstelle morgen um 15 Uhr einen Termin Zahnarzt"

~/.openclaw/skills/caldav/caldav_crud.py create \
  --summary "Zahnarzt" \
  --start "2026-04-24T15:00" \
  --end   "2026-04-24T16:00"

"Verschiebe den Termin Meeting auf Freitag 10 Uhr"

# Zuerst UID aus list ermitteln, dann:
~/.openclaw/skills/caldav/caldav_crud.py update \
  --uid "<UID-aus-list>" \
  --start "2026-04-25T10:00" \
  --end   "2026-04-25T11:00"

Notes

  • Authentifizierung: keyring (bevorzugt) → .env → interaktive Eingabe
  • App-Passwort von mailbox.org verwenden, NICHT das Haupt-Passwort
  • UID eines Events über list ermitteln
  • --verbose Flag für Debug-Ausgabe verfügbar