Mental Model
Email is for asynchronous communication with audit trail. Unlike chat (instant, casual), emails are formal, searchable, and have recipients/CC/threads.
Trigger Patterns
User Intent Action Requires Approval
"Check email" / "Any new mail?" email_list
No
"Read email from X" email_read
No
"Send email to X" email_send
Yes
"Draft email" email_draft
No
"Archive/delete email" email_move / email_delete
Delete: Yes
Pre-flight Checks (Before Sending)
CRITICAL: Always confirm before email_send
-
Show full email: To, CC, Subject, Body
-
Check for sensitive content (passwords, tokens, confidential)
-
Warn if body mentions "attachment" but none attached
-
Alert if sending outside business hours (user's timezone)
Anti-Patterns (NEVER)
-
Don't send without user confirmation
-
Don't guess recipient addresses - ask if unclear
-
Don't include passwords/API keys in emails
-
Don't send empty emails or ones with placeholder text
-
Don't delete without showing what will be deleted
Common Queries
Check unread:
email_list unreadOnly=true limit=10
From specific sender:
email_list from="boss@company.com"
Search by subject:
email_list subject="Report"
After sending important email, notify:
notify_send title="Email Sent" content="Quarterly report sent to boss@company.com" priority="high"
Setup Required
.config/email.json must exist (user provides credentials):
{ "imap": {"host": "imap.gmail.com", "port": 993, "auth": {"user": "...", "pass": "..."}}, "smtp": {"host": "smtp.gmail.com", "port": 587, "auth": {"user": "...", "pass": "..."}} }