This page has been archived and is no longer  being actively maintained.
Outlook Developer Home
Outlook Programmer's Library
Outlook Technologies
Outlook Forms
Other Technologies


Microsoft Exchange Server Scripting and Routing

Introduced in Exchange Server 5.5, the Exchange Server Event Service supports server-side scripts triggered by folder events, either in public folders or individual mailboxes. A prime example is a script to handle booking of a conference room or other resource. The main source of document is the Agents.hlp file on the Exchange Server CD. You can also download updated samples and documentation

Building on the Event Service, Microsoft Exchange Routing Objects provide server-side routing and state tracking to help you build workflow applications with Microsoft Exchange Server, using either parallel or sequential routing schemes. Released as part of Microsoft Exchange Server 5.5 Service Pack 1

The big difference between scripting and routing and some other approaches to automatically processing items  is that scripts and routing objects operate entirely on the server. It is not necessary for any client machines to be logged in. Because no user interface is involved, Event Service scripts should always have error-handling and can display neither Outlook items nor message or input boxes. Other limitations and considerations are discussed in the MSKB article Suitable Applications for Exchange Server Event Scripting.

Configuration | Writing Scripts | Routing | Discussion | Samples | Problems | More Information


Use the Outlook client to enable scripts, using the Agents tab on the Properties dialog for in any mailbox or server folder. The Agents tab is not visible by default. You must specifically enable it using the Add-in Manager in Outlook. See these Microsoft Knowledgebase articles: 

With Exchange 2000, you will need to configure the Event Service to run under a domain user account and set it to start automatically. The account also will need at least Editor permissions to the Event_Config folder and Owner permissions on the folders where you want to create scripts. None of these are default settings, so you'll have to configure them before the server will run scripts and you can install them. See:

Micro Eye Script Director is a deployment and administration tool to help developers and administrators manage Exchange folders with scripting or routing agents. 

Back to Top

Writing Scripts

Code in Event Service scripts normally uses VBScript, a slim, portable version of the Visual Basic programming language. It is also possible to use JScript

The object model for folder scripts is Collaboaration Data Objects (CDO). 

Also see:

Back to Top


Both Exchange 2000 and Exchange 5.5 support workflow, but via different methods.

Exchange 2000:

The Workflow Designer for Exchange 2000 is included with Exchange 2000 and, in an updated version, the Office XP developer edition. Also see:

Exchange 5.5:

Back to Top


You can ask questions about Exchange scripting and routing in the newsgroup on the server and at the CDOLive - Ask the Experts Area.
Back to Top


Sample Outlook forms using the Exchange Server Routing Wizard:

Sample Outlook forms with accompanying Exchange event script samples that use ADO database connections: 

For installation instructions for these forms, see Microsoft Sample Applications. Also see Using Outlook Forms with Access Data, which explains in detail how the Student Attendance sample form works.

Back to Top


Agent Install Sample application included in Tom Rizzo's Programming Microsoft Outlook and Microsoft Exchange book for installing script agents and routing maps.
Script Director Tool for installing, managing and editing script agents throughout an organization. For Routing Objects, provides access to details on each item being routed, including the tracking status of each recipient. Also manages custom Outlook forms.
Back to Top


Back to Top

More Information

2002-6 TurtleFlock, LLC
All right reserved.

Send comments to

Designed and Implemented by TerraLink USA 

FrontPage Integration
by RobsonDesignWorks

get Sue's code | forums | share your own code | registration