Back to Nodes

Resend

Last updated May 27, 2025

Resend n8n node

118 Weekly Downloads
454 Monthly Downloads

Included Nodes

Resend
Resend Trigger

Description


...

📧 Resend Node for n8n

npm version
License: MIT

Powerful email automation for n8n using the Resend API 🚀

Transform your email workflows with comprehensive Resend integration for n8n. Send emails, manage contacts, handle domains, and automate email campaigns with ease.


[!NOTE]
ReadMe: This readme is subject to change with better docs in the upcomming week.

🎯 Features

  • 📤 Email Operations – Send single emails, batch emails, schedule delivery
  • 📎 File Attachments – Support for binary data and remote URL attachments
  • 👥 Contact Management – Create, update, delete contacts and audiences
  • 🌐 Domain Management – Verify domains, configure DNS settings
  • 🔑 API Key Management – Create and manage API keys programmatically
  • 📢 Broadcasts – Send newsletter campaigns to audiences
  • 🎣 Webhook Support – Receive real-time email events

🚀 Installation

Method 1: Via n8n Community Nodes (Recommended)

Detailed Instructions (with images)

  1. Open n8n Settings

    • Navigate to SettingsCommunity Nodes
  2. Install the Package

    • Click Install a community node
    • Enter: n8n-nodes-resend
    • Click Install
  3. Restart n8n

    • Restart your n8n instance to load the new nodes
  4. Verify Installation

    • The Resend and Resend Trigger nodes should appear in your node palette

Method 2: Manual Installation

# Navigate to your n8n installation directory
cd ~/.n8n

# Install the package
npm install n8n-nodes-resend

# Restart n8n
# If using PM2: pm2 restart n8n
# If using Docker: docker restart n8n
# If running directly: restart your n8n process

Method 3: Docker Installation

Add this to your docker-compose.yml:

version: '3.8'
services:
  n8n:
    image: n8nio/n8n
    environment:
      - N8N_NODES_INCLUDE=n8n-nodes-resend
    # ... other configuration

Or use environment variable:

docker run -it --rm \
  -p 5678:5678 \
  -e N8N_NODES_INCLUDE=n8n-nodes-resend \
  n8nio/n8n

🔐 Credentials Setup

[!IMPORTANT]
You need a Resend account and API key to use these nodes.

🔑 Configure Resend API Credentials
  1. Get Your API Key

    • Visit Resend Dashboard
    • Create a new API key with appropriate permissions
    • Copy the API key (starts with re_)
  2. Add Credentials in n8n

    • Go to CredentialsAdd credential
    • Search for "Resend API"
    • Paste your API key
    • Test the connection
    • Save the credential

[!TIP]
Use different API keys for development and production environments


📚 Available Nodes

🎬 Resend Action Node

The main node for performing Resend operations.

📧 Email Operations

Send Email

Send individual emails with rich content and attachments.

Key Features:

  • ✅ HTML and plain text content
  • ✅ File attachments (binary data or URLs)
  • ✅ CC/BCC recipients
  • ✅ Custom reply-to addresses
  • ✅ Email scheduling

Example Use Cases:

  • Welcome emails for new users
  • Invoice delivery with PDF attachments
  • Password reset notifications
  • Marketing campaigns

Send Batch Emails

Send up to 100 emails in a single API call for better performance.

Key Features:

  • ✅ Bulk email sending
  • ✅ Individual customization per email
  • ✅ Better rate limiting
  • ⚠️ No attachment support (API limitation)

Email Management

  • Retrieve Email – Get email details and status
  • Cancel Email – Cancel scheduled emails
  • Update Email – Modify scheduled emails
👥 Contact & Audience Management

Contacts

  • Create Contact – Add new contacts to audiences
  • Get Contact – Retrieve contact information
  • Update Contact – Modify contact details
  • Delete Contact – Remove contacts from audiences
  • List Contacts – Get all contacts in an audience

Audiences

  • Create Audience – Set up new email lists
  • Get Audience – Retrieve audience details
  • List Audiences – Get all your audiences
  • Delete Audience – Remove email lists
🌐 Domain & Infrastructure

Domain Management

  • Add Domain – Register new sending domains
  • Verify Domain – Check domain verification status
  • Get Domain – Retrieve domain configuration
  • Update Domain – Modify domain settings
  • Delete Domain – Remove domains

API Keys

  • Create API Key – Generate new API keys
  • List API Keys – View existing keys
  • Delete API Key – Revoke access keys
📢 Broadcast Campaigns
  • Create Broadcast – Set up email campaigns
  • Get Broadcast – Retrieve campaign details
  • Send Broadcast – Launch email campaigns
  • Update Broadcast – Modify campaign settings

🎯 Resend Trigger Node

Real-time webhook processing for email events.

📡 Supported Events
  • email.sent – Email successfully sent
  • email.delivered – Email delivered to recipient
  • email.opened – Recipient opened the email
  • email.clicked – Link clicked in email
  • email.bounced – Email bounced
  • email.complained – Spam complaint received
  • contact.created – New contact added
  • contact.updated – Contact information changed
  • contact.deleted – Contact removed

💡 Usage Examples

📧 Email with Attachments Example
# Example workflow: Send invoice email with PDF attachment
Workflow:
  1. HTTP Request Node (trigger)
  2. Code Node (generate invoice data)
  3. HTML/CSS to PDF Node (create PDF)
  4. Resend Node (send email with attachment)

Resend Node Configuration:
  - Resource: Email
  - Operation: Send
  - From: billing@yourcompany.com
  - To: {{ $json.customerEmail }}
  - Subject: Your Invoice #{{ $json.invoiceNumber }}
  - Attachments:
    - Type: Binary Data
    - Binary Property: data
    - Filename: invoice-{{ $json.invoiceNumber }}.pdf
🔄 Automated Email Campaigns
# Example: Weekly newsletter automation
Workflow:
  1. Cron Trigger (weekly)
  2. Database Node (fetch newsletter content)
  3. Resend Node (create broadcast)
  4. Resend Node (send to audience)

Benefits:
  - Automated scheduling
  - Audience segmentation
  - Performance tracking
📊 Email Event Processing
# Example: Handle bounced emails
Trigger: Resend Trigger Node
  - Event: email.bounced
  
Actions:
  1. Database Node (log bounce)
  2. Resend Node (remove from audience)
  3. Slack Node (notify team)

⚠️ Important Notes

[!WARNING]
Attachment Limitations:

  • Maximum email size: 40MB (including attachments)
  • Attachments not supported with scheduled emails or batch operations
  • Some file types may be blocked by email providers

[!NOTE]
Rate Limits: Respect Resend's API rate limits. Use batch emails for better efficiency.

📋 API Limitations & Best Practices

Best Practices

  • ✅ Always verify your sending domains
  • ✅ Use appropriate API key permissions
  • ✅ Handle webhook events for better deliverability
  • ✅ Implement proper error handling
  • ✅ Monitor email metrics and bounce rates

Rate Limits

  • Single emails: Standard Resend rate limits apply
  • Batch emails: More efficient for bulk sending
  • API calls: Respect Resend's rate limiting

🔧 Development

🛠️ Contributing & Development Setup
# Clone the repository
git clone https://github.com/your-repo/n8n-nodes-resend.git

# Install dependencies
npm install

# Build the project
npm run build

# Run linting
npm run lint

# Run tests
npm test

Project Structure

├── credentials/
│   └── ResendApi.credentials.ts
├── nodes/
│   └── Resend/
│       ├── Resend.node.ts
│       ├── ResendTrigger.node.ts
│       └── icons/
└── package.json

🤝 Support

❓ Getting Help

📄 License

This project is licensed under the MIT License – see the LICENSE file for details.


🙏 Acknowledgments

  • Built for the amazing n8n workflow automation platform
  • Powered by Resend email infrastructure
  • Inspired by the n8n community

Made with ❤️ for the n8n community

⭐ Star this repo | 🐛 Report Issues | 💡 Request Features