Skip to content

Email Assistant

Open your inbox and Cuttlefish has already sorted everything: 3 important, 12 newsletters, 5 spam. Reply drafts are ready for the important ones — you just confirm and send.

Scenario Description

You receive a large volume of email every day and spend too much time filtering and replying. Let Hermes Agent manage your IMAP mailbox automatically through the himalaya skill.

Prerequisites

  • himalaya CLI installed
  • ✅ IMAP/SMTP mailbox (Gmail, Outlook, corporate email, etc.)
  • himalaya skill installed

Step 1: Install himalaya CLI

bash
# macOS
brew install himalaya

# Linux
curl -sSL https://github.com/pimalaya/himalaya/releases/latest/download/himalaya-linux-amd64 -o ~/.local/bin/himalaya
chmod +x ~/.local/bin/himalaya

Step 2: Configure Your Mailbox

bash
# ~/.config/himalaya/config.toml
[accounts.default]
email = "you@example.com"
display-name = "Your Name"
default = true

[accounts.default.imap]
host = "imap.gmail.com"
port = 993
login = "you@example.com"
# Use OAuth2 or App Password

[accounts.default.smtp]
host = "smtp.gmail.com"
port = 465
login = "you@example.com"

Important Note for Gmail Users

Gmail requires an "App Password" for third-party client access:

  1. Go to Google Account Security Settings
  2. Enable two-step verification
  3. Generate a new password under "App Passwords"
  4. Use this 16-character password in place of your real password
bash
# Verify after configuration
himalaya account check
# Output: ✓ Connection successful

💡 For corporate email (Outlook, Tencent Enterprise Mail, etc.), refer to the himalaya official docs for the corresponding configuration template.

Step 3: Test the Connection

You: Check my inbox, how many unread emails are there?
Hermes: [Connecting to IMAP...] 
        Unread emails: 23
        Important: 3 (from your boss, client, HR)
        Newsletters: 15
        Other: 5

Step 4: Auto-Classify

You: Move all newsletter and promotional emails to the "Subscriptions" folder,
    only keep personal emails and important notifications in the inbox.

Hermes will intelligently classify based on sender, subject, email headers, etc.:

Hermes: Classification complete:
        Moved to "Subscriptions": 12
          - Medium Daily Digest ×3
          - GitHub Notifications ×4
          - Product Hunt Weekly ×1
          - ...
        Kept in inbox: 6
          - Boss: Q2 goals discussion
          - Client: Contract revision feedback
          - HR: Leave approval notice
          - ...

Custom Classification Rules

You: Classify future emails by these rules:
    1. Emails containing "CI/CD" or "build failed" → mark as "Important"
    2. Emails from @company.com domain → keep in inbox
    3. All marketing emails → auto-archive
    
Hermes: Classification rules saved. Future emails will be processed automatically.

Step 5: Generate Reply Drafts

You: Help me reply to my boss's email about project progress update:
    - Phase 1 is complete
    - Phase 2 expected to finish next Wednesday
    - No blockers
    Keep the tone formal but not stiff.

After Hermes generates the draft, you can edit, confirm, and then send.

Step 6: Scheduled Inbox Patrol

You: Check the inbox every morning at 8 AM and afternoon at 2 PM,
    generate a summary of important emails and send to Feishu,
    auto-archive unimportant ones.

Advanced Tips

  • Multi-account management: Manage work and personal email simultaneously
  • Attachment extraction: Auto-download attachments from specific senders
  • Email translation: Auto-translate foreign-language emails and summarize them
  • Calendar extraction: Extract meeting times from emails and add to calendar

Further Reading

Released under CC BY-NC-SA 4.0 | GitHub