top of page

Ai-Powered Outlook Plugin

In this post, we share our experience in developing an Ai-Powered System-Connected Microsoft Outlook Add-Ins for one of Our Clients

Let's explore the terminology used to describe the software products our company focuses on. We define "AI-Powered" as any software component that utilizes AI to address specific problems. "System-Connected" indicates that the software component integrates with the Client Company Software Ecosystem, allowing it to read and input data, as well as perform functions and. Lastly, Microsoft Add-Ins are technologies provided by Microsoft that enhance the functionality of Office Suite products like Word, Outlook, and Excel. They can be seen as plugins that can be used while operating any of these applications. More information on MS Add-Ins, please follow the link below.

The scenario

In this scenario, our client needed to input information received via email into their company system. The data was processed manually, requiring employees responsible for handling incoming information to read and interpret the emails before entering the details into the internal system. This was a lengthy and tedious process, as the emails came from diverse sources, resulting in a lack of consistent formatting. Furthermore, the complexity increased as the information was dispersed throughout the email body and attachments, which could include PDF files, Excel files, and images.

The problem

The problem could be broke down in the following parts.

  • What is the most effective way to minimize the manual workload for operators while having the least impact on their daily routines?

  • How can we handle information from various sources and formats?

  • How to standarize that data so it can be compliant with the internal system format?

  • How to connect to that internal system and insert the extracted data automatically?

The solution

We developed a Microsoft Add-Ins for Outlook capable of parsing the emails information and submitting the extracted data to the company system. This Add-Ins is installed in the Outlook program of the company employees in charge of processing incoming information. With the plugin installed, the experience of processing the emails was severely simplified. For the user perspective, the process was reduced to: opening the email, executing the plugin, which opens as a side panel inside the Outlook, await for the AI response, review the extracted data, and then click in a button to insert that data to the system.

​

We achieve this with two-side integration, first was integrating the plugin with OpenAI and second was to integrate the plugin with the company system. For the integration with OpenAI, we made use of OpenAI API services, which offer capabilities for both textual and files interpretation. As for the integration with the company system, we first needed to understand the client system and find the technical solution that allow us to insert data into their system.


To make this solution effective, we created a so-called Open AI Assistant in OpenAI platform. With OpenAI assistants, you can contextualize the AI service so it provides responses apt to your business needs. In our case, the assistant was prompted to understand the files and text it receives from the Outlook plugin. To be more specific, the assistant was instructed to perform a so called Named Entities Extraction, this is the process of describing an entity, and them to find the name of that entity by analyzing some data. For instance, we can describe what's a Lion, and then we can ask the AI, read this text and tell me what's the name of the Lion.

We also instructed the assistant to standardize the response it sends back to the Outlook plugin. We requested a json with a pre-defined format with the data of all the Named Entity extracted from the email. Upon receiving the response, we presented this information as a form that the user can review and modify and then submit to the company system. AI can make mistakes, that's a fact, that's why some degree of supervision is needed when dealing with sensitive data.

​

​

bottom of page