Files

152 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2026-05-06 08:41:06 +02:00
---
name: caldav
description: "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."
homepage: https://dav.mailbox.org
metadata:
{
"openclaw":
{
"emoji": "📅",
"requires": { "bins": ["python3"] },
"install":
[
{
"id": "pip",
"kind": "run",
"label": "Install Python dependencies",
"run": "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:
```bash
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
```bash
~/.openclaw/skills/caldav/caldav_crud.py list
```
### Termin erstellen
```bash
~/.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)
```bash
~/.openclaw/skills/caldav/caldav_crud.py read --uid "<UID>"
```
### Termin aktualisieren
```bash
# 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
```bash
# 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
```bash
# 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"**
```bash
~/.openclaw/skills/caldav/caldav_crud.py list
# → Ausgabe filtern nach heutigem Datum
```
**"Erstelle morgen um 15 Uhr einen Termin Zahnarzt"**
```bash
~/.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"**
```bash
# 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