Skip to content
AI & Agents
Skill

/agent-email-inbox

Webhook signing secret for verifying inbound email event payloads. Returned as `signing_secret` in the response when you create a webhook via the API.

From plugin
resend
1595 skills1 MCP
Install
$ npx -y skills add resend/resend-skills --skill agent-email-inbox --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/agent-email-inbox

Context preview

The summary Claude sees to decide when to auto-load this skill.

Webhook signing secret for verifying inbound email event payloads. Returned as `signing_secret` in the response when you create a webhook via the API.

SKILL.md

agent-email-inbox.SKILL.md
name: agent-email-inbox
description: Use when building any system where email content triggers actions — AI agent inboxes, automated support handlers, email-to-task pipelines, or any workflow processing untrusted inbound email. Always use this skill when the user wants to receive emails and act on them programmatically, even if they don't mention "agent" — the skill contains critical security patterns (sender allowlists, content filtering, sandboxed processing) that prevent untrusted email from controlling your system.
license: MIT
metadata:
    author: resend
    version: "3.0.4"
    homepage: https://resend.com/agent-skills
    source: https://github.com/resend/resend-skills
    openclaw:
        primaryEnv: RESEND_API_KEY
        requires:
            env:
                - RESEND_API_KEY
        envVars:
            - name: RESEND_API_KEY
              required: true
              description: Resend API key for sending and receiving emails
            - name: RESEND_WEBHOOK_SECRET
              required: false
              description: Webhook signing secret for verifying inbound email event payloads
            - name: SECURITY_LEVEL
              required: false
              description: Security level for inbound email processing (strict, moderate, permissive)
            - name: ALLOWED_SENDERS
              required: false
              description: Comma-separated list of allowed sender email addresses
            - name: ALLOWED_DOMAINS
              required: false
              description: Comma-separated list of allowed sender domains
            - name: OWNER_EMAIL
              required: false
              description: Owner email address for forwarding or notifications
        links:
            repository: https://github.com/resend/resend-skills
            documentation: https://resend.com/docs/agent-email-inbox-skill
inputs:
    - name: RESEND_API_KEY
      description: Resend API key for sending and receiving emails. Get yours at https://resend.com/api-keys
      required: true
    - name: RESEND_WEBHOOK_SECRET
      description: Webhook signing secret for verifying inbound email event payloads. Returned as `signing_secret` in the response when you create a webhook via the API.
      required: false
references:
    - security-levels.md
    - webhook-setup.md
    - advanced-patterns.md

AI Agent Email Inbox

Overview

This skill covers setting up a secure email inbox that allows your application or AI agent to receive and respond to emails, with content safety measures in place.

**Core principle:** An AI agent's inbox receives untrusted input. Security configuration is important to handle this safely.

Why Webhook-Based Receiving?

Resend uses webhooks for inbound email, meaning your agent is notified **instantly** when an email arrives. This is valuable for agents because:

  • **Real-time responsiveness** — React to emails within seconds, not minutes
  • **No polling overhead** — No cron jobs checking "any new mail?" repeatedly
  • **Event-driven architecture** — Your agent only wakes up when there's actually something to process
  • **Lower API costs** — No wasted calls checking empty inboxes

Architecture

Sender → Email → Resend (MX) → Webhook → Your Server → AI Agent
                                              ↓
                                    Security Validation
                                              ↓
                                    Process or Reject

SDK Version Requirements

This skill requires Resend SDK features for webhook verification (`webhooks.verify()`) and email receiving (`emails.receiving.get()`). Always install the latest SDK version. If the project already has a Resend SDK installed, check the version and upgrade if needed.

| Language | Package | Min Version | |----------|---------|-------------| | Node.js | `resend` | >= 6.9.2 | | Python | `resend` | >= 2.21.0 | | Go | `resend-go/v3` | >= 3.1.0 | | Ruby | `resend` | >= 1.0.0 | | PHP | `resend/resend-php` | >= 1.1.0 | | Rust | `resend-rs` | >= 0.20.0 | | Java | `resend-java` | >= 4.11.0 | | .NET | `Resend` | >= 0.2.1 |

Install the `resend` npm package: `npm install resend` (or the equivalent for your language). For full sending docs, install the `resend` skill.

Quick Start

1. **Ask the user for their email address** — You need a real email address to send test emails to. Ask the user and wait for their response before proceeding. 2. **Choose your security level** — Decide how to validate incoming emails *before* any are processed 3. **Set up receiving domain** — Configure MX records for the user's custom domain (see Domain Setup section) 4. **Create webhook endpoint** — Handle `email.received` events with security built in from the start. **The webhook endpoint MUST be a POST route.** 5. **Set up tunneling** (local dev) — Use Tailscale Funnel (recommended) or ngrok. See [references/webhook-setup.md](references/webhook-setup.md) 6. **Create webhook via API** — Use the Resend Webhook API to register your endpoint programmatically. See [references/webhook-setup.md](references/webhook-setup.md) 7. **Connect to agent** — Pass validated emails to your AI agent for processing

Before You Start: Account & API Key Setup

First Question: New or Existing Resend Account?

Ask your human:

  • **New account just for the agent?** → Simpler setup, full account access is fine
  • **Existing account with other projects?** → Use domain-scoped API keys for sandboxing

Creating API Keys Securely

> Don't paste API keys in chat! They'll be in conversation history forever.

**Safer options:**

1. **Environment file method:** Human creates `.env` file directly: `echo "RESEND_API_KEY=re_xxx" >> .env` 2. **Password manager / secrets manager:** Human stores key in 1Password, Vault, etc. 3. **If key must be shared in chat:** Human should rotate the key immediately after setup

Domain-Scoped API Keys (Recommended for Existing Accounts)

If your human has an exis

Read more
Ships withresend

A collection of skills for AI coding agents following the Agent Skills format. Available as a plugin for Claude Code, Cursor, and OpenAI Codex. Includes an MCP server for tool access.

Get the whole plugin
Stats
164
Stars
22
Forks
Active
Maintenance
JavaScript
Language
MIT
License
49m ago
Last commit
6mo ago
Created

Repo: resend/resend-skills