InboxLens (Office 365 Inbox Summarizer)
InboxLens agent user guide - automatically summarize and prioritize your Office 365 inbox using role-aware scoring, thread grouping, and configurable VIP rules.
Introduction
Section titled “Introduction”InboxLens helps users quickly understand what matters in their Microsoft 365 Outlook inbox.
Instead of scrolling through individual emails, the agent:
- Fetches and cleans the 50 most recent messages from Outlook
- Groups them into threads, picks the latest in each
- Applies role-aware scoring (To / Cc / Bcc / mentions)
- Generates a color-coded HTML summary with suggested next actions
Goal: Reduce inbox noise and highlight the threads that genuinely need attention.
Target Audience: Anyone who manages a busy inbox (account managers, leadership, service managers, finance/billing, etc.) and needs a quick view of what to handle first.
Prerequisites
Section titled “Prerequisites”Before deploying InboxLens, verify the following:
- The user account has a valid Microsoft 365 Outlook mailbox.
- The Office 365 Fetch node is configured with a valid Microsoft Graph API connection and the appropriate OAuth permissions (at minimum
Mail.Read). - The
user_info.ms_user_namevalue is set to the user’s primary email address. This is required for accurate role-aware scoring. - VIP addresses and excluded senders are configured in the O365 Clean Response v3 node before the first run.
Features
Section titled “Features”The InboxLens agent provides the following key functionalities:
Inbox Snapshot (50 Latest Emails)
Section titled “Inbox Snapshot (50 Latest Emails)”- Retrieves up to 50 emails from the user’s Office 365 mailbox
- Sorted newest first
- Normalizes fields such as sender,
sender_company, subject, text content, flags, importance, and attachments
VIP and Excluded Senders
Section titled “VIP and Excluded Senders”Configured in the O365 Clean Response v3 node:
-
VIP Email Addresses
- Specific addresses (for example
ceo@client.com,billing@vendor.com) - Messages from these senders receive higher attention scores
- Specific addresses (for example
-
VIP Domains
- Entire email domains (for example
@keyclient.com) - Useful for all users at a key customer or vendor
- Entire email domains (for example
-
Excluded Email Addresses
- Messages from these senders are ignored and not shown in the summary
Role-Aware Attention Scoring
Section titled “Role-Aware Attention Scoring”InboxLens uses the user identity from user_info:
{ "user_info": { "ms_user_name": "<user email address>" }}ms_user_name is treated as the canonical user email.
For each message, InboxLens checks whether this email appears in the To, Cc, or Bcc fields, or is mentioned in the subject/body, and adjusts scoring accordingly:
- In To - treated as directly actionable
- Only in Cc - usually lower priority, unless the user is clearly involved
- In Cc but mentioned / requested - upgraded closer to To priority
- In Bcc - treated as monitoring; only escalated if explicit action is expected
- Not in To/Cc/Bcc but mentioned - still treated as involving the user (common for forwards, shared mailboxes, aliases, and distribution lists)
This prevents pure FYI Cc traffic from outranking emails where the user is responsible.
Configurable Scoring via attention_config
Section titled “Configurable Scoring via attention_config”InboxLens uses an attention_config object for all scoring. No numeric weights are hard-coded in the prompt.
Key fields include:
attention_sent_to_user- score when the user is in Toattention_vip_known_sender- score when the sender is VIP (email or domain)attention_contains_question- score when the message contains a question or explicit requestattention_mentions_date- score when the message references a date or deadlineattention_has_attachments- score if attachments are presentattention_high_importance- score for Outlook “High importance”attention_flagged- score when the email is flaggedattention_already_read_penalty- penalty applied if the message is already readattention_no_reply_penalty- penalty for no-reply / promotional / bulk messagesattention_critical_finance_service- score when finance or service-risk terms appear (for example “past due”, “final notice”, “service interruption”)attention_min/attention_max- clamp bounds for final scoresattention_vip_threshold- threads at or above this score are treated as top-priorityattention_stack_email_and_domain- controls whether VIP email + domain scores can stack
Thread Grouping and Inclusion
Section titled “Thread Grouping and Inclusion”InboxLens groups related emails into threads:
- Uses
internet_message_idandin_reply_to_headerwhen available - Falls back to normalized subject matching (removing “Re:”, “Fwd:”, punctuation, and case differences)
For each thread, the agent:
- Selects the latest message for scoring and display
- Includes the thread if any message is unread, or the latest message is VIP, flagged, high importance, contains a question, or indicates financial/service urgency
Threads that are fully read, unflagged, low-priority FYI, and not risky are excluded.
Categorization
Section titled “Categorization”Each included thread is assigned to one category:
- Needs Reply - user is expected to respond
- Waiting on Others - someone else owes the next step
- Calendar - meeting invites, scheduling, reminders
- Finance - invoices, payment reminders, renewals, billing notices
- Security - alerts, login warnings, suspicious activity
- Low Priority - newsletters, generic updates, low-risk notifications
Categories drive both the label and background color used in the HTML summary.
HTML Summary Output
Section titled “HTML Summary Output”The LLM generates inline-styled HTML designed to work well in Outlook:
-
Header
- “Inbox Summary” title
- Short paragraph explaining the focus on unread and important read threads
-
Summary Block
- Total unread
- Number of included threads
- Highest attention score
- Average attention score
- Category counts on a second line
-
Thread Cards (one per included thread)
- Category icon + subject as the card title
From: [Sender] from [Company] - Received: [Formatted Date]on a single line- One-sentence summary (max approximately 25 words)
- Category label + attention score
- Suggested action (for example “Reply to confirm”, “Review invoice”, “Acknowledge and file”)
- “Open in Outlook Web” link when
linkToMailWebis available
-
Footer
- Small note such as “Prepared by InboxLens - automated summary of your Office 365 inbox”
Date formatting:
- Today at HH:MM
- Yesterday at HH:MM
- MMM D at HH:MM (for example
Dec 1 at 18:55)
All times use 24-hour format unless the source implies AM/PM.
Setup and Configuration
Section titled “Setup and Configuration”Step 1: Configure the Office 365 Fetch Node
Section titled “Step 1: Configure the Office 365 Fetch Node”Set up a Microsoft Graph API connection. The fetch node requires an OAuth connection with at minimum Mail.Read scope. The node retrieves up to 50 messages sorted newest first.
Step 2: Configure the O365 Clean Response v3 Node
Section titled “Step 2: Configure the O365 Clean Response v3 Node”Open the node and populate the following lists:
- VIP Email Addresses - enter specific sender addresses that should receive elevated attention scores
- VIP Domains - enter domain names (without the
@) for entire organizations that should receive elevated scores - Excluded Email Addresses - enter addresses that should be completely ignored in the summary
Step 3: Set the Attention Config Node
Section titled “Step 3: Set the Attention Config Node”Review the attention_config values and adjust the numeric weights to match your team’s priorities. The defaults are suitable for most use cases, but consider:
- Increasing
attention_critical_finance_servicefor finance-focused roles - Lowering
attention_already_read_penaltyif important read emails are being excluded - Setting
attention_vip_thresholdto control what qualifies as top-priority
Step 4: Set the User Identity
Section titled “Step 4: Set the User Identity”Ensure user_info.ms_user_name is set to the user’s primary Microsoft 365 email address. This value is used for all To/Cc/Bcc role checks and mention detection.
Step 5: Configure Delivery (Optional)
Section titled “Step 5: Configure Delivery (Optional)”Connect a delivery node to send the HTML summary via email or Teams message. The HTML output is inline-styled for compatibility with Outlook and most email clients.
Usage Examples
Section titled “Usage Examples”Example 1: Daily Executive Inbox Snapshot
Section titled “Example 1: Daily Executive Inbox Snapshot”- Run InboxLens each morning against an executive’s mailbox
- Highlight:
- Important finance and contract threads
- Escalations from key clients or vendors
- Direct requests from internal leadership
- Deliver the HTML summary via email or Teams so they see a prioritized list instead of raw inbox
Example 2: Account Manager Client-Facing Triage
Section titled “Example 2: Account Manager Client-Facing Triage”- Mark key client domains as VIP
- Use the summary to:
- Identify threads where the account manager owes a reply
- Catch upcoming renewals or invoice questions
- Call out scheduling emails for QBRs and check-ins
- Use the “Suggested action” text as a lightweight task list for the day
Example 3: Finance and Billing Monitoring
Section titled “Example 3: Finance and Billing Monitoring”- Configure VIPs for:
- Vendor billing systems
- Internal finance distribution lists
- AR/AP addresses
- Increase
attention_critical_finance_serviceso overdue invoices, service-interruption warnings, and failed payment notices rise to the top of the summary
Backend Architecture (High-Level)
Section titled “Backend Architecture (High-Level)”At a high level, the InboxLens flow is:
-
Office 365 Fetch Node
- Calls Microsoft Graph / Outlook API
- Retrieves the most recent messages (up to 50, newest first)
-
O365 Clean Response v3 Node
- Normalizes message structure (fields like
from,to,cc,bcc,subject,latest_text,has_attachments,importance,flag,is_read) - Computes
sender_companyfrom the sender’s email domain - Applies VIP and excluded sender logic
- Outputs a cleaned JSON payload (input
{{a}}for the LLM node)
- Normalizes message structure (fields like
-
Attention Config Node
- Exposes configuration UI (for the
attention_configvalues) - Produces the
attention_configobject (input{{b.attention_config}}for the LLM node)
- Exposes configuration UI (for the
-
InboxLens LLM Node
- Uses the system prompt with:
- Cleaned messages from
{{a}} - Scoring settings from
{{b.attention_config}} - User identity from
user_info.ms_user_name
- Cleaned messages from
- Groups, scores, categorizes, sorts, and renders the final HTML
- Uses the system prompt with:
-
Delivery Node (Optional)
- Sends the HTML summary via email, Teams, or any supported channel
All numeric scoring behavior is controlled via attention_config, so tuning does not require prompt changes.
Key Notes
Section titled “Key Notes”- InboxLens only works with the set of messages it receives (default: last 50). It does not query older history unless the upstream fetch node is changed.
- VIP logic is applied during cleaning. When both a VIP email and domain match, the effect is controlled by
attention_stack_email_and_domain. - Role handling is based exclusively on
user_info.ms_user_name, so this value must match the user’s primary email address. - Cc-only FYI messages are intentionally deprioritized unless the content clearly involves the user or carries risk (especially finance/security).
Troubleshooting
Section titled “Troubleshooting”Issue: Some emails you expect to see are missing.
Check:
- Are they older than the last 50 messages?
- Is the sender listed as an excluded address?
- Is the thread fully read, unflagged, and low-priority with no questions or risk?
Issue: Attention scores feel too high or too low.
Actions:
- Adjust key values in
attention_config:- Lower or raise
attention_contains_question,attention_high_importance,attention_vip_known_sender, etc.
- Lower or raise
- Increase
attention_already_read_penaltyif read items still dominate the summary. - Tune
attention_vip_thresholdto change what is treated as “top priority”.
Issue: Cc emails are ranking too high.
Actions:
- Confirm the role logic in the system prompt has not been modified.
- Check that scores for VIP and questions are not overpowering the To vs Cc distinction.
- Review example messages to confirm they truly are “FYI” and not mentioning the user directly.
Issue: Finance or service-risk emails are not standing out.
Actions:
- Increase
attention_critical_finance_service. - Verify that the messages include trigger phrases (for example “past due”, “overdue”, “service interruption”, “final notice”).
- Consider marking key billing senders/domains as VIP.
Issue: The HTML summary does not render correctly in the email client.
Actions:
- Confirm the delivery node is sending the output as HTML, not plain text.
- The summary uses inline styles and is tested for Outlook compatibility. Non-Outlook clients may render minor visual differences.
Q: Why does InboxLens only look at the latest 50 emails?
A: This provides a good balance between relevance and performance. In practice, the most recent 50 messages are enough to capture current priorities without overloading the model. If more history is needed, the upstream fetch node can be adjusted.
Q: How does VIP email vs VIP domain work?
- VIP email - single address, such as
ceo@client.com - VIP domain - all addresses at
@client.com
If both match, the stacking behavior depends on attention_stack_email_and_domain.
Q: Are read emails completely ignored?
A: No. Read emails are still included if they are important (VIP, flagged, high importance, questions, finance/service risk). They simply receive a penalty via attention_already_read_penalty so that brand-new items usually rank higher.
Q: How does InboxLens know who the user is?
A: It uses user_info.ms_user_name as the definitive user email. To/Cc/Bcc checks and direct-mention detection all depend on this value.
Q: Can the HTML layout be customized?
A: Yes, to a degree. Text, labels, and minor layout details are controlled by the system prompt. Larger structural changes (new sections, different card layout) require updating the prompt and verifying that downstream consumers can handle the new format.
Q: Can InboxLens be run automatically on a schedule?
A: Yes. The agent can be connected to a scheduler trigger to run at a fixed time each day, for example every morning before the start of the workday. The delivery node then sends the HTML summary to the configured recipient automatically.