resend

This skill provides an interface for the Resend email API, enabling users to send transactional and batch emails, manage templates, domains, contacts, webhooks, and API keys. It includes critical implementation patterns for idempotency, webhook verification, and error handling to ensure reliable production usage.

10.6K
Installs
8
Use cases
5/10
Quality

Is resend safe to install?

Review the source first

Review the source first: our audit of resend's source files found 8 shell commands, 1 external URL, no file writes (high risk). Every command and URL listed appears verbatim in the skill's source. The skill requires an API key and interacts with the Resend API to send emails and manage account resources. It provides instructions for executing shell commands to install SDKs and configure environment variables.

How we audit skills: our security review methodology.

Who is this skill for?

Developers integrating Resend email services into applications using Node.js, Python, Go, Ruby, PHP, Rust, Java, or .NET.

What can you do with it?

  • Sending transactional emails
  • Sending batch emails
  • Receiving inbound emails via webhooks
  • Managing email templates
  • Tracking delivery events
  • Managing domains and DNS records
  • Managing contact lists and segments
  • Setting up automated email workflows

How good is this skill?

Quality score: 5/10. The skill documentation is comprehensive, providing clear instructions, code examples for multiple languages, and specific guidance on common pitfalls like idempotency and error handling.

What does the skill file contain?

SKILL.md
# Resend

## Quick Send — Node.js

```typescript
import { Resend } from 'resend';

const resend = new Resend(process.env.RESEND_API_KEY);

const { data, error } = await resend.emails.send(
  {
    from: 'Acme <onboarding@resend.dev>',
    to: ['delivered@resend.dev'],
    subject: 'Hello World',
    html: '<p>Email body here</p>',
  },
  { idempotencyKey: `welcome-email/${userId}` }
);

if (error) {
  console.error('Failed:', error.message);
  return;
}
console.log('Sent:', data.id);
```

**Key gotcha:** The Resend Node.js SDK does NOT throw exceptions — it returns `{ data, error }`. Always ch...

Frequently asked questions

How do I prevent duplicate emails during retries?

Include an idempotency key in the request payload using the format <event-type>/<entity-id>.

Why does my webhook payload not contain the email body?

Resend webhook payloads contain metadata only. You must call resend.emails.receiving.get() with the email_id to retrieve the body content.

How should I handle errors in the Node.js SDK?

The SDK returns { data, error } objects instead of throwing exceptions. Always check the error property explicitly rather than using try/catch blocks.

Can I use batch sending for emails with attachments?

No, batch sending does not support attachments or scheduling. Use single email sends for those requirements.

Data sourced from resend/resend-skills on GitHub. Install counts from skills.sh. The summary and security audit are derived from the skill's source files: every command and URL listed appears verbatim in the source.

Related skills