Agentlair Email

Give your agent a real email address via REST API. Claim @agentlair.dev addresses, send and receive email — no SMTP, no IMAP, no credentials to configure. Fr...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 31 · 1 current installs · 1 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the required pieces: curl and an AgentLair API key; all declared requirements are directly related to claiming addresses, sending, and receiving email via agentlair.dev.
Instruction Scope
SKILL.md contains only API calls to agentlair.dev (auth key creation, claim, send, inbox, read, outbox). It does not instruct the agent to read local/system files or other credentials. Note: the instructions include an automated flow to create an API key and then use it — this is expected for the service but means an agent with invocation rights can autonomously create keys and send mail.
Install Mechanism
Instruction-only skill with no install spec and only a dependency on curl; nothing is downloaded or written to disk by the skill itself.
Credentials
Only a single service credential (AGENTLAIR_API_KEY) is declared as required, which is proportionate to the described functionality. No unrelated secrets or config paths are requested.
Persistence & Privilege
always:false (not force-included). Model invocation is allowed (default) which permits autonomous use of the API; this is expected for a communication/agent-identity skill but is a behavioral consideration for the user (see guidance).
Assessment
This skill appears to do exactly what it says: call agentlair.dev to create keys, claim addresses, send and read mail. Before installing, decide whether you trust the agent to operate email autonomously (it can create an API key and send messages). If you permit that, consider: (1) create/restrict a dedicated AgentLair API key for the agent and keep the key’s scope and quota limited; (2) monitor outbox usage and rate limits to detect misuse; (3) avoid letting the agent send sensitive PII without review; (4) have a revocation plan (how to delete/revoke the API key); and (5) confirm privacy/compliance expectations with agentlair.dev (the SKILL.md claims privacy-first delivery and SES usage). If you want tighter control, require manual approval for sending emails or do not allow the agent to auto-create the AGENTLAIR_API_KEY.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk971y3snz2j7vp4d4qe37dtn7583qkcg

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

📧 Clawdis
OSLinux · macOS · Windows
Binscurl
Primary envAGENTLAIR_API_KEY

SKILL.md

AgentLair Email — REST Email for Agents

Give any agent a working email address in 30 seconds. No SMTP setup, no IMAP polling, no credentials to rotate. Just REST.

Base URL: https://agentlair.dev Auth: Authorization: Bearer <YOUR_API_KEY>


Setup: Get an API Key

Self-service, no email required:

curl -s -X POST https://agentlair.dev/v1/auth/keys \
  -H "Content-Type: application/json" \
  -d '{}'

Response:

{"key": "al_live_...", "tier": "free"}

Store the key as AGENTLAIR_API_KEY in your environment. All subsequent calls need it in the Authorization header.


When to Use This Skill

Use this skill when:

  • An agent needs to send or receive email
  • You need to claim a dedicated email identity for an agent
  • You want to check an agent's inbox programmatically
  • The user asks about agent email, email identity, or sending email as an agent

Claim an Email Address

curl -s -X POST https://agentlair.dev/v1/email/claim \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address": "myagent@agentlair.dev"}'

Response:

{"address": "myagent@agentlair.dev", "claimed": true, "already_owned": false, "account_id": "..."}

You can claim multiple addresses per API key.


Send an Email

Important: Use the text field for the message body (not body — that returns a missing_fields error).

curl -s -X POST https://agentlair.dev/v1/email/send \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "myagent@agentlair.dev",
    "to": ["recipient@example.com"],
    "subject": "Hello from my agent",
    "text": "Plain text message body."
  }'

Response:

{"id": "out_...", "status": "sent", "sent_at": "...", "rate_limit": {"daily_remaining": 49}}

Optional fields:

  • "html" — HTML version of the message
  • "cc" — array of CC recipients

Check Inbox

curl -s "https://agentlair.dev/v1/email/inbox?address=myagent@agentlair.dev&limit=10" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

Response:

{
  "messages": [
    {
      "message_id": "<abc123@host>",
      "from": "sender@example.com",
      "subject": "Re: Hello",
      "received_at": "2026-03-15T...",
      "read": false
    }
  ],
  "count": 1
}

Note: message_id values include RFC 2822 angle brackets <...>. Strip them before using in the read endpoint.


Read a Specific Message

Strip <> from message_id, then URL-encode the @:

# message_id from inbox: <abc123@eu-west-1.amazonses.com>
# Strip angle brackets, URL-encode @
MSG_ID="abc123%40eu-west-1.amazonses.com"
curl -s "https://agentlair.dev/v1/email/messages/$MSG_ID?address=myagent@agentlair.dev" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

In code:

const rawId = message.message_id.replace(/^<|>$/g, "");
const encodedId = encodeURIComponent(rawId);
const url = `https://agentlair.dev/v1/email/messages/${encodedId}?address=${encodeURIComponent(address)}`;

Check Sent Outbox

curl -s "https://agentlair.dev/v1/email/outbox?limit=5" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

Free Tier Limits

LimitValue
Emails per day50
API requests per day100
Addresses per keyUnlimited
Rate limit resetMidnight UTC

Delivery Timing

  • External recipients: ~1-2 seconds via Amazon SES
  • Intra-domain (agentlair.dev to agentlair.dev): inbox indexing can take 30-120 seconds after SES receipt
  • When polling inbox for a just-sent email, use a 120-second timeout minimum

Example Session

User: "Send an email to bob@example.com introducing yourself"

Agent actions:

  1. Check if you have an API key. If not, get one:
curl -s -X POST https://agentlair.dev/v1/auth/keys -H "Content-Type: application/json" -d '{}'
  1. Claim an address:
curl -s -X POST https://agentlair.dev/v1/email/claim \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address": "assistant@agentlair.dev"}'
  1. Send the email:
curl -s -X POST https://agentlair.dev/v1/email/send \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "assistant@agentlair.dev",
    "to": ["bob@example.com"],
    "subject": "Hello from your AI assistant",
    "text": "Hi Bob, I am an AI assistant reaching out to introduce myself. Let me know if you need anything!"
  }'
  1. Confirm to user: "Email sent to bob@example.com from assistant@agentlair.dev"

Notes

  • Emails delivered via Amazon SES (eu-west-1) with DKIM, SPF, and DMARC authentication
  • Custom domain support coming Q2 2026
  • No data stored beyond delivery — privacy-first design
  • Built by AgentLair — infrastructure for autonomous agents

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…