Use case

Summarize and Triage a Shared Inbox with AI (2026)

Build a reliable AI shared-inbox workflow with evidence-backed summaries, explicit ownership, protected routes, safe replay, and intake monitoring.

Updated 2026-10-17
AI shared inboxemail triageinbox summarizationemail routingoperations automationshared mailbox

Verdict

Use AI to produce a short, cited summary and propose a work type, owner group, deadline, and action-needed state. Store those fields in a separate work-item ledger and let deterministic policy decide protected routes. Choose Microsoft Power Automate for a Microsoft 365 shared mailbox, Make for a managed visual workflow spanning several SaaS tools, or n8n when a technical team needs custom API calls, code, or self-hosting. Do not auto-reply during the first rollout. Start with summaries and assignment proposals, then automate only narrow, reversible mailbox updates after replay and intake tests pass.

This workflow is for addresses such as operations@, finance@, partners@, or hello@, where unrelated requests arrive in one mailbox and a team needs an owner and next step. It is not a substitute for a ticket system, a sales lead-routing process, or an attachment-extraction pipeline. Use the support-ticket routing guide when the record already has ticket state and SLA semantics, inbound lead routing when the destination is a CRM owner, and document intake when files are the primary payload.

Make a work item the source of operational state

Mailbox state is ambiguous. Read can mean someone glanced at a message. A folder can represent category, ownership, or completion depending on local habit. A reply may live in one employee's Sent Items instead of the shared mailbox. Keep the original message in the mailbox, but create one durable work item per conversation or request.

Do not assume a provider message ID is immutable. Default Microsoft Graph Outlook IDs can change when a message moves folders. Graph clients can request Prefer: IdType="ImmutableId" on every relevant request; that ID survives folder moves inside the same mailbox, but not a move to an archive mailbox or export and re-import. A prebuilt connector may not expose that header, so verify its event and message identifiers before designing the unique constraint. Retain the Internet Message ID, received time, and content fingerprint as reconciliation signals, not as one guaranteed universal key. Conversation ID remains a grouping hint. Subject text is not an identity key: senders reuse subjects, prefixes change, and unrelated messages can collide.

{
  "work_item_id": "inbox-019425",
  "mailbox": "operations@example.com",
  "source_event_key": "outlook:operations@example.com:AAkALgAA...",
  "provider_message_id": "AAkALgAA...",
  "provider_id_type": "graph_immutable",
  "internet_message_id": "<abc@example.net>",
  "conversation_id": "AAQkAG...",
  "received_at": "2026-10-17T13:42:18Z",
  "summary": "Vendor asks to change payout details before the next invoice run.",
  "sender_request": "Replace the bank account on file.",
  "work_type": "vendor_finance",
  "action_required": "protected_review",
  "proposed_owner_group": "accounts_payable",
  "explicit_deadline": "2026-10-20",
  "risk_signals": ["payment_details_change"],
  "evidence": [
    {"message_id": "AAkALgAA...", "span": "Please use the new bank details for the October 20 invoice run."}
  ],
  "unknowns": ["requester_identity_verified"],
  "state": "unclaimed",
  "state_version": 1,
  "classifier_version": "shared-inbox-v3"
}

Return controlled enums and reject malformed output, unsupported categories, invented deadlines, missing evidence, and overlong summaries. A useful summary names the sender's request, the affected subject, any explicit date, and what remains unknown. It does not infer authority, fraud, legal exposure, sentiment, urgency, or a promised response.

Triage in four bounded passes

1. Claim and fetch the current message

Atomically insert or claim one stable source_event_key before model work. Keep classifier and policy versions as attributes, never as part of event uniqueness; upgrading a prompt must not create the same work item again. Store a lease owner, lease expiry, attempt count, and last completed stage. A worker that crashes after claiming can be replaced after the lease expires, while completed stages remain idempotent. Fetch the current message and permitted thread context rather than treating a trigger payload as complete. Strip tracking pixels, signatures, repeated quoted history, and unrelated recipients. Treat HTML, attachment text, and sender instructions as untrusted data.

Fetch attachments separately after recording the message. Microsoft's current Office 365 Outlook connector can skip messages above the Exchange-admin limit or 50 MB, protected messages, and messages with invalid bodies or attachments. Microsoft also warns that including attachments in the trigger can time out during bursts and recommends fetching them with a later action. Record attachment_pending, attachment_blocked, or attachment_failed; never classify a partially fetched message as complete.

2. Apply deterministic exclusions and protections

Detect bounces, out-of-office messages, delivery receipts, known automated senders, allowlisted newsletters, and obvious duplicates from headers and maintained lists before calling a model. Do not ask AI to rediscover stable protocol facts on every run.

Run protected policy before ordinary assignment. Payment-detail changes, credentials, suspected phishing, security reports, privacy requests, legal notices, HR material, and regulated personal data should enter restricted review. Do not copy their bodies into a broad chat channel or daily digest. The model may identify an evidence span; policy decides the audience and consequence.

3. Ask AI for evidence, not authority

Let the model condense long threads, map variable language to an approved work type, extract explicit dates, and identify the requested action. Require unknown when the email does not establish a field. Do not expose tools that can send, forward, delete, alter recipients, or mark work complete.

Category policy should stay outside the prompt:

Validated signalDeterministic resultWhy
Payment, identity, security, privacy, legal, or people-risk signalRestricted queue + named reviewerContent and consequences require narrower access
Existing open work item for the conversation and same requestAppend evidence; preserve ownerAvoid duplicate assignment and competing replies
Known bulk notification with no action requestDigest candidate or approved archive ruleRepetitive mail should not consume reviewer attention
One tested work type + complete evidencePropose mapped owner groupAI interprets language; policy owns routing
Missing attachment, conflicting thread state, or unknown categoryGeneral triage with visible reasonUnknowns stay reviewable
Message or work item changed after inferenceDiscard proposal and rerunPrevent stale writes

4. Assign with an explicit state transition

Use a compare-and-set update from unclaimed to claimed, including the expected state_version. Record prior and new owner, routing rule, evidence, actor, and timestamp. Notify the owner only after the claim commits. A mailbox category or folder can mirror state for convenience, but the ledger remains authoritative.

Keep claimed, waiting_external, waiting_internal, responded, and closed separate. Read/unread and presence in Sent Items are observations, not those states. Microsoft documents that replies sent from a shared mailbox are saved in the individual sender's Sent Items by default unless an administrator enables copies in the shared mailbox. Configure that setting if the team relies on shared reply visibility, but still write an explicit responded transition.

Choose the orchestrator around the mailbox

ProductBest fitVerified connector detailCurrent price and material limit
Microsoft Power AutomateMicrosoft 365 mailbox, Teams, SharePoint, and Power Platform governanceOffice 365 Outlook has a dedicated shared-mailbox trigger and shared-mailbox send action; the connection needs mailbox accessPremium is $15/user/month, paid yearly. Free supports unshared cloud flows with standard connectors for eligible work or school accounts; Premium has a 40,000-request per-user daily entitlement; Microsoft currently applies a 200,000-request per-cloud-flow transition limit. These are request limits, not guaranteed throughput. Licensing still depends on ownership, sharing, connectors, and environment.
MakeManaged cross-app workflow owned by operationsMicrosoft 365 Email can watch a shared folder, search, fetch, reply, move, draft, and handle attachments; scopes vary by actionFree has 1,000 credits/month. At 10,000 credits, Core is $12/month annual equivalent. Most module actions consume a credit; AI-provider tokens, polling, bundles, retries, storage, and extra credits change cost.
n8nTechnical team needing code, Graph/API escape hatches, or self-hostingOutlook supports messages, folders, drafts, attachments, Graph credentials, and app-only credentials; Gmail Trigger polls with a 50-message maximum per cycle and queues the remainderStarter is €20/month billed annually for 2,500 executions, 5 concurrent executions, and a 5-minute maximum. Community can be self-hosted without a software fee; infrastructure and governance remain yours. Validate the exact shared-mailbox credential path.

Compare the wider platform market in the AI workflow automation shortlist. Whichever tool wins, return only the identifiers, sender, subject, cleaned body, and required attachment metadata to the model.

Split read, state, and send permissions

The first release needs read access to one mailbox or folder and write access to the work-item store. It does not need send, delete, forwarding, or organization-wide mail access. Keep mailbox intake, ledger updates, and reply sending on separate connections or identities so adding a draft step does not silently broaden the classifier's authority.

Grant operators distinct rights to edit the workflow, rotate its credentials, replay failed stages, review protected items, and send from the mailbox. Microsoft distinguishes Full Access from Send As and Send on Behalf; one does not imply the others. The model should receive cleaned values through deterministic modules, not a general mailbox tool or connection token. Test access with a user who has the intended production role, then test that an unauthorized user cannot view protected summaries or replay a send.

Make replay boring

Persist stages such as received, claimed, fetched, classified, assigned, mailbox_marker_written, and notified. Each stage writes its own result and idempotency key. If assignment commits and the Teams alert fails, replay the alert rather than reclassifying and claiming again.

Protect every side effect independently:

  • mailbox move or category: desired marker + message ID;
  • work-item creation: stable source event key, independent of classifier version;
  • assignment: work item + expected state version;
  • notification: work item + state transition + channel;
  • reply draft: work item + source revision + draft version.

Do not enable autonomous sending until drafts have a named reviewer, stale-state check, approved recipients, and deduplication key. A replay interface, including Make's pictured existing-run option, reuses input; it cannot know whether a previous email send succeeded before a timeout.

Enable each platform's failure path and monitor its capacity. Make incomplete executions are disabled by default. Power Automate trigger concurrency is off by default; setting degree of parallelism to one can serialize claims but reduces throughput. n8n error workflows surface failures, while self-hosted operators own queue, database, backup, and worker recovery. None of these features supplies business idempotency.

Monitor intake silence as well as failed runs. Reconcile provider messages received during a bounded lookback against claimed event IDs, alert when the oldest unclaimed item breaches the target, and send a synthetic message through the real external address. Connector success in the middle of a flow does not prove that mail arrived at the trigger.

Test state, not just classification

Build a consented, sanitized fixture set containing short requests, long reply chains, repeated subjects, aliases, forwards, newsletters, bounces, out-of-office replies, encrypted mail, large attachments, malicious attachment text, payment changes, privacy requests, ambiguous ownership, two simultaneous claims, and a reply sent from a delegate's personal mailbox.

Measure summary factuality, evidence coverage, work-type accuracy, protected-route misses, general-triage rate, duplicate work items, double assignments, stale-write rejection, intake coverage, replay duplicates, oldest-unclaimed age, and correction reason. Report protected categories separately; one average “triage accuracy” hides the failures that matter.

In an April 2026 Reddit thread, u/Business_Sail_2296 described a Power Automate reminder flow that could not observe replies sent from employees' personal mailboxes and considered switching to explicit status such as folders or categories. A commenter suggested enabling shared-mailbox Sent Items copies, which matches Microsoft's current administration documentation. This is one practitioner's account, not product reliability or universal Exchange behavior. It illustrates why response state must be recorded deliberately.

Run shadow mode first: create the work item and proposal without moving mail or notifying an owner. Compare proposals with human decisions, then enable one low-risk owner mapping. Keep protected routes and auto-replies behind review. The human-approved automation guide covers approval identity, timeouts, and stale-state checks; the reliable no-code workflow guide covers the wider production pattern.

We did not connect a mailbox, create accounts, send email, replay executions, or measure model quality, connector coverage, latency, reliability, or cost for this guide. Features, prices, and limits come from the linked first-party pages checked October 17, 2026. The practitioner report is attributed and anecdotal.

Sources & further reading