Email Triage Workflow
Automate your inbox with OpenClaw: morning summaries, priority sorting, auto-drafted responses, and smart categorization.
Email Triage Workflow
Email triage is the most popular OpenClaw workflow -- and for good reason. If you receive more than 50 emails a day, this automation can save you 30-60 minutes every morning.
What You Will Build#
An email triage system that:
- Scans your inbox every morning (or continuously)
- Categorizes every email by priority and type
- Generates a summary sent to you via Telegram or Slack
- Drafts responses for routine emails you can approve with one tap
Prerequisites#
- OpenClaw installed and running (Installation guide)
- A messaging platform connected (Messaging setup)
- An LLM configured (LLM setup)
Step 1: Install Email Skills#
# For Gmail openclaw skill install gmail-reader # For Outlook/Office 365 openclaw skill install outlook-reader # For any IMAP server openclaw skill install imap-reader
For Gmail, generate an App Password:
- Go to myaccount.google.com/apppasswords
- Create an app password for "OpenClaw"
- Configure:
openclaw config set gmail.appPassword "xxxx-xxxx-xxxx-xxxx"
Step 2: Create the Triage Agent#
Create ~/.openclaw/agents/email-triage/AGENT.md:
# Email Triage Agent You are an email triage assistant. Your job is to help me manage my inbox efficiently. ## Categories Sort every email into exactly one category: - **URGENT**: Requires response today. Client emails with deadlines, billing alerts, security notifications. - **ACTION**: Requires response this week. Project updates needing decisions, meeting requests, document reviews. - **FYI**: No response needed. Status updates, newsletters worth reading, team announcements. - **SKIP**: Auto-archive. Marketing emails, social media notifications, subscription confirmations. ## Summary Format For each email in URGENT or ACTION: - Sender name and email - Subject line - One sentence summary of what they want - Suggested action (respond, forward, schedule meeting, etc.) For FYI: Just the subject line and one sentence. SKIP emails: Just count them. ## Response Drafts For URGENT emails, draft a response I can review and send. Keep it professional but concise. Match the tone of the original email. ## Rules - Always put URGENT items first - If an email is from [client list], always mark as URGENT - If an email mentions money, contracts, or deadlines, mark as URGENT - Keep the entire summary under 500 words
Step 3: Schedule the Morning Triage#
openclaw cron add "email-triage" \ --schedule "0 7 * * 1-5" \ --agent "email-triage" \ --message "Triage my inbox from the last 12 hours" \ --channel "telegram"
This runs Monday through Friday at 7 AM.
Step 4: Test Manually#
openclaw run --agent email-triage "Triage my inbox from the last 12 hours"
Example Output#
INBOX TRIAGE - Wednesday, March 8 (42 new emails) URGENT (3) 1. Sarah Chen (sarah@client.com) "Q1 Report Review - Need sign-off by EOD" -> Review the attached report and approve. Estimated 15 min. [Draft response ready] 2. AWS Billing (no-reply@aws.amazon.com) "Billing Alert: 180% usage increase in us-east-1" -> Check CloudWatch. Possible runaway Lambda function. 3. Legal Team (legal@company.com) "NDA for Project Phoenix - Signature Required" -> DocuSign link inside. Takes 2 minutes. ACTION (7) 1. Design Team: Feedback on v3 dashboard mockups (due Friday) 2. HR: Benefits enrollment reminder (due March 15) 3. Engineering: RFC for API v2 migration (review requested) 4. Product: Sprint planning meeting invite (Thursday 2pm) ... FYI (12) - Company all-hands moved to Friday 3pm - Engineering blog post published: "Our Observability Stack" - New hire announcement: Jamie joining DevOps ... SKIPPED: 20 emails auto-archived (marketing, social notifications)
Advanced: Continuous Triage#
Instead of a morning summary, run continuous triage:
openclaw cron add "email-watch" \ --schedule "*/15 * * * *" \ --agent "email-triage" \ --message "Check for new urgent emails in the last 15 minutes. Only notify me if something is URGENT." \ --channel "telegram"
This checks every 15 minutes and only notifies you for urgent items.
Advanced: Auto-Drafting Responses#
For routine emails (meeting confirmations, simple questions), the agent can draft and queue responses:
Add to your AGENT.md:
## Auto-Draft Rules For these email types, draft a response automatically: - Meeting invitations: Accept and confirm - Simple questions with obvious answers: Draft a concise reply - Receipt/confirmation requests: Acknowledge receipt Mark every draft as [DRAFT - REVIEW BEFORE SENDING]. Never send anything without my explicit approval.
Never give your email agent permission to send emails without your approval. Always require human review for outgoing messages. The Lemonade Insurance incident (where an OpenClaw agent sent an insurance rebuttal without permission) demonstrates why this matters.
Gmail access failing?
- Verify your app password is correct
- Ensure IMAP is enabled in Gmail settings
- Check if Google is blocking sign-in attempts (check your security alerts)
Missing emails?
- Check the time range in your triage prompt
- Verify the email skill has access to all folders (not just inbox)
Poor categorization?
- Be more specific in your AGENT.md about what counts as urgent
- Add examples of emails from your actual inbox
- Use a stronger model (Claude Sonnet or Opus)
Cost#
Email triage with Claude Sonnet typically costs $0.05-0.50 per day depending on volume:
- 50 emails/day: ~$0.05-0.10
- 200 emails/day: ~$0.20-0.50
- With auto-drafting: +$0.10-0.20/day
Next Steps#
- DevOps Workflow -- Automate your engineering pipeline
- Content Creation -- Automate content pipelines
- Security Guide -- Secure your email integration