
Dann kam, während gcal noch seine Schwierigkeiten hatte, caldav. Das hat natürlich einen großen Vorteil gegenüber gcal, nämlich dass man es komplett lokal betreiben kann (z.B. mit owncloud als Server). Aber da bei mir alles so läuft, wie ich es mir vorstelle, habe ich bisher keine Anstrengungen unternommen.
Der gravierendste Unterschied in der Funktion ist wohl, dass gcal einen Persistence Service mit bringt, während caldav dafür Termine aus Kalendern auslesen kann (z.B. Mülltermine...).
Bei gcal kannst Du im Body des Termins einfach mit START und END zwei Blöcke schreiben, in denen Du alle Kommandos auflistest, die zu Terminbeginn/-ende ausgeführt werden sollen.