Inbox Agent UI and User Experience Requirements
1. Purpose
This document defines the user experience, primary screens, interaction patterns, information hierarchy, and usability requirements for the Inbox Agent.
The goal is not to reproduce a traditional email client.
The goal is to provide a clear operational interface for:
- What needs attention
- What requires a response
- What the user is waiting on
- What can safely disappear into the background
- What the agent has done
- What the agent recommends
- What requires approval
The experience should remain compatible with either:
- A web application
- A future native iOS application
- A future custom mail client
The UI must not assume Outlook is the permanent presentation layer.
2. UX Principles
The application should follow these principles:
ATTENTION OVER INBOX COUNT
ACTION OVER FOLDER NAVIGATION
CONVERSATIONS OVER INDIVIDUAL MESSAGES
EXCEPTIONS OVER NOISE
EXPLANATION OVER MYSTERY
REVERSIBILITY OVER FEAR
CONSISTENCY OVER PROVIDER-SPECIFIC BEHAVIOR
3. Primary User Goal
The default experience should answer:
What do I need to deal with?
The application should not force the user to begin by choosing a mailbox.
Mailbox location is secondary metadata.
4. Primary Navigation
Recommended primary navigation:
Home
Needs Me
Respond
Waiting
System Alerts
Read Later
Mail
Search
Rules
Identity
Review
Activity
Settings
Administrative or low-frequency items may be grouped separately:
Migration
Provider Health
Audit
Developer / Diagnostics
5. Home Dashboard
The Home screen should provide a concise operational summary.
Example:
Good morning
Needs Action 4
Responses Owed 3
Waiting 6
System Alerts 1
Important New 5
Read Later 8
Processed quietly 73
The user should be able to understand their workload in seconds.
6. Home Dashboard Sections
Suggested sections:
Needs Me
Waiting on Others
Important New Mail
System Exceptions
Agent Activity
Identity Hygiene
The dashboard should avoid large lists of routine email.
7. Needs Me
This should be the central working view.
It should combine:
ACTION
RESPOND
SYSTEM_ALERT
High-priority unresolved mail
Low-confidence items requiring review
Default sort should emphasize:
Priority
Due date
Age
Human relevance
rather than received timestamp alone.
8. Work Item Presentation
Each item should clearly answer:
Who is this from?
What is it about?
Why am I seeing it?
What do I need to do?
How urgent is it?
Example card:
Jane Smith
Re: Revised Proposal
Respond
High
Jane is asking whether the revised proposal is approved.
Received 2h ago
Professional · jason@jasonkoch.io
9. Work Item Quick Actions
Common actions should be available without opening the full message.
Examples:
Reply
Draft Reply
Mark Done
Move to Waiting
Read Later
Archive
Snooze
Change Priority
Destructive or uncommon actions should not dominate the interface.
10. Conversation-Centric UX
The UI should generally display conversations rather than every individual message as independent work.
A conversation should show:
Participants
Current subject
Last activity
Current attention state
Who owes the next action
Priority
Message count
The latest relevant message should be easy to expand.
11. Conversation Timeline
Opening a conversation should provide a timeline.
Example:
Aug 28
Jane requested revised document.
Aug 29
Jason sent revision.
Sep 1
Jane asked for approval confirmation.
Current state:
RESPOND
The timeline may be partially agent-generated but must remain traceable to actual messages.
12. Agent Context Panel
A conversation should include an Agent panel.
Suggested content:
Summary
Current State
RESPOND
Priority
HIGH
Why
Direct question requiring confirmation.
Suggested Next Step
Reply with approval status.
Waiting?
No
Confidence
High
13. Explainability Interaction
The user should be able to select:
Why?
for any:
Classification
Priority
Attention state
Identity recommendation
Rule execution
Archive action
The explanation should be short and specific.
Example:
I marked this Respond because the sender asked, "Can you confirm the final amount?" and no reply from you appears later in the thread.
14. Manual Correction
Every agent-derived field should be editable where appropriate.
Examples:
Not Action
This is Waiting
Lower Priority
This is Personal
Wrong Project
Keep this sender important
Corrections should be one or two interactions, not a settings workflow.
15. Correction Feedback
After a correction, the UI may say:
Updated.
You've made this correction for this sender 4 times.
Create a rule?
Options:
Create Rule
Not Yet
Never Suggest for This
16. Respond View
The Respond screen should be a focused queue.
Each row/card should show:
Sender
Subject
Summary of requested response
Age
Priority
Mailbox identity
Primary actions:
Draft
Reply
Done
Waiting
Dismiss
17. Draft Experience
When generating a draft, the UI should show:
Original request summary
Generated draft
Target sender
Sending identity
Thread
The sending identity must be explicit.
Example:
From:
jason@jasonkoch.io
This prevents replying from the wrong account or alias.
18. Draft Safety
Generated drafts must never appear to have been sent.
The UI must visually distinguish:
Suggested Draft
Saved Draft
Sent Message
19. Waiting View
Waiting should look like a follow-up queue rather than an inbox.
Example:
Blue Shield Refund
Waiting on:
Customer Service
Last sent:
Aug 29
Waiting:
7 days
Expected:
No explicit date
Suggested:
Follow up
20. Waiting Aging
Waiting items may visually indicate age.
Conceptual states:
Recent
Approaching Follow-Up
Stale
Overdue
Avoid excessive color dependence; text and icons should also communicate state.
21. Follow-Up Action
For stale waiting items, the UI should allow:
Draft Follow-Up
Change Follow-Up Date
Mark Resolved
Dismiss Waiting
22. System Alerts
System alerts should be terse and operational.
Example:
Vercel Deployment Failed
PocketSomm
Production
Failed 18 minutes ago
[View Details]
[Open Original]
[Mark Resolved]
The system mailbox should feel closer to an operations feed than a traditional inbox.
23. System Summary
Routine activity should be collapsed into summaries.
Example:
Today
GitHub
42 successful workflow notifications archived
Vercel
9 successful deployments archived
1 failed deployment requires attention
24. Read Later
The Read Later view should be intentionally calm.
Suggested presentation:
Title / Subject
Sender / Publication
Short summary
Estimated reading value
Received date
Actions:
Open
Archive
Keep
Promote to Action
Dismiss
25. Unified Mail View
The Mail screen should provide traditional mailbox browsing when needed.
Users should be able to choose:
All Mail
Specific account
Specific folder/label
Sent
Drafts
Archive
This is secondary to attention views but still necessary.
26. Mailbox Selector
Mailbox selection should show both purpose and address.
Example:
Personal
jskoch@msn.com
Professional
jason@jasonkoch.io
Commercial
Jason.s.koch@gmail.com
System
platypus.software.dev@gmail.com
Purpose should be more visually prominent than provider.
27. Provider Visibility
Provider should remain visible but secondary.
Example:
Personal
jskoch@msn.com
Microsoft
The user should not need to care about provider mechanics during normal use.
28. Alias Visibility
Messages delivered through an alias should indicate that identity.
Example:
Received as:
jason@jasonkoch.ai
This is especially important when generating replies.
29. Search Experience
Search should accept natural language directly.
Example input:
receipt for my monitor last year
The system may translate this into structured criteria.
The user should be able to inspect or refine those criteria.
30. Search Filters
Search filters should include:
Account
Identity
Sender
Recipient
Date
Attention
Classification
Priority
Has attachment
Project
Historical
Original provider
31. Search Result Presentation
Each result should show:
Subject
Sender
Date
Relevant snippet
Mailbox
Identity
Classification
Historical status if applicable
Search should not obscure where the message physically lives.
32. Natural-Language Command Bar
The application should include a command/search interface capable of both retrieval and action requests.
Examples:
Show what I owe people.
Find all receipts from Apple in 2025.
Archive successful GitHub workflow mail.
Why am I still waiting on this?
Show mail that should probably go to Gmail.
For mutations, the system should preview the operation before execution where appropriate.
33. Command Preview
Example:
Archive successful GitHub workflow notifications
Matched:
1,842 messages
Accounts:
platypus.software.dev@gmail.com
Action:
Archive
[Review Sample]
[Run]
[Cancel]
34. Identity Hygiene Screen
Identity Hygiene should focus on recurring patterns, not individual trivial messages.
Example:
Amazon
Currently received at:
jskoch@msn.com
Suggested:
Jason.s.koch@gmail.com
Volume:
18 messages/month
Reason:
Predominantly shopping and marketing.
35. Identity Recommendation Actions
Actions:
Accept Recommendation
Keep Current Identity
Ignore Sender
Create Rule
Accepting a recommendation should initially mean:
Mark recommendation accepted
Provide guidance
not automatically log into an external service and modify the account.
36. Rules Screen
The Rules screen should be understandable without reading code.
Example:
Archive Successful GitHub Workflows
When:
Sender is github.com
Subject contains "workflow run"
Message indicates success
Then:
Mark read
Archive
Set priority Background
Status:
Active
Matched:
1,847
37. Rule Testing UX
Before enabling a rule:
Test against existing mail
should produce:
Matched:
1,847
Likely correct:
1,842
Needs review:
5
[Review Sample]
[Enable Rule]
38. Review Queue
The Review screen should aggregate uncertainty and approvals.
Possible sections:
Low-Confidence Classification
Suggested Rules
Bulk Actions
Identity Recommendations
Migration Decisions
Deletion Candidates
This avoids scattering approval requests across the product.
39. Approval Card
Example:
Suggested Rule
Archive messages from Retailer X
Reason:
You archived 34 of the last 35 messages.
Would affect:
~8 messages/month
[Approve]
[Modify]
[Reject]
40. Activity Feed
The Activity screen should answer:
What has the agent been doing?
Example:
10:42
Archived 12 successful GitHub notifications
10:40
Classified Blue Shield message as Respond
10:38
Moved conversation to Waiting after your reply
10:33
Suggested identity change for Amazon
41. Undo From Activity
Where reversible:
[Undo]
should be available directly from recent activity.
42. Audit Detail
Activity is a user-friendly view.
Audit is the detailed technical record.
Advanced users should be able to inspect:
Rule ID
Provider operation
Old state
New state
Confidence
Correlation ID
Timestamp
43. Notification Philosophy
The application should not notify for every new message.
Push notifications should be limited to:
CRITICAL
Selected HIGH
User-defined sender alerts
Explicit follow-up reminders
Routine mail belongs in summaries.
44. Mobile UX
The UX must be designed so primary workflows translate cleanly to mobile.
Primary mobile actions:
Review Needs Me
Reply
Approve Draft
Mark Done
Move to Waiting
Archive
Review Alerts
Search
Administrative configuration may remain web-first initially.
45. Future Native iOS Client
The backend and UX model should permit a native iOS application.
A future iOS client may provide:
Unified inbox
Message reading
Thread view
Drafting
Search
Push notifications
Rule approvals
Waiting management
Identity hygiene
Agent interaction
The backend APIs must not assume the only consumer is a Next.js UI.
46. Future Custom Mail Client
If Outlook proves limiting, the Inbox Agent may evolve into the user's primary mail client.
Therefore the domain model should support future traditional mail capabilities such as:
Compose
Reply
Reply All
Forward
Attachments
Drafts
Sent mail
Folder browsing
Message flagging
Read/unread
Delete
Move
These are not all required for the initial Inbox Agent UI.
47. Outlook Coexistence
Initially, Outlook may continue to be used for ordinary mail reading and sending.
The Inbox Agent must tolerate this.
Example:
Jason replies in Outlook.
Inbox Agent should detect the sent reply and update:
RESPOND
→ WAITING
where appropriate.
48. Contact UX Future Boundary
Contact management is not initial scope, but the UI architecture should reserve the concept of:
People
A future People section may support:
Contact search
Deduplication
Merge review
Identity linkage
Source provenance
Preferred email
Relationship notes
49. Contact Display in Mail
Even before full contact consolidation, message views should support a normalized person display where possible.
Example:
Jane Smith
jane@example.com
Known Contact
Professional
instead of presenting only raw addresses.
50. Calendar UX Boundary
The application should not attempt to recreate Fantastical.
Future calendar context may appear inside mail.
Example:
Flight confirmation
This trip appears on your calendar:
Boston
Oct 14–17
The primary calendar interaction remains external.
51. Keyboard Efficiency
The web application should support efficient keyboard operation.
Potential shortcuts:
j / k
Next / previous item
r
Reply
a
Archive
w
Waiting
e
Mark done
/
Search
Exact shortcuts should be configurable and avoid conflicting with browser behavior.
52. Bulk Selection
Users should be able to select multiple messages/conversations.
Bulk actions:
Archive
Mark read
Set classification
Set priority
Dismiss
Create rule from selection
The affected count should always remain visible.
53. Snooze
A user may temporarily defer an item.
Example:
Snooze until:
Tomorrow
Monday
Next week
Custom
Snooze is a visibility state.
It should not alter whether the underlying message remains ACTION or RESPOND.
54. Due Dates
Action and response items should optionally support due dates.
Due dates may come from:
Explicit user entry
Detected message language
External deadline
Agent suggestion
Agent-inferred due dates should be visibly marked as inferred.
55. Priority Editing
Priority should be quickly adjustable.
Example:
Critical
High
Normal
Low
Background
Repeated priority corrections may contribute to rule suggestions.
56. Confidence Visibility
AI confidence should not clutter every screen.
Show it when:
Confidence is low
User asks why
Action is consequential
Message is in Review
High-confidence routine classifications need not display numerical probabilities.
57. Empty States
Empty states should reinforce the attention model.
Example:
You're caught up.
No messages currently need your attention.
Not:
Inbox Zero!
unless that specifically reflects actual message state.
58. Cross-Device State
User state should synchronize across clients.
Examples:
Marked Done on iPhone
→ reflected on web
Rule approved on web
→ active for mobile
Conversation opened in Outlook
→ provider read state eventually reconciled
59. Accessibility
The application should support:
Keyboard navigation
Screen reader semantics
High contrast
Dynamic text where applicable
Accessible focus states
Non-color-only status indicators
Future iOS implementation should support native accessibility conventions.
60. Responsive Design
The web interface should support:
Desktop
Tablet
Mobile browser
without requiring entirely different mental models.
61. Desktop Layout
Suggested desktop layout:
┌──────────────┬──────────────────────┬────────────────────┐
│ Navigation │ Work / Message List │ Conversation / │
│ │ │ Agent Context │
│ │ │ │
└──────────────┴──────────────────────┴────────────────────┘
This permits fast triage while maintaining context.
62. Mobile Layout
Mobile should use progressive navigation:
Dashboard
↓
List
↓
Conversation
↓
Agent / Actions
Primary actions should remain reachable without complex menus.
63. Visual Priority
Visual prominence should follow:
Critical attention
High-priority action
Human response required
Waiting overdue
Routine mail
Background mail
Do not visually prioritize:
Unread merely because unread
Provider branding
Folder depth
Raw message volume
64. Color Usage
Color may reinforce:
Critical
High
Waiting
System
Background
but status must never depend solely on color.
65. Agent Presence
The AI should feel like an assistant, not a separate chatbot pasted onto the side of a mail application.
Agent interactions should appear contextually:
Summarize
Why?
Draft
What am I waiting for?
Create rule
Find related mail
A general conversational interface may also exist.
66. Conversational Agent
The application may include a persistent command/assistant surface.
Example:
Jason:
Anything important since lunch?
Agent:
Three things need attention:
1. Blue Shield responded...
2. A Vercel deployment failed...
3. Jane Smith needs confirmation...
The conversation should link directly to underlying messages.
67. Agent References
Agent answers should never become disconnected prose.
Every identified message, conversation, alert, or rule should be openable from the response.
68. Summary Drill-Down
Dashboard metrics must be interactive.
Example:
Responses Owed
3
selecting it opens the exact three conversations represented by the count.
69. Daily Brief UX
The Daily Brief should be accessible in-app even if future delivery is also supported via notification or email.
Example:
Morning Brief
Needs you
4
Waiting
6
New important mail
3
System
1 alert
Processed quietly
73
70. Daily Brief Detail
Each section should allow drill-down.
The brief should not require reading a large AI-generated narrative.
Short summaries plus links are preferred.
71. First-Time Setup
Initial setup should be guided.
Suggested flow:
Connect accounts
→ identify mailbox roles
→ identify aliases
→ run read-only inventory
→ show initial findings
→ review automation boundaries
→ enable first rules
72. Account Connection UX
The UI should clearly explain requested access.
Example:
Microsoft Personal
Current access:
Read mail
Requested for organization:
Read + modify mail
Why:
Needed to archive and categorize messages.
Avoid opaque permission prompts whenever the application can explain them beforehand.
73. Automation Level
The user should have a clear control for automation boundaries.
Possible conceptual settings:
Observe
Suggest
Assist
Automate Approved Rules
The application should not present a vague "AI autonomy" slider.
Permissions should remain action-specific.
74. Rule-Level Autonomy
Each rule should specify whether it may:
Suggest only
Execute automatically
Require approval
Example:
Archive successful GitHub notifications
Automatic
Delete old promotions
Approval required
75. Trust-Building UX
Early releases should make agent behavior visible.
Users should be able to see:
What was processed
What changed
Why it changed
What can be undone
As confidence grows, routine low-risk activity may become less prominent.
76. Migration UX
Migration should have a dedicated administrative workflow.
Sections:
Inventory
Folder Mapping
Duplicates
Dry Runs
Migration Runs
Reconciliation
Cleanup
Migration should not be mixed into normal inbox operation.
77. Migration Progress
Example:
iCloud Historical Migration
Processed
12,483 / 18,902
Copied
11,721
Duplicates
721
Review
31
Errors
10
78. Migration Exceptions
Users should be able to review:
Conflicting duplicates
Messages that could not be imported
Unknown destination identity
Attachment failures
without digging through logs.
79. Provider Health UX
Settings or administration should show:
Personal Microsoft
Healthy
Professional Microsoft
Healthy
Commercial Gmail
Healthy
System Gmail
Healthy
iCloud
Read-only / Last sync ...
Unhealthy states should indicate what action is required.
80. Offline / Stale Data
If a provider is unavailable, the UI should explicitly show:
Data may be stale.
Last successful sync: 10:42 AM.
The app should never silently present stale data as current.
81. Error UX
User-facing errors should explain:
What failed
What was affected
Whether anything changed
What the user can do
Whether retry is automatic
Example:
Gmail could not be synchronized. Microsoft mail is unaffected. No Gmail actions were executed.
82. Destructive Action UX
Permanent deletion should require strong confirmation.
The UI should show:
Number of messages
Accounts affected
Whether action is reversible
Why these messages were selected
83. Send UX
If sending is later enabled inside Inbox Agent, sending must always display:
From identity
Recipients
Thread
Draft content
Attachments
The sending identity should never be implicit.
84. Future Contacts Section
A future contact-management interface should likely contain:
People
Duplicates
Merge Review
Sources
Sync Status
The UI should distinguish:
Canonical person
Contact records from providers
Email identities
85. Contact Merge UX
Example future screen:
Jason Smith
Sources:
iCloud
Google
Microsoft
Possible duplicate:
Jason A. Smith
Matching:
Phone
Email
Company
[Merge]
[Keep Separate]
[Review Fields]
86. Contact Field Provenance
For merged contacts, individual fields may retain source information.
Example:
Mobile
(555) 555-1212
Source: iCloud
Work Email
...
Source: Microsoft
This future requirement should influence contact architecture later.
87. Calendar Context
Calendar context should be presented only when relevant.
Examples:
This reservation overlaps an existing calendar event.
This flight appears related to your Boston trip.
This meeting request is already on your calendar.
The UI should deep-link into Fantastical or the underlying calendar where practical rather than recreating calendar management.
88. Scope Boundary
Initial Inbox Agent UI does not need to implement:
Full calendar UI
Full contact editor
Full replacement mail composer
Advanced attachment editor
Multiple-user collaboration
These remain future extensions.
89. UI Acceptance Criteria
The UI satisfies the initial product requirements when:
- The user can see all meaningful work without visiting every mailbox.
- ACTION, RESPOND, WAITING, and SYSTEM_ALERT are visually distinct.
- Mailbox and identity remain visible without dominating the interface.
- The user can understand why the agent classified or acted on a message.
- Agent classifications can be corrected quickly.
- Repeated corrections can produce rule suggestions.
- Drafts are clearly distinguished from sent mail.
- Waiting conversations can be tracked and followed up.
- System mail is summarized by exception.
- Search spans mailboxes and metadata.
- Rules can be tested before activation.
- Approvals are centralized.
- Recent automated actions are visible and reversible.
- Provider failures are clearly surfaced.
- The design works on desktop and can translate cleanly to a native iOS experience.
- Nothing in the UI architecture requires Outlook to remain the permanent mail client.
