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.
- π€ 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
Detailed Instructions (with images)
-
Open n8n Settings
- Navigate to Settings β Community Nodes
-
Install the Package
- Click Install a community node
- Enter:
n8n-nodes-resend
- Click Install
-
Restart n8n
- Restart your n8n instance to load the new nodes
-
Verify Installation
- The Resend and Resend Trigger nodes should appear in your node palette
# 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
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
Important
You need a Resend account and API key to use these nodes.
π Configure Resend API Credentials
-
Get Your API Key
- Visit Resend Dashboard
- Create a new API key with appropriate permissions
- Copy the API key (starts with
re_
)
-
Add Credentials in n8n
- Go to Credentials β Add 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
The main node for performing Resend operations.
π§ Email Operations
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 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)
- Retrieve Email - Get email details and status
- Cancel Email - Cancel scheduled emails
- Update Email - Modify scheduled emails
π₯ Contact & Audience Management
- 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
- 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
- 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
- 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
Real-time webhook processing for email events.
π‘ Supported Events
email.sent
- Email successfully sentemail.delivered
- Email delivered to recipientemail.opened
- Recipient opened the emailemail.clicked
- Link clicked in emailemail.bounced
- Email bouncedemail.complained
- Spam complaint receivedcontact.created
- New contact addedcontact.updated
- Contact information changedcontact.deleted
- Contact removed
π§ 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)
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
- β 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
- Single emails: Standard Resend rate limits apply
- Batch emails: More efficient for bulk sending
- API calls: Respect Resend's rate limiting
π οΈ 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
βββ credentials/
β βββ ResendApi.credentials.ts
βββ nodes/
β βββ Resend/
β βββ Resend.node.ts
β βββ ResendTrigger.node.ts
β βββ icons/
βββ package.json
β Getting Help
- Documentation: Resend API Docs
- Issues: GitHub Issues
- n8n Community: n8n Community Forum
- Discord: n8n Discord Server
This project is licensed under the MIT License - see the LICENSE file for details.
- 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