Agent Outlook

preview

An Outlook add-in that files the email you are reading into an Agent Share inbox or onto a project stakeholder's timeline — one pane, one note, one click, no forwarding.

Author: Poul Kjeldager
Platform: webwindowsmacos
Category: agents

Overview

Agent Outlook is a task pane inside Outlook. You open a message, open the pane, choose where the message belongs, and click Track. The email lands where your agents and your project already are — without forwarding it, copy-pasting it, or leaving your inbox.

There are two destinations, and in project mode you can use either one or both:

  • An Agent Share inbox — the message is posted as a share, so a coding agent picks it up the same way it picks up anything else you send from your phone or your browser.
  • A project stakeholder's timeline — the message is filed as an interaction on an agentics.dk project, against the people it concerns, so the customer conversation lives next to the work.

On success the message gets the Outlook category Tracked in Agentics. That category lives on the message itself, so "already tracked" follows you to every device and every Outlook client — it is not a local flag that a reinstall or a second laptop forgets.

What it is not

  • Read mode only. The pane appears on a message you are reading. Drafts and calendar items are out of scope.
  • Metadata only for attachments. Names, sizes and content types travel; bytes never leave Outlook. Nothing downstream takes them.
  • No mailbox sync. Nothing is polled, mirrored or continuously imported. Tracking is a deliberate act on one message at a time.

Where to go next

PageWhat it covers
InstallSideloading the add-in into your own mailbox, and where the button actually appears
Deploy to a whole tenantRolling it out from the Microsoft 365 admin center — six screens, no Entra app registration
QuickstartConnecting your Agentics account and tracking your first email
Project modeProjects, inboxes, stakeholders, and what each destination does
ConfigurationEvery environment variable, for self-hosting
TroubleshootingBlank pane, "couldn't load", 502s, and how to read them

How it is built

The add-in is a single Next.js app that is both the task pane and its own backend. Every call to share.agentics.dk or agentics.dk happens server-to-server; the browser only ever talks to the add-in's own origin.

That is not an implementation detail you can ignore when self-hosting — it is the reason the add-in works at all. Neither backend sends CORS headers, on purpose, so a task pane calling them directly from the browser would be blocked. It is also why no OIDC token ever reaches the browser: the pane holds an opaque handle, and the tokens stay on the server.

Sign-in runs in an Office dialog, not in the pane and not on a cookie. In Outlook on the web the pane is a cross-site iframe, so a session cookie would be third-party and gets blocked outright by ordinary browser settings. The dialog returns an opaque handle that the pane stores in Office.context.roamingSettings, which roams with the mailbox and survives a reinstall.

Design origin

The read-mode email extraction — subject, from, to/cc/bcc, body, attachment metadata, shared-mailbox detection, and the "already tracked" category marker — is ported from anjep-consit/DataverseOutlookTracking, which performs the same gesture into Dynamics 365. Agent Outlook retargets that logic at Agentics' own stack. It carries none of that project's Dataverse client, Azure infrastructure or tenant identifiers.