Install
openclaw skills install email-manager-proComprehensive AI email attendant for OpenClaw agents. Use this skill whenever the user asks about email, wants to check or sort their inbox, asks about important messages, wants to reply to an email, asks what emails need their attention, wants to set up email monitoring, wants to manage spam, or mentions anything about organizing their mailbox. Also triggers for scheduling email checks, managing email folders, reviewing pending or high-priority messages, or asking about the daily email report. This skill assumes an email MCP or equivalent tool is already connected to the agent — it does not set one up. Trigger this skill proactively whenever email management, inbox organization, or email-related workflows are mentioned.
openclaw skills install email-manager-proA complete email attendant for OpenClaw. Organizes inboxes, kills spam, surfaces important emails, tracks emails awaiting your reply, and keeps a rolling important-message log when phone notifications are not available. Works with any connected email MCP or tool — the connection method is irrelevant as long as email list/read/send/move/folder operations are available.
Read
references/rules-and-state.mdbefore any processing run — it contains your live rule sets, folder matrix, approved senders, and notification log. If the file does not yet exist, initialize it using the template in that reference file's header.
Always ensure these folders exist before processing. Create any that are missing (use the folder
operation with action create). Do NOT create others without user approval (see Folder Management).
| Folder | Purpose |
|---|---|
| INBOX | Unprocessed / new arrivals |
| /1_Important | High-priority emails needing attention |
| /2_WaitingReply | Emails where a response is expected from the user |
| /3_AI_Review | Draft responses awaiting user approval |
| /4_Processed | Handled / archived |
| /Spam | Junk and solicitations |
| (approved newsletter folders) | Created per approved sender, named clearly e.g. /NL_TechCrunch |
OpenClaw schedules email processing via its built-in scheduler/heartbeat. When the user sets or changes the check interval, update the scheduled job — do not just note the preference.
Default schedule: every 30 minutes per inbox.
When the user says something like "check email every hour" or "switch to every 15 minutes":
Each scheduled run calls the Full Processing Cycle below.
Run this when triggered by the scheduler or when the user asks to "check email", "sort inbox", etc. Process up to 50 emails per inbox per run. If more remain, the next scheduled run continues.
Read references/rules-and-state.md. Note:
Use the email tool list operation: type=emails, folder=INBOX, emails=50.
For each email apply these rules in order (first match wins):
Mark as Spam if ANY of the following are true:
Solicitor Rule: A sender asking for a reply (e.g., "let me know if you're interested") does NOT automatically create a WaitingReply item. If the email itself is a solicitation, it goes to Spam regardless of how it's phrased.
Move to /Spam. Add sender domain to spam list in state (unless it is a major legitimate service
domain like gmail.com, outlook.com — add the full address instead).
If sender is on the approved sender list:
/NL_TechCrunch)./NL_<SenderName> and update the
folder routing matrix.Flag as Important if ANY of the following are true (baseline — user can extend via rules):
Move to /1_Important. Log to notification queue in state (see Notifications).
An email belongs in /2_WaitingReply if ALL of the following are true:
Move to /2_WaitingReply. Log to notification queue.
Check the folder routing matrix in state. If the email clearly matches a folder's description, move it there and mark as processed.
If no folder matches, move to /4_Processed for later review.
After processing, update references/rules-and-state.md:
See Notifications section. If phone/Twilio MCP is available, send alerts. Otherwise log only.
The /4_Processed folder holds emails that didn't match any folder. Periodically (or when user
asks), review it:
/4_Processed./Bank_Chase folder for them?"When the user asks to respond to an email:
/1_Important, then /2_WaitingReply.send operation with type=respond and the original email ID./4_Processed.When the user asks to write a new email:
Two modes depending on what's available:
Send WhatsApp/SMS alerts for:
/1_Important — include sender, subject, one-line summary./2_WaitingReply has emails, send a digest listing them (sender + subject).Log all notifications to references/rules-and-state.md under the notification log section.
The log retains the last 7 days of important-email events. Prune older entries each run.
User can ask at any time:
/2_WaitingReply.When Twilio/phone MCP becomes available, update the processing cycle to use Mode A automatically.
Generated and stored every 24 hours. Stored in state under daily_report section (current day +
previous 6 days retained). Report covers the previous 24-hour window:
DATE: [date]
─────────────────────────────────────
Important emails received: #
Important emails unaddressed: #
Emails awaiting your reply: #
Emails processed: #
Spam filtered: #
EMAIL LOG (Important + WaitingReply + Processed, excludes spam):
TO: [our address] | FROM: [sender] | SUBJECT: [subject]
...
If phone is available, send at a consistent daily time (default 7:00 AM user local time — ask user to confirm timezone on first run). Otherwise store and make available on request.
| User says | Action |
|---|---|
| "Check my email" / "Sort my inbox" | Run Full Processing Cycle |
| "What emails need my attention?" | List /1_Important and /2_WaitingReply |
| "What's in my important folder?" | List /1_Important |
| "What emails am I waiting to reply to?" | List /2_WaitingReply |
| "What did I send recently?" | List sent folder, summarize last 10 |
| "Show me today's report" / "Daily report" | Display daily report from state |
| "What important emails came in this week?" | Read notification log from state |
| "Check the processed queue" | Run Processed Queue Review |
| "That email from X is not spam" | Add sender to approved list; move email from Spam back to Inbox; re-classify |
| "Mark X as important" | Add sender/keyword to important rules in state |
| "Approve [newsletter name]" | Add to approved senders; create newsletter folder; route future emails |
| "Check email every [interval]" | Update scheduled job in OpenClaw + confirm |
| "Reply to [description]" | Find email, draft response, present for approval |
| "Write an email to [person] about [topic]" | Draft, present, await approval, send |
| "How many emails are waiting in processed?" | Count /4_Processed, summarize grouping opportunities |
/NL_ folder. Regular approved contacts just bypass spam
filtering and route normally.On first use for a new inbox:
references/rules-and-state.md from the template.references/rules-and-state.md — Live state: spam list, approved senders, folder routing
matrix, important-email rules, notification log, daily report history, sent-history cache.
Read this at the start of every processing run. Write updates at the end of every run.Keep processing runs focused. Work 50 emails at a time. Be decisive on spam — when in doubt and there is no prior conversation history with the sender, it's spam. Surface only genuinely important or actionable emails to the user's attention. The goal is zero inbox, zero noise.