About agentmail
agentmail is a skill for AI agents to automate email handling through classification, response drafting, thread management, and scheduling. It can be used from a CLI or API and supports provider integrations via APIs.
Key features
- 01Classify emails by content or sender
- 02Draft replies with tone options
- 03Schedule sends and follow-ups
- 04Summarize, prioritize, or archive threads
- 05Operate through CLI and API
Use cases
- 01Triage a high-volume inbox
- 02Draft and schedule customer support replies
- 03Automate follow-ups in personal email workflows
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill agentmailAfter installing, type/agentmailin Claude Code to confirm it loaded.
Details
From the project READMEagentmail
Purpose
This skill enables an AI agent to autonomously manage emails, including classification, response drafting, and scheduling, using AI-driven automation for efficient email handling.
When to Use
Use this skill for high-volume email inboxes, automated customer support, personal productivity workflows, or integrating email tasks into broader AI agent operations to reduce manual intervention.
Key Capabilities
- Classify emails based on content, sender, or keywords using machine learning models.
- Draft response emails with customizable templates and tone adjustments.
- Schedule email sends or follow-ups based on user-defined rules or calendar integration.
- Manage email threads by summarizing, prioritizing, or archiving based on criteria.
- Integrate with email providers via APIs for real-time operations.
Usage Patterns
To use agentmail, invoke it via CLI or API calls, passing necessary parameters like email IDs or content. Always set the API key via environment variable $AGENTMAIL_API_KEY. For CLI, prefix commands with authentication flags. Example pattern: Fetch an email, classify it, draft a response, then schedule if needed. Chain commands in scripts for automation.
Common Commands/API
CLI commands require Node.js environment; install via npm install agentmail-cli. API endpoints are under https://api.openclaw.com/agentmail/v1.
-
Classify an email:
CLI:agentmail classify --email-id 12345 --key $AGENTMAIL_API_KEY
API: POST /api/agentmail/classify with JSON body:{"email_id": "12345", "api_key": "$AGENTMAIL_API_KEY"}
Code snippet:curl -X POST https://api.openclaw.com/agentmail/v1/classify \ -H "Content-Type: application/json" \ -d '{"email_id": "12345", "api_key": "'$AGENTMAIL_API_KEY'"}' -
Draft a response:
CLI:agentmail draft --email-id 12345 --tone professional --key $AGENTMAIL_API_KEY
API: POST /api/agentmail/draft with body:{"email_id": "12345", "tone": "professional", "api_key": "$AGENTMAIL_API_KEY"}
Code snippet:const response = await fetch('https://api.openclaw.com/agentmail/v1/draft', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({email_id: '12345', tone: 'professional', api_key: process.env.AGENTMAIL_API_KEY}) }); -
Schedule an email:
CLI:agentmail schedule --email-content "Reply text" --send-at "2023-10-01T10:00:00Z" --key $AGENTMAIL_API_KEY
API: POST /api/agentmail/schedule with body:{"email_content": "Reply text", "send_at": "2023-10-01T10:00:00Z", "api_key": "$AGENTMAIL_API_KEY"}
Config format: Use JSON for scheduling rules, e.g.,{"rules": [{"condition": "priority>high", "action": "schedule in 2 hours"}]}.
Integration Notes
Integrate agentmail with email services like Gmail or Outlook by providing OAuth tokens via config files (e.g., config.json: {"provider": "gmail", "token": "$GMAIL_TOKEN"}). For AI agent workflows, use webhooks to trigger on new emails (e.g., POST to /api/agentmail/webhook). Ensure compatibility by matching API versions; handle dependencies like Node.js v14+. To combine with other skills, export results as JSON and pipe to next command, e.g., agentmail classify ... | jq '.category' | other-skill-process.
Error Handling
Check for HTTP status codes: 401 for auth failures (retry with $AGENTMAIL_API_KEY), 404 for missing emails (log and skip), 500 for server errors (exponential backoff). In CLI, use --verbose flag for detailed logs. Handle common issues like rate limits by adding delays (e.g., sleep 5 seconds after 429 response). Validate inputs before calls, e.g., ensure email IDs are strings via regex check: if (!emailId.match(/^\d+$/)) throw new Error('Invalid email ID');. Use try-catch in scripts for graceful recovery.
Concrete Usage Examples
-
Classify and respond to a support ticket email: First, classify:
agentmail classify --email-id 67890 --key $AGENTMAIL_API_KEY. If classified as "support", draft:agentmail draft --email-id 67890 --tone helpful --key $AGENTMAIL_API_KEY. Then schedule:agentmail schedule --email-content $(cat response.txt) --send-at now --key $AGENTMAIL_API_KEY. This automates ticket responses in a helpdesk workflow. -
Manage personal email scheduling: Fetch unread emails via API, classify them:
curl -X POST https://api.openclaw.com/agentmail/v1/classify -d '{"email_id": "54321", "api_key": "'$AGENTMAIL_API_KEY'"}'. For high-priority, draft and schedule:agentmail draft --email-id 54321 --tone formal --key $AGENTMAIL_API_KEY; agentmail schedule --email-content "Follow up" --send-at "tomorrow" --key $AGENTMAIL_API_KEY. Use in a daily script for inbox zero.
Graph Relationships
- Related to: email (direct), ai (cluster), agent (cluster), automation (tag).
- Connected clusters: community (same as this skill).
- Dependencies: May require skills like "email-parser" for input preprocessing or "scheduler" for advanced timing.