resend

Send, receive, and manage transactional emails with the Resend API.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/elcokiin/vibe-tribe --skill resend-elcokiin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resend
Source: https://github.com/elcokiin/vibe-tribe/tree/main/.agents/skills/resend
Command: npx skills add https://github.com/elcokiin/vibe-tribe --skill resend-elcokiin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires resend, and includes references (resource) components.

What problem does it solve? Integrating transactional email correctly is error-prone: duplicate sends on retries, unverified webhooks, broken inbound routing, and template variable mismatches cause production incidents. This Skill provides the correct Resend API patterns, SDK setup, and critical gotchas so emails are sent, received, and tracked reliably. ## Core Features & Use Cases - Transactional Sending: Send single or batch emails with idempotency keys, correct error handling for the { data, error } SDK pattern, and guidance on when batch sending applies (no attachments, no scheduling, max 100 per batch). - Inbound Email & Webhooks: Receive emails via MX records or the .resend.app domain, verify Svix webhook signatures, and retrieve bodies and attachments through separate API calls since webhook payloads contain metadata only. - Template Management: Create, publish, update, and paginate templates with triple-mustache {{{VAR}}} variables, aliases, and the 50-variable limit. - Use Case: Build a support inbox where emails to [email protected] trigger a verified webhook, the body is fetched via the Receiving API, and an auto-reply is sent with an idempotency key to prevent duplicates. ## Quick Start Ask the agent to send a welcome email with Resend using an idempotency key and proper error handling.

Frequently Asked Questions about resend

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an email with the Resend API in Node.js?

Install the resend package, initialize it with your RESEND_API_KEY, and call resend.emails.send() with from, to, subject, and html. The SDK returns { data, error } instead of throwing, so check error explicitly and pass an idempotency key for safe retries.

When should I use Resend batch sending vs single sends?

Use batch sending for 2-100 distinct emails without attachments or scheduling, since batches are atomic and fail entirely if one email is invalid. Use single sends when you need attachments, scheduled delivery, or per-email isolation.

Why doesn't the Resend webhook payload contain the email body?

Resend webhook payloads contain metadata only to support large emails and serverless body-size limits. Call resend.emails.receiving.get() with the email_id from the event to retrieve the body, and the attachments API for download URLs, which expire after one hour.

How do I verify Resend webhook signatures?

Read the raw request body as text, then call resend.webhooks.verify() with the payload, the svix-id, svix-timestamp, and svix-signature headers, and your RESEND_WEBHOOK_SECRET. Parsing JSON before verification breaks the signature check.

Can I use Resend for marketing newsletters to large subscriber lists?

No, the sending APIs covered here are for transactional email like receipts and notifications. For marketing campaigns with unsubscribe links and engagement tracking to large lists, use Resend Broadcasts instead of batch sending.

Why did my Resend template send fail right after creating it?

Templates are created as drafts and cannot send until published. Call resend.templates.publish() or chain .publish() after create; publishing is synchronous, so no delay is needed before sending.