Outlook Add-Ins

If your users spend a lot of time in Microsoft Office (specifically Outlook) then you should consider augmenting your software with an Outlook Add-In. There are a few different forms of the Outlook Add-In, but the one I am going to discuss today is the type that appears in “command surfaces” in Outlook. Broadly this is an Add-In that appears in a narrow pane to the right hand side of an email (or appointment) that someone is reading.

The idea of the Add-In is to create a useful function in the pane that relates to the email that the user is reading. In the example shown here, we have created an Outlook Add-In for the Acme CRM system. Using the Outlook Add-In we have created, the user can easily save an email to a customer’s record without leaving the comfort of Outlook!

Design Considerations

The Outlook Add-In pane is narrow. You don’t have a lot of space and currently, Microsoft don’t provide the ability to adjust the size of the pane. This means that you should provide a small range of functions in your Add-In that are focussed on achieving limited, specific and useful goals. For more advanced operations, you can provide a button that opens up your main application in the correct context (e.g. a button that opens your CRM system at a customer record that matches the email you are reading).

Technical Considerations

Outlook Add-Ins work in both web-based Outlook (Office 365) and inside “on-premise” Outlook (i.e. the version you install on your computer). On-Premise Outlook 2016 will use Internet Explorer 11 for rendering your Add-In. It is important to consider this when choosing technologies to develop your Add-In!

Microsoft’s preferred approach to user interface technology for Outlook Add-Ins is React (using Typescript). A complete set of UI components is provided to simplify development, so this is the recommended approach. You can also use basic HTML, CSS and Javascript, but the support is limited to basic stylesheets. Finally, you can use AngularJS, but this is a dying technology, so it is recocmmended that you stay away from it.

If you are developing an Outlook Add-In, then there is a good change that you are going to be working on some kind of integrated authentication with Azure Active Directory. Microsof provide a lot of support for this, but there are still a lot of poorly documented technical challenges to overcome that are too arcane for this blog post! In future, we may provide a complete tutorial for Outlook Add-In developers to get them started.

You are probably also going to want to use Microsoft’s Graph and / or EWS APIs with your Add-In. EWS is deprecated, but it is still necessary as not all operations are currently supported in the new Graph API yet.

Conclusion

Although conceptually simple, creating a working, useful Outlook Add-In that integrates with Exchange and Azure Active Directory is a complex and difficult task. If you would like McKenna Consultants to develop and Outlook Add-In for your software, please fill in the form below to get in touch with us.

Nick McKenna
Nick McKenna is a (polymath) computer programmer and scaled Agile consultant. Nick has been a professional programmer for over 20 years and an Agile guru for nearly as long! Nick's specialities include progressive web app development, mobile app development, the Internet Of Things, Azure cloud development, systems integration, Scaled Agile Framework, Scrum, Lean, LeSS, Scrum At Scale and much much more.