- Home
- Skills
- Resend
- Resend Skills
- Send Email
send-email_skill
- JavaScript
63
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill resend/resend-skills --skill send-email- SKILL.md15.4 KB
Overview
This skill sends transactional, notification, and bulk emails using the Resend API. It supports single sends (attachments, scheduling) and batch sends (up to 100 distinct emails) and includes guidance for retries, idempotency, deliverability, webhooks, and templates. Use it to reliably deliver onboarding, receipts, password resets, and notifications at scale.
How this skill works
The skill chooses between POST /emails for single sends and POST /emails/batch for multi-email requests, preferring SDKs for convenience. It enforces pre-validation for batches, attaches idempotency keys to prevent duplicates, and recommends exponential backoff retries for rate limits and server errors. It also surfaces best practices for deliverability, webhook verification, template usage, tagging, and testing with safe addresses.
When to use it
- Send one-off transactional messages that require attachments or scheduling
- Send multiple distinct emails in a single request to reduce API calls (max 100)
- Deliver notifications, receipts, password resets, and confirmations
- Track delivery events via webhooks and correlate with tags
- Warm up new sending domains and monitor deliverability metrics
Best practices
- Always include idempotency keys (single: event/entity, batch: batch-event/batch-id) to avoid duplicate sends
- Retry only on 429 and 500 with exponential backoff (1s,2s,4s...), max 3–5 attempts
- Pre-validate all batch items locally because one invalid email fails the entire batch
- Verify webhook signatures before processing events to avoid spoofing
- Configure SPF, DKIM, DMARC and include plain-text versions to maximize inbox placement
Example use cases
- Welcome email with attachments and a scheduled send — use single endpoint with idempotency key
- Order confirmations and shipping notifications batched into one request (<=100) to reduce API calls
- Password reset emails with tracking disabled and webhook for delivered/failed events
- Large campaign chunked into multiple batch requests with unique idempotency keys per chunk
- Template-driven receipts using published templates and case-sensitive template variables
FAQ
Use batch for 2+ distinct emails without attachments or scheduling and when reducing API calls matters. Use single sends when you need attachments, scheduling, or per-email timing.
What errors should I retry?
Only retry 429 (rate limit) and 500 (server error) with exponential backoff. Do not retry 400/422 (validation) or 401/403 (auth) errors.
How do idempotency keys behave?
Idempotency keys (max 256 chars, expire after 24h) return the original response for duplicate payloads. A different payload with the same key returns 409 — use a new key.
How do I test safely?
Use resend.dev test addresses (delivered@resend.dev, bounced@resend.dev, complained@resend.dev) or your own controlled accounts. Never send to random real-provider addresses for testing.