File email and attachments from Outlook

Install the Kodori task pane in Microsoft Outlook. Open any email, click "File to Kodori", and the message + selected attachments file as Kodori documents — with per-filing sensitivity and collection picker.

Updated 2026-04-27

The Kodori add-in puts a "File to Kodori" button on the Outlook ribbon. Click it on any open message and a task pane appears showing the subject, sender, attachment list, and a single Save button — the message body becomes a Kodori document, every selected attachment becomes its own document, and the agent's auto-classify pipeline runs the same way it does for desktop uploads.

**Where it works.** Outlook for Windows (desktop), Outlook for Mac, and Outlook on the web. Mobile (iOS / Android) is supported in principle by the manifest's Mailbox 1.5 requirement; field testing for both is roadmap. Older Outlook versions surface the task pane through the "My add-ins" menu without the ribbon button — still usable, one extra click.

**Install (sideload, per-user).**

1. Mint an API key on /api-keys with the `documents:write` scope. Copy the full `k_…` string — the plaintext is shown once. 2. Open the Outlook add-in catalog. *Outlook on the web:* the apps icon in the top bar → Add apps → Add custom apps. *Outlook desktop:* Home → Get Add-ins → My add-ins → Add a custom add-in → Add from URL. 3. Paste `https://kodori.ai/office/manifest.xml` (or your self-hosted equivalent) and click Install. 4. Open any email. The "File to Kodori" button is now in the ribbon. The first click prompts for the API key in the task pane; paste it and save. Subsequent clicks file directly.

The API key is stored in Outlook's `roamingSettings` — synced across devices for the same mailbox, encrypted in transit and at rest. The key is sent only when you click "File this message", as a bearer token over HTTPS to your Kodori deployment.

**Centralized deployment for IT admins.** Visit the M365 admin centre → Integrated apps → Get apps → Upload custom apps and paste the same manifest URL. Targets users, groups, or the whole tenant. Same task pane, same flow.

**What gets filed.** The message body is filed as one Kodori document with a small RFC-822-ish header block prepended (From, To, Date, Subject) so the record is self-describing on the dashboard. Each selected file-type attachment files as its own Kodori document. Cloud-link attachments (OneDrive / SharePoint shared links) are flagged unfilable in the task pane — Outlook's API can't pull their bytes for us.

Every filed document carries metadata pointing back at the original message: `source: 'outlook-add-in'`, `messageSubject`, `messageFrom`, `messageTo`, `messageReceivedAt`. Search for "from alice@acme.com" on /search and you'll see every document filed from her threads.

**Troubleshooting.**

- *The button doesn't appear.* Outlook caches manifests; close and reopen the message, or fully restart Outlook desktop. If the button is in "My add-ins" but not on the ribbon, your Mailbox version may be < 1.5 — the task pane works, just from a different menu. - *"Failed to load Office.js".* The deployment must be served over HTTPS. Local dev requires the `office-addin-dev-certs` package or running through ngrok. - *Attachment too large.* The bulk-ingest API caps at 50 MB per request. Larger files surface as "failed" with a size-cap message; use the desktop /upload page for those (no body cap, presigned PUT direct to R2). - *"Add-in is blocked by your organization."* Your IT admin has disabled per-user sideloading. Ask them to deploy via the M365 admin centre using the centralized path above.

**Per-filing controls.** Each time you open the task pane on a new message, two override controls appear above the attachments list:

- **Sensitivity (this filing)** — overrides the workspace default for one message only. Useful when most of your inbox is "internal" but one specific email is privileged ("regulated") or vice versa. Reset on every new message, so a one-time bump doesn't stick. The DLP scanner still runs on ingest and may auto-escalate further; we never silently lower the tier on filed records. - **Collection (optional)** — assigns the filed message body + every attachment directly to a Kodori Collection (matter / project / cabinet / drawer). Fetched live via the API, so the picker reflects every collection your role can see. If your matter doesn't exist yet, the empty state links to /collections to create it; come back to the task pane and it'll appear.

**Thread tracker.** When you open a message in a conversation you've already filed from, the task pane surfaces "N already filed from this thread" with subjects + deep-links to those Kodori documents. Solves the "did I already file this email?" question on long-running matters where multiple people are forwarding messages around. The tracker is browser-local — keyed on Outlook's stable conversationId, persisted in localStorage, capped at 100 conversations × 30 days so storage stays bounded. Multi-device users get per-device history; future server-side tracker (so the count is consistent across the desktop and the web client for the same mailbox) is a follow-on.

**What's next.** True one-click conversation-thread filing (file every message in a thread in one click — currently you click each message individually) requires Microsoft Graph integration with Azure AD app registration; that's a separate flow with admin-consent UX. Word / Excel task panes for "save draft to Kodori" with versioning is on the same roadmap. Outlook mobile testing too. Open feature requests at sales@kumokodo.ai or on the changelog.