OOM Evaluation Criteria

Topic Last Modified: 2008-08-07

Applications that run on the client computer can use the Outlook Object Model to programmatically access contacts, messages, calendar items, meeting requests, tasks, and Microsoft Outlook configuration information.


To access data stored in an Exchange mailbox, Outlook must be installed and configured on the client computer where the application is running.

Functional Criteria

Criteria Outlook Object Model (OOM)

Application Domain

Applications that use the OOM typically perform user-specific message handling, mailbox cleanup, and so on. In environments where Outlook is consistently available, small custom applications are sometimes created that use OOM for making changes in the user's mailbox or public folders without using more complex development technologies. OOM is sometimes used for message processing in an ad-hoc workflow process, especially where access to the Exchange server is not permitted.

Major Objects

The top-level OOM objects represent the Outlook application, Inspectors, Reminders, and other settings. Messages, tasks, contacts, and other Exchange-related items appear under the Namespace object, which contains AddressLists, SyncObjects and PropertyPages. The Folders object contains a collection of items, each of which can have other objects appropriate to the type of item.

Data access model

OOM represents all data as a hierarchical set of objects and collections.

Threading Models

Information about this is not available at this time.

Application Architectures

OOM is typically used in macros and scripts to extend Outlook and other Microsoft Office applications. In addition, OOM is sometimes used in Visual Basic and WSH applications.

Remote Usage

OOM can only be used on a computer on which Outlook is installed. OOM can be used to access information stored in Exchange that is available in the Outlook application.


OOM does not support transactions.

Management Capabilities

OOM has no built-in management capabilities.


OOM is currently available in all versions of Microsoft Outlook, and there have been extensions and improvements with each new version of Outlook.

Development Criteria

Criteria Outlook Object Model (OOM)

Languages and Tools

OOM applications can be implemented by using any COM/Automation-compatible language, as well as non-COM languages such as C/C++.

Managed Implementation

A primary interoperability assembly enables OOM to be used in a managed-code environment.



Test/Debug Tools

No special debugging tools are needed to use OOM.

Expert Availability

Developers who can successfully develop applications by using OOM should be relatively easy to find. OOM is intended for smaller scripts and macros, so someone able to develop by using OOM may not be able to create complex stand-alone applications.

Available Information

Information about programming by using OOM is available in both Microsoft and third-party books. For more information about OOM, see Microsoft Outlook Object Model on MSDN.

Developer / Deployment Licensing

Refer to your Exchange and MSDN subscription licensing agreements to determine whether additional licenses are required for Outlook and OOM used in your applications.

Security Criteria

Criteria Outlook Object Model (OOM)

Design-Time Permissions

No special permissions are required to develop applications by using OOM.

Setup Permissions

No special permissions are required to install applications that use OOM. However, local administrator rights are required to install Microsoft Office and Outlook.

Run-Time Permissions

No special permissions are required to run applications that use OOM.

Built-in Security Features

The OOM communicates with Exchange by using MAPI and with Active Directory by using ADSI. The current security context of the user running the application is used to determine what resources the script can access.

Security Monitoring Features

The OOM provides no additional security monitoring features.

Deployment Criteria

Criteria Outlook Object Model (OOM)

Server Platform Requirements

OOM is a client-side technology.

Client Platform Requirements

Applications that use OOM to access Exchange data require that Outlook be installed on the local computer.

Deployment Methods

Applications that use OOM are frequently distributed as scripts, or by using standard application installation software.

Deployment Notes

Because Outlook should not be installed on the Exchange server, applications that use OOM cannot be run on the Exchange server.