ghostty
michael@vegas : ~/writing · (main)
● connected
mdabout.md tsxprojects/ logexperience.log md2026-03-developer-logs-thu-march-12-2026.md jsoncontact.json
← :writing
2026-03 ⏱ 2 min

Developer Logs, Thu, March 12, 2026

Scaffolding an Outlook add-in with Yeoman and generator-office to let attorneys chat with their inbox — agent tools, MCP server, and Office.js legacy SSO.

MP
Michael Pope Senior AI Engineer · Fractional CTO

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

— michael
Found this useful? Connect on LinkedIn or hire me for senior AI engineering / fractional CTO work.
NORMAL main ~/writing/2026-03-developer-logs-thu-march-12-2026.md markdown utf-8 1:1 Top