n8n + Resend Integration: 5 Powerful Email Workflows
The n8n + Resend integration lets you automate transactional emails without wrestling with traditional SMTP servers or legacy email APIs. Resend offers a clean, developer-focused API that handles deliverability, tracking, and templating—while n8n orchestrates when and how those emails get sent based on real business events.
Whether you're onboarding new users, sending order confirmations, or triggering customer engagement sequences, this combination gives you the control of code with the speed of no-code automation.
Why Resend + n8n for Email Automation
Resend launched in 2023 and quickly became the go-to email API for modern development teams. Unlike older services that bolt on features over time, Resend was built from scratch with a focus on developer experience and reliable delivery.
The integration with n8n works through the HTTP Request node, which means you get full access to Resend's API without waiting for a dedicated community node. You can send emails, manage contacts, track delivery status, and handle bounces—all within your n8n workflows.
This matters because email is still the most reliable channel for transactional communication. Push notifications get ignored, SMS costs add up, and in-app messages require users to actually open your app. Email just works, and with n8nautomation.cloud, you can automate the entire lifecycle without managing servers.
Setting Up Resend with n8n
First, create a Resend account and generate an API key from your dashboard. You'll find this under API Keys in the Resend settings. Store this key in n8n's credentials manager for reuse across workflows.
In n8n, add an HTTP Request node and configure it with these settings:
- Method: POST
- URL: https://api.resend.com/emails
- Authentication: Generic Credential Type → Header Auth
- Header Name: Authorization
- Header Value: Bearer YOUR_RESEND_API_KEY
In the Body section, select JSON and structure your email payload:
{
"from": "your-app@yourdomain.com",
"to": "{{$json.email}}",
"subject": "Welcome to Our Platform",
"html": "<p>Hi {{$json.name}}, thanks for signing up!</p>"
}
Resend requires your sending domain to be verified. Add your domain in the Resend dashboard and update your DNS records with the provided values. This takes about 10 minutes and ensures your emails land in inboxes, not spam folders.
Tip: Store your Resend API key in n8n's credential system rather than hardcoding it. This keeps your workflows portable and secure across different environments.
Workflow 1: Automated User Onboarding Emails
When someone signs up for your product, they should receive a welcome email immediately. This workflow triggers when a new user is added to your database and sends a personalized onboarding sequence.
Trigger: Webhook (called by your app after user registration) or Database Trigger (if using PostgreSQL/MySQL)
Nodes:
- Webhook or Postgres Trigger node to capture new user data
- Set node to format user data (extract name, email, signup date)
- HTTP Request node configured for Resend API with welcome email template
- Wait node (set to 3 days)
- Second HTTP Request node sending a follow-up "Getting Started" email
- Error trigger connected to Slack notification if email fails
The Set node normalizes incoming data so your Resend payload stays consistent regardless of the data source. Use expressions like {{$json.user_email}} or {{$json.contact.email}} to dynamically populate the recipient field.
For the HTML body, you can reference Resend's React Email templates or write plain HTML. Resend handles responsive rendering automatically.
Workflow 2: Form Submission Notifications
Every contact form, demo request, or support ticket should trigger instant notifications to your team. This workflow listens for form submissions and routes emails based on submission type.
Trigger: Webhook (configured in your form handler or Typeform, Google Forms, etc.)
Nodes:
- Webhook node to receive form data
- Switch node to route based on form type (support, sales, general inquiry)
- Three HTTP Request nodes, each configured to send to different team email addresses
- Second HTTP Request node to send auto-reply to the form submitter
- Google Sheets node (optional) to log all submissions
The Switch node checks {{$json.form_type}} and routes to the appropriate branch. For example, support requests go to support@yourdomain.com, while demo requests go to sales@yourdomain.com.
The auto-reply confirms receipt and sets expectations for response time. This reduces "Did you get my message?" follow-ups and improves perceived responsiveness.
Workflow 3: Customer Feedback Collection
Seven days after a purchase or service delivery, send a feedback request email. This workflow tracks customer activity and triggers at the optimal time for survey completion.
Trigger: Cron node (runs daily at 9 AM) or Webhook (triggered after order completion)
Nodes:
- Cron node or Webhook to start the workflow
- Postgres or MySQL node querying for orders completed exactly 7 days ago
- Split in Batches node to process multiple customers
- HTTP Request node sending personalized feedback email via Resend
- Update node marking customers as "feedback_requested" in your database
The Resend email includes a unique survey link with the customer's order ID embedded as a URL parameter. When they click through, your survey tool (Typeform, Google Forms, or custom) can pre-fill order details.
Use Resend's built-in analytics to track open rates and click-through rates. If engagement is low, test different send times or subject lines through A/B variants in separate workflow branches.
Tip: Use the Split in Batches node when sending to large lists. This prevents rate limiting and ensures reliable delivery even with thousands of recipients.
Workflow 4: Weekly Digest Reports
Summarize platform activity, new content, or team performance in a weekly email digest. This workflow aggregates data from multiple sources and sends formatted reports every Monday morning.
Trigger: Cron node (set to 0 9 * * 1 for Mondays at 9 AM)
Nodes:
- Cron node triggers weekly
- Multiple HTTP Request nodes fetching data from your API, database, or analytics platform
- Merge node combining all data sources
- Function node or Code node to generate HTML report from aggregated data
- HTTP Request node sending formatted digest via Resend
The Function node is where you transform raw data into readable HTML. Loop through metrics, format numbers with commas, calculate week-over-week changes, and inject them into an HTML template.
Resend supports inline CSS, so you can build branded emails that match your company's visual identity. Tables, charts (as embedded images), and conditional sections all work without compatibility issues.
Workflow 5: Abandoned Cart Recovery
E-commerce sites recover 10-30% of abandoned carts through automated email sequences. This workflow detects when someone adds items but doesn't complete checkout, then sends a reminder email after 1 hour and a discount offer after 24 hours.
Trigger: Webhook (fired when cart is created but not converted) or Cron node checking database hourly
Nodes:
- Cron node or Webhook to identify abandoned carts
- Database query node fetching carts abandoned 1-2 hours ago
- IF node checking if customer already completed purchase (to avoid sending duplicate emails)
- HTTP Request node sending first reminder email via Resend
- Wait node (23 hours)
- Second database check confirming cart still abandoned
- HTTP Request node sending discount code email
- Update node marking cart as "recovery_attempted"
The email content should be specific: "You left [Product Name] in your cart. Complete your purchase now." Include cart contents, product images (hosted URLs), and a direct checkout link with pre-filled cart data.
For the discount email, generate unique codes through your e-commerce platform's API (Shopify, WooCommerce, Stripe) and inject them into the Resend template. Track redemption rates in your database to measure workflow ROI.
Best Practices for Production Workflows
Error Handling: Every HTTP Request node sending email should have an error trigger connected. If Resend returns a 400 or 500 status, log it to your monitoring tool (Sentry, Datadog) or send a Slack alert. Never let failed emails disappear silently.
Rate Limiting: Resend's free tier allows 100 emails per day, paid plans start at 50,000/month. Use the Split in Batches node with a 1-second delay between batches to avoid hitting API limits during bulk sends.
Template Management: Store email templates in Resend's dashboard or your own database, not hardcoded in n8n workflows. Reference them by ID or fetch via API. This separates content from logic and lets non-technical team members update copy.
Tracking and Analytics: Resend automatically tracks opens and clicks. Query their events API from n8n to pull engagement data into your analytics database. Build dashboards showing which automated emails drive the most conversions.
Testing: Before going live, send test emails to multiple providers (Gmail, Outlook, Yahoo). Check spam scores using Mail Tester. Resend's deliverability is excellent, but proper DNS configuration (SPF, DKIM, DMARC) is still required.
With n8nautomation.cloud, you get a managed n8n instance that runs these workflows 24/7 without server management. Your Resend credentials stay secure, workflows auto-restart after errors, and you can scale from hundreds to millions of emails without infrastructure changes.
The combination of n8n's visual workflow builder and Resend's reliable email API means you can ship transactional email features in hours, not weeks. No backend engineering required, no SMTP debugging, just working automation that grows with your business.