DAViCal provides some hooks that might be useful for integrating with other programs.
These are what is used by (e.g.) LDAP authentication and others, so that you don't have to maintain users and passwords across a variety of systems.
These are called when data in DAViCal is updated, so you could build a feed of some kind from them:
When the login screen is to be presented, DAViCal looks for a function called 'local_index_not_logged_in()' and calls that if present, instead of displaying the normal login screen.