2026-03-12 15:23
Status:
Tags: javascript,
Developer Logs, Thu, March 12, 2026
@ 3:09 PM
Over the past few months, I've been building AI agents for a lawfirm to to help automate a to of the busy work done by lawyers and upper management, our suite of tools also helps coworkers navigate through emails by finding and extracting information for them by leveraging Microsoft Graph API.
By building an internal MCP server to house all the different tools we want our agents to be able to use, our goal is to continue building agents that can work when we're not at our desks, still cranking our work on our behalf. A few weeks ago, I was working on building an Outlook addin to our mail inboxes that let users chat with their opened emails. Version 1 used the Office.js library to fetch user emails client side, to get started, i used the generator-office library which you can find here at this GitHub repo https://github.com/OfficeDev/generator-office in order to get started with the project.
The generator-office library used Yeoman, a scaffolding system for creating new projects. You can install it on your computer by running:
npm install -g you
Next, to generate an outlook project you run:
yo office [arguments] [options]
I built it for Outlook to work with email, so my script would be:
yo office --projectType react --name "New Outlook Addin" --host outlook --ts true
Inside of outlook, the top menu bar is called a Ribbon, it's where the buttons that will invoke our add-in live, in the root of the project, you will either have a manifest.xml or manifest.json, depending on which option you selected during project generation. My project uses manifest.xml.
That generates a React project that will serve as our web based add-in. Now originally for POC, I just used Office.js with legacy SSO to fetch an authentication token directly from the logged in users, which is easy since they already have to be logged into their Microsoft account in order to use Outlook anyways.
References
Linked Citations