Custom Calendar Providers for Outlook 2003

I have been playing around with this concept for quite a while and finally decided to put it down in an article on MSDN:
Custom Calendar Providers for Outlook 2003

Outlook 2003 has really cool integration with SharePoint in that it can consume SharePoint event lists and contact lists, bringing them into Outlook as calendars and contact folders.  Outlook is able to do this using the Lists Web service exposed by WSS.  Wouldn’t it be cool if you could write your own “Lists“ service that served up your own “event“ data for Outlook to consume?

That’s exactly what this article show you how to do.  In fact, the code download associated with this article (available at already implements just such a service with a pluggable architecture so that all you have to do is implement your own CalendarProvider-derived class, implement the GetEvents method, and be off and running!  The code download includes a few sample providers, including ones for consuming RSS feeds (so you can view an RSS feed as a calendar), one for consuming posts to an NNTP newsgroup (so you can view newsgroup postings on a calendar), one for System Restore Points, one for event logs, and one for MSN Messenger chat history.

Here’s an example of a calendar displaying an RSS feed:

Let me know what you think!


Comments (19)

  1. Great!!! But why not making the same for Rss and Newsgroup in the email part of Outlook?

  2. Stephen Toub says:

    Laurent, check out Newsgator. That’s exactly what it does. You set up subscriptions for RSS feeds, and it brings all of the items from those feeds into mail folders in Outlook. Hope that helps.

  3. I know Newsgator and I already installed it, but I would like to know how to do it, cause I don’t like all there implementation.

  4. Stephen Toub says:

    I’ve never looked at the MSIL for Newsgator (though you could if you were really interested; be aware they might have obfuscated it), but I’d guess that it downloads each feed using System.Net.HttpWebRequest, parses each response using XmlDocument or XmlReader, and pulls out each of the RSS items in the feed. It probably then determines whether it has seen that item before, maybe from the publish date in the RSS item, maybe through some other mechanism, and if it determines that it has not seen the item, it posts the item to the specified folder in Outlook. It might use Extended MAPI to do this, since no security warning dialog is displayed by Outlook, maybe the .NET-based Redemption library. Or it might just use the Outlook interop libraries, which I mention at the beginning of my article.

  5. Stephen Toub says:

    I’ve received several emails from folks who have been successfully using my Outlook Calendar Provider

  6. Bobi says:

    Good catalogue of the Gucci leather handbags:

  7. eric says:


    was the project ever extended to allow for write the data back through the webservice for storage? I think you mentioned it as a potential feature in your initial article, or this is not possible by design (i.e. the emulation of sharepoint webservices)?

    thanks for any feedback.


  8. Eric, thanks for the interest.  While supporting this scenario with SharePoint 2007 and Outlook 2007 is possible, I haven’t had the time to work on updating it as such.

  9. eric says:

    thanks for the reply Stephen.

    any chance you can get me a summary of the steps that are required? I might attempt it myself if feasible, but a bit guidance would save me lots of digging time.


  10. It’s not a trivial amount of work. You’d need to update all of the classes and interfaces to support writing in addition to reading; you’d need to update the Web service to ensure that it still completely mimicks the Web service provided by SharePoint; you’d need to analyze the typical traffic in a sync between Outlook and SharePoint to ensure that your Web service is sending and processing data correctly; and so forth.

  11. eric says:

    Thanks for the feedback again. I’ll keep it in mind: I might give it a shot when I find some time.


  12. Wiz/dumb says:

    Many of you have been using the Custom Calendar Provider samples created by Stephen Toub and I: Stephen

  13. Stephen Toub says:

    Back in May , I wrote an article for the Office Developer Center on MSDN on an idea I had for creating

  14. Shreedhar Kotekar says:


    Great article. Thank you very much for sharing.

    Eric/Toub – Were you able to get the write back to service working? Will this design support it or there are other things we can try out?

    Also is it possible for the list service to publish events specific for the user requesting it. Outlook may need to prompt for username/password for this to work? how to make that happen?

    Thanks again for the article.

  15. James says:

    I no this isa bit of the subject…

    But I am looking for a wat to take automaticly transform an email to an RSS feed. I want to use this to publish a blob an intranet site (WSS).  My hope is to provide a somewhat secure and easy means for mobile managers.