agentmail-cli
by @stepandel
Manage email inboxes and messages via AgentMail API. Create disposable inboxes, send/receive emails, and list messages. Use when the agent needs to send or receive email, create temporary inboxes, or check for incoming messages.
clawhub install agentmail-cliπ About This Skill
name: agentmail-cli description: Manage email inboxes and messages via AgentMail API. Create disposable inboxes, send/receive emails, and list messages. Use when the agent needs to send or receive email, create temporary inboxes, or check for incoming messages. metadata: {"openclaw":{"emoji":"π§","requires":{"bins":["agentmail"],"env":["AGENTMAIL_API_KEY"]},"primaryEnv":"AGENTMAIL_API_KEY","install":[{"id":"npm","kind":"node","package":"@stepandel/agentmail-cli","bins":["agentmail"],"label":"Install agentmail-cli via npm"}]}} homepage: https://github.com/stepandel/agentmail-cli
CLI for AgentMail β create inboxes, send messages, and read email.
API Key Setup
The API key MUST be configured before any command will work. Two methods:
1. Config file (preferred for persistent agents):
agentmail config set-key YOUR_API_KEY
This stores the key at ~/.agentmail/config.json and persists across sessions.2. Environment variable:
export AGENTMAIL_API_KEY=YOUR_API_KEY
Verify configuration:
agentmail config show
If commands fail with auth errors, re-run agentmail config set-key β the env var alone may not persist between shell sessions.
Always Use --json
Always pass --json to every command for machine-readable output. Parse with jq when needed.
Inbox Commands
Create an inbox:
agentmail inbox create --json
agentmail inbox create --domain example.com --json
agentmail inbox create --username support --domain example.com --display-name "Support Team" --json
List inboxes:
agentmail inbox list --json
agentmail inbox list --limit 10 --json
Get inbox details:
agentmail inbox get --json
Delete an inbox:
agentmail inbox delete
Message Commands
Send a message:
agentmail message send --from --to recipient@example.com --subject "Subject" --text "Body text" --json
Send with HTML:
agentmail message send --from --to recipient@example.com --subject "Subject" --html "Hello
" --json
Multiple recipients, CC, BCC:
agentmail message send --from --to "a@example.com,b@example.com" --cc "cc@example.com" --bcc "bcc@example.com" --subject "Subject" --text "Body" --json
List messages in an inbox:
agentmail message list --json
agentmail message list --limit 20 --json
Get a specific message:
agentmail message get --json
Delete a message (deletes entire thread):
agentmail message delete
Common Workflow
# 1. Create inbox, capture ID
INBOX_ID=$(agentmail inbox create --json | jq -r '.inboxId')2. Send email
agentmail message send --from "$INBOX_ID" --to user@example.com --subject "Hello" --text "Message body" --json3. Check for replies
agentmail message list "$INBOX_ID" --json
Notes
~/.agentmail/config.jsonAGENTMAIL_API_KEY takes precedence over config fileπ Tips & Best Practices
~/.agentmail/config.jsonAGENTMAIL_API_KEY takes precedence over config file