It looks like the calendar-backend api emits dbus signals when events are added and removed. http://maemo.gitorious.org/calendar-...ticalendar.cpp It may be possible to create a dbus-listener daemon that then pushes the changes behind the scenes to a caldav server. Getting changes propagated from the server side is probably trickier and would probably require a lot more work. This problem is an interesting one. It sounds like you have a lot of calendars and items to sync. Can you archive old data and at least make the amount of items to sync smaller?