ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

email-resend

Send and receive emails using the Resend API. Use for: (1) sending emails directly via Resend API, (2) receiving email notifications via cron, (3) drafting replies with proper threading, (4) downloading attachments from inbound emails. **Required env vars:** RESEND_API_KEY (API key). **Optional env vars:** DEFAULT_FROM_EMAIL, DEFAULT_FROM_NAME (fall back to preferences file if not set). **License: Apache-2.0** — See LICENSE file for details.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/ivelin/email-resend
Or

License

Apache License 2.0 — See LICENSE file for full text.

Email via Resend

Send and receive emails using the Resend API.

Configuration

No config file needed. The skill auto-discovers settings from:

  1. Environment variables — RESEND_API_KEY (required), DEFAULT_FROM_EMAIL/NAME (optional)
  2. Preferences filememory/email-preferences.md (from_email, from_name, telegram target)
  3. OpenClaw context — channel, chat_id, thread_id (for cron delivery)

Required Environment Variables

export RESEND_API_KEY="re_123456789"        # Resend API key (required)
# DEFAULT_FROM_EMAIL and DEFAULT_FROM_NAME are optional - loaded from preferences file if not set

Preferences File

The skill reads sender info from memory/email-preferences.md:

---
from_email: [email protected]
from_name: Your Name
telegram:
  target: "CHAT_ID"
  threadId: "THREAD_ID"
---

Scripts check env vars first, then fall back to preferences file.

First-Time Setup

When the skill is first invoked, the sub-agent should:

  1. Check context — OpenClaw context already has:

    • context.user.email (from USER.md)
    • context.channel (from current session)
    • context.chat_id
    • context.thread_id (for topics)
  2. Check memory — Use memory_get tool:

    • Try: memory_get path="memory/email-preferences.md"
    • If not found, ask user to create memory/email-preferences.md (NO fallback scanning)
  3. If missing, ask user — Via chat message (IMPORTANT for cron jobs):

    • "Which email should I send from?" (from_email)
    • "What's your display name for sent emails?" (from_name)
    • "Which channel/topic should I notify you on?" (telegram target + threadId)

    Then create memory/email-preferences.md with their answers using the format above.

  4. Commit to memory — Write preferences to persist across sessions:

    write path="memory/email-preferences.md" content="---
    from_email: $EMAIL
    from_name: $NAME
    telegram:
      target: \"$CHAT_ID\"
      threadId: \"$THREAD_ID\"
    ---
    
    # Email Notification Preferences
    Saved auto-configured
    "
    

    This ensures memory_get finds it in future sessions. Use MD format with YAML frontmatter.

Format (MD with YAML frontmatter):

---
from_email: [email protected]
from_name: Your Name
telegram:
  target: \"123456789\"
  threadId: \"334\"
---

# Email Notification Preferences
- **Updated:** 2026-01-01
- **Purpose:** Default notification channel for email alerts

Important: Store in memory/email-preferences.md (NOT MEMORY.md) - isolated cron jobs can read this file via memory_get but NOT MEMORY.md.

Context Fields (Available in Sub-Agent)

FieldSourceExample
user.emailUSER.md[email protected]
user.nameUSER.mdYour Name
channelOpenClawfrom context
chat_idOpenClaw123456789
thread_idOpenClaw334

Metadata

Author@ivelin
Stars2032
Views0
Updated2026-03-05
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-ivelin-email-resend": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.