This documentation is archived and is not being maintained.

Outlook Object Model (OOM)

Exchange Server 2003

Outlook Object Model (OOM)

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release. This topic provides information about using the Outlook Object Model (OOM) to develop messaging applications.


Applications 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 machine 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.
Transactions OOM does not support transactions.
Management Capabilities OOM has no built-in management capabilities.
Availability 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.
Scriptable Yes.
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 standalone 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 Online link 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.