Outlook form regions

Outlook 2007 includes a new way of customizing the Outlook user interface for data in Outlook.  If you have used previous versions of Outlook and had a need to customize our forms, you know that in the past custom forms in Outlook were a bit of a challenge.

If you were interested in working with any built-in form other than the mail, post, or contact forms, you were limited to adding additional tab pages to the standard page.  Even if you were interested in customizing the contact form, you couldn't replicate the look and feel of the standard Outlook form.  Custom forms were also never displayed in the Reading Pane, which is how a lot of users work in their mailbox.  Additionally, once you had a form designed, to write code behind the form for business logic and validation you were stuck using notepad.  Finally, after the form was working just the way you wanted, the Outlook forms cache could swallow the form and Outlook would end up just using the standard form anyway.

Example of an adjoining region
An adjoining region in a mail note

Because of these issues, for Outlook 2007 we introduced a new mechanism for form customization we've named "form regions".  Our goal was pretty simple: reduce the difficulty for doing simple customizations on the one hand, while ensuring that rich integrations could reproduce the look and feel of Outlook built-in forms without major compromises.  To this end, Outlook 2007 supports two types of form region customizations: adjoining regions and separate regions:

  • Adjoining regions enable you to provide purely additive "regions" to the bottom of the first tab of an existing form (custom or built-in).  These regions are also, optionally, displayed in the Reading Pane of Outlook.  For instance, if you want to add a few additional fields to a built-in Outlook form, an adjoining region would be a good approach.
  • Separate regions can either be added to an existing form, or they can replace one or all of the tabs on an existing form.  If the solution requires that the entire form be customized, or if you would like to add data into the middle of an existing form, or on a separate form page, then separate regions are a good choice.  Separate regions that replace the first form page are also displayed in the Reading Pane of Outlook.
Outlook form regions work in the reading pane as well.
Form regions work in the reading pane as well

Outlook 2007 also includes a number of new form controls that provide the business logic and behavior users expect from Outlook forms.  We've included a contact photo control, date and time picker controls, Electronic Business Card preview control, and several others so that custom forms can finally have parity with our built-in forms.  We've also made sure that all of the included forms controls support Windows themes.  No longer will your custom forms look like they were made in 1995.

Another benefit of Form Regions is that instead of writing your code in notepad and VBScript, form regions are designed to be driven with an add-in.  Thus, you can work in your favorite development environment and take advantage of all the features it provides.  You just implement a new interface, FormRegionStartup, and your form will be off and running in no time.  You can listen for a full range of events on the controls, monitor other Outlook data and respond accordingly, and retrieve data from non-Outlook sources for displaying on your form region, all from the comfort of your favorite programming language.

Because of the close connection to an add-in, Outlook form regions are installed as part of your add-in, thus simplifying the deployment model for Outlook customizations.  Your add-in setup project just needs to write an XML manifest that describes the region to the registry or the local disk, and then register that manifest with Outlook.  When Outlook is ready to display your form region, it will call back on the FormRegionStartup interface to ask your add-in for all the details.  Installing your form locally with the add-in also means that form regions will continue to work in the same way even when running against an Exchange server without public folders.

With beta 1 and beta 1 technical refresh, the Outlook team has released a sample named "Travel Agency" which provides an example of a separate form region customizing the Outlook contact form with an additional form page.  These samples have been posted on Beta Place for you to download and try out.  Starting with beta 2, we will have an updated sample that includes an adjoining region as well.

I'd really encourage the developers out there to try out this new UI customization.  Download the samples and check out what you can do.  If you caught some of the MIX06 conference, you may have noticed the Outlook/EBay add-in, which was also built using Outlook form regions.

Comments (7)

  1. Adam says:

    What is the easiest way to edit a form? Is there a menu option to do this or a special "forms designer" outside of Outlook 07?

  2. rgregg says:

    Editing a form is much like it was in Outlook 2003.  From the main Outlook window, Tools, Forms, Design a Form.  Select the base form you want to start with (for instance, Message).  From there, click the "Form Regions" button on the ribbon, and then "New Form Region".  This will give you a new tab that can be saved as a form region.

  3. Oliver Blindenbacher says:

    I’m sorry to post this question here, but I can’t get any informations on the web about the next generation of Outlook Web Access. Are there any connections between the local client and future OWA? Is there a possiblity to write extensions to OWA or even much better, are Outlook VSTO extensions also useable on owa? Is a webbased Outlook client still developed by the Exchange and not the Office team?

  4. vboutlook says:

    Please Ryan could u give some tips on how to do this? Thanks a bunch

    Specification (draft)


    To calculate a running total of flexible working hours and show it in calendar view based on a reference calendar which is on server in "Public Folders" with a name "Standard Working Hours"

    A separate "Balance ticket" can be generated as well and user may open the balance ticket to get all the required information. These information are updated regularly  

    Another option is to place the information in the "Tasks" folder of the user or some other special "Own Working Hours"

    2)  To calculate own daily working hours based on a reference calendar  which is on server in "Public Folders" with a name "Working Hours"

    3)  To check that there are no overlapping hours (overlapping appointments are OK, but the ones starting with an integer are not permitted to overlap). A RED error ticket may be generated or some other form of error message should be displayed to the user in error condition.

    4)  TO make a balance correction – if needed based on special "balance correction" appoinment on the day given for the future days

    5) To produce a (given time span) report of used working hours to specific codenumber or task.


    1) Outlook-2000 + forms

    2) visual basic

  5. Erics Blog says:

    One of the best new features in the extensibility of Outlook 2007 is the possibility to create form regions.

Skip to main content