Accessing calendar info in Exchange/GroupWise/Notes

I don't know if this is the right newsgroup to use, but I have a feeling
that my problem can be solved through the use of OLE automation.

I need a component that can connect to a MAPI server (like Microsoft
Exchange/Novell GroupWise/Lotus Notes) and retrieve the calendar
appointments for all users.

It would be really cool if the component could fire an event whenever a user
adds a new appointment to his/her calendar. The component must be able to
filter the appointments so all appointments marked Private are left out.

Is there anyone who has created such a component? - Or is there someone out
there who knows how to do it?

Thanks in advance

Allan Hansen