Outlook Add-ins

Add-in technology is an ideal way to enhance the capabilities of Microsoft Outlook. Features including advanced email management, encryption and contact management are examples of extending Outlook with Add-ins. The biggest benefit of Add-in technology involves working with Microsoft Exchange and Outlook custom forms to automate every-day business processes. This later area is where Hughes Financial Services applications excel.

Add-ins can be developed in Outlook using VBA (Visual Basic for Applications) and an automation file named VBAProject.otm. The biggest problem with the VBA approach is overcoming the security restrictions added to the latest versions of Outlook. VBA add-ins will only run when Outlook is set to run at a security level of low or medium. To run these applications at a high security level requires signing the Add-ins with a digital certificate which will expire with time. Only one VBAProject.otm file can be associated with an Outlook profile. While VBA code can be protected with a password this technique is less secure than using a compiled DLL (Dynamic Linked Library).

COM (Component Object Model) based add-ins do not have these restrictions. They can be developed in Visual Basic 6, VB.NET, or Microsoft Office Developer software. Multiple COM Add-ins can be used on a single Outlook profile and are compiled DLL applications. This improves both security and performance. A digital certificate is not required to run COM Add-ins in Outlook. Deployment is accomplished with an installation file to automate the setup and initialization of the application.

Most of our Outlook applications work with Microsoft Exchange Server and custom Outlook forms. These forms provide basic templates for data collection and can add automation of their own using the VBScript language to provide data validation and other capabilities. The forms are made available in the "Organizational Forms Library" of Microsoft Exchange or other public Exchange folders. Users can find these forms in the "Forms" library of Outlook (Tools-Forms-Choose Forms) or they can optionally be started by a hyperlink on a company intranet page. Exchange Server can also provide workflow automation using the Exchange Scripting Agent and Routing objects. If administrative restrictions or IT resources prevent customization of Exchange, basic workflow can also be added using COM add-ins in Outlook itself.

Here is a simple application that demonstrates these concepts, a newsletter for a Human Resources (HR) group. In addition to basic subscribe/unsubscribe functionality, readers can choose the topics of interest they wish to receive. Additional data such as an employee or division number can also be added. Shown below is the Outlook form used to collect this data. This form is started simply by clicking on the appropriate link on the HR's group home page on the company intranet. VBScript code is added to the form to insure that users can't send in incomplete data. In this case, users must check a Subscribe/Unsubscribe option and select one or more topics before the form can be sent.

A COM Outlook add-in manages the entire subscription process. Each Outlook form has a unique name that the add-in can sense when it arrives in the inbox. This allows the automation to separate the form from other mail and decide how to correctly process the data.

All of the data items on the form including the address of the sender can be read and saved to a shared database. Each incoming form will also automatically generate an email response to the subscriber confirming the action taken. Typical the Outlook Security "Object Model Guard" will issue a warning that an application is about to send an email. Technology has been added to HFS Add-ins to overcome this restriction so the administrator does not have to confirm the outgoing emails. The forms are also saved to a specific folder to maintain the original data as a backup. All of these operations are completely automated and hundred of forms can be processed at a single time.

The add-in adds a simple command bar to Outlook to provide the administrator user interface as shown in the next picture. A description of each of the commands follows.

Check Inbox - When you first open the mailbox this function will review all mail and process any incoming subscription requests.

Send Newsletter - The application will pop-up a message which is addressed to all active subscribers. Custom text is then added and the message is sent. Alternatively the automation can be changed to send a personalized email to each subscriber. The feature can also filter the mailing list by the subscribed topic to insure that specialized newsletter only goes to subscribers who have requested that subject matter.

Start Rule - If Outlook is running, the Add-in can sense when new mail arrives and process the request automatically. "Start Rule" instructs Outlook to initialize and run this feature.

Stop Rule - Pressing this button will no longer immediately process subscription requests.

Utilities - This provides access to miscellaneous functions such as manually editing the subscriber list, cleaning/repair of the associated subscriber database and miscellaneous reports.

The Subscription Application is a very simple example of what can be achieved with Outlook and COM Add-ins. Complex applications with workflow and multiple forms are also possible. These applications can additionally be augmented with other HFS technology to produce detailed reports or feed results into other applications. Best of all, Outlook based automation projects only require a fraction of the budget necessary to implement completely web-based applications.