152 lines
3.5 KiB
Markdown
152 lines
3.5 KiB
Markdown
---
|
|
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
|