n8n-nodes-resend 1.2.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +185 -359
  2. package/dist/credentials/ResendApi.credentials.js.map +1 -1
  3. package/dist/nodes/Resend/GenericFunctions.d.ts +21 -0
  4. package/dist/nodes/Resend/GenericFunctions.js +206 -0
  5. package/dist/nodes/Resend/GenericFunctions.js.map +1 -0
  6. package/dist/nodes/Resend/Resend.node.d.ts +9 -0
  7. package/dist/nodes/Resend/Resend.node.js +916 -1189
  8. package/dist/nodes/Resend/Resend.node.js.map +1 -1
  9. package/dist/nodes/Resend/ResendTrigger.node.js +58 -21
  10. package/dist/nodes/Resend/ResendTrigger.node.js.map +1 -1
  11. package/dist/nodes/Resend/descriptions/ApiKeyDescription.d.ts +3 -0
  12. package/dist/nodes/Resend/descriptions/ApiKeyDescription.js +104 -0
  13. package/dist/nodes/Resend/descriptions/ApiKeyDescription.js.map +1 -0
  14. package/dist/nodes/Resend/descriptions/BroadcastDescription.d.ts +3 -0
  15. package/dist/nodes/Resend/descriptions/BroadcastDescription.js +294 -0
  16. package/dist/nodes/Resend/descriptions/BroadcastDescription.js.map +1 -0
  17. package/dist/nodes/Resend/descriptions/ContactDescription.d.ts +3 -0
  18. package/dist/nodes/Resend/descriptions/ContactDescription.js +321 -0
  19. package/dist/nodes/Resend/descriptions/ContactDescription.js.map +1 -0
  20. package/dist/nodes/Resend/descriptions/ContactPropertyDescription.d.ts +3 -0
  21. package/dist/nodes/Resend/descriptions/ContactPropertyDescription.js +137 -0
  22. package/dist/nodes/Resend/descriptions/ContactPropertyDescription.js.map +1 -0
  23. package/dist/nodes/Resend/descriptions/DomainDescription.d.ts +3 -0
  24. package/dist/nodes/Resend/descriptions/DomainDescription.js +163 -0
  25. package/dist/nodes/Resend/descriptions/DomainDescription.js.map +1 -0
  26. package/dist/nodes/Resend/descriptions/EmailDescription.d.ts +3 -0
  27. package/dist/nodes/Resend/descriptions/EmailDescription.js +890 -0
  28. package/dist/nodes/Resend/descriptions/EmailDescription.js.map +1 -0
  29. package/dist/nodes/Resend/descriptions/SegmentDescription.d.ts +3 -0
  30. package/dist/nodes/Resend/descriptions/SegmentDescription.js +79 -0
  31. package/dist/nodes/Resend/descriptions/SegmentDescription.js.map +1 -0
  32. package/dist/nodes/Resend/descriptions/TemplateDescription.d.ts +3 -0
  33. package/dist/nodes/Resend/descriptions/TemplateDescription.js +256 -0
  34. package/dist/nodes/Resend/descriptions/TemplateDescription.js.map +1 -0
  35. package/dist/nodes/Resend/descriptions/TopicDescription.d.ts +3 -0
  36. package/dist/nodes/Resend/descriptions/TopicDescription.js +176 -0
  37. package/dist/nodes/Resend/descriptions/TopicDescription.js.map +1 -0
  38. package/dist/nodes/Resend/descriptions/WebhookDescription.d.ts +3 -0
  39. package/dist/nodes/Resend/descriptions/WebhookDescription.js +154 -0
  40. package/dist/nodes/Resend/descriptions/WebhookDescription.js.map +1 -0
  41. package/dist/nodes/Resend/descriptions/index.d.ts +10 -0
  42. package/dist/nodes/Resend/descriptions/index.js +27 -0
  43. package/dist/nodes/Resend/descriptions/index.js.map +1 -0
  44. package/dist/nodes/Resend/resend-icon-black.svg +2 -2
  45. package/dist/nodes/Resend/resend-icon-white.svg +2 -2
  46. package/dist/package.json +8 -4
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +8 -4
package/README.md CHANGED
@@ -1,93 +1,66 @@
1
1
  <h1 align="center">
2
2
  <br>
3
- <a href="/"><img src=".github/media/resend.png" alt="..." width="900"></a>
3
+ <a href="/"><img src=".github/media/resend.png" alt="n8n-nodes-resend" width="900"></a>
4
4
  <br>
5
5
  </h1>
6
6
 
7
- # 📧 Resend Nodes for n8n
7
+ <p align="center">
8
+ <a href="https://badge.fury.io/js/n8n-nodes-resend"><img src="https://badge.fury.io/js/n8n-nodes-resend.svg" alt="npm version"></a>
9
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
10
+ </p>
8
11
 
9
- [![npm version](https://badge.fury.io/js/n8n-nodes-resend.svg)](https://badge.fury.io/js/n8n-nodes-resend)
10
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
-
12
- > **Powerful email automation for n8n using the Resend API** 🚀
13
-
14
- Transform your email workflows with comprehensive Resend integration for n8n. Send emails, manage contacts, handle domains, and automate email campaigns with ease.
12
+ <p align="center">
13
+ <a href="#installation">Installation</a> |
14
+ <a href="#credentials">Credentials</a> |
15
+ <a href="#resources">Resources</a> |
16
+ <a href="#trigger-events">Trigger Events</a> |
17
+ <a href="#development">Development</a>
18
+ </p>
15
19
 
16
20
  ---
17
21
 
18
- ## 🎯 Features
19
-
20
- - **📤 Email Operations** - Send single emails, batch emails, schedule delivery
21
- - **📎 File Attachments** - Support for binary data and remote URL attachments
22
- - **👥 Contact Management** - Create, update, delete contacts and audiences
23
- - **🌐 Domain Management** - Verify domains, configure DNS settings
24
- - **🔑 API Key Management** - Create and manage API keys programmatically
25
- - **📢 Broadcasts** - Send newsletter campaigns to audiences
26
- - **🎣 Webhook Support** - Receive real-time email events
27
-
28
- ---
29
-
30
- ## 🚀 Installation
31
-
32
- ### Method 1: Via n8n Community Nodes (Recommended)
22
+ A community node for [n8n](https://n8n.io) that integrates with the [Resend](https://resend.com) email API. Send emails, manage contacts, handle domains, and receive webhooks.
33
23
 
34
- <details>
35
- <summary>📋 Step-by-step installation guide</summary>
24
+ ## API Coverage
36
25
 
37
- 1. **Open n8n Settings**
38
- - Navigate to **Settings** → **Community Nodes**
26
+ Comprehensive coverage of the Resend API (v1.1.0). The table below shows which endpoints are currently implemented:
39
27
 
40
- 2. **Install the Package**
41
- - Click **Install a community node**
42
- - Enter: `n8n-nodes-resend`
43
- - Click **Install**
28
+ | API Resource | Endpoint | Status | Operations |
29
+ | ---------------------------- | ------------------------------------------ | --------------- | --------------------------------------------------------------- |
30
+ | **Email** | `/emails` | ✅ Full | Send, Send Batch, List, Get, Update, Cancel |
31
+ | **Email Attachments** | `/emails/{id}/attachments` | ❌ Missing | List attachments, Get attachment |
32
+ | **Receiving Emails** | `/emails/receiving` | ❌ Missing | List received, Get received, Get attachments |
33
+ | **Domains** | `/domains` | ✅ Full | Create, List, Get, Update, Delete, Verify |
34
+ | **API Keys** | `/api-keys` | ✅ Full | Create, List, Delete |
35
+ | **Templates** | `/templates` | ⚠️ Partial | Create, List, Get, Update, Delete (Missing: Publish, Duplicate) |
36
+ | **Audiences** | `/audiences` | ⚠️ Deprecated | Replaced by Segments in v2.0.0 |
37
+ | **Contacts** | `/audiences/{id}/contacts` | ✅ Full | Create, List, Get, Update, Delete |
38
+ | **Contact Segments** | `/audiences/{id}/contacts/{id}/segments` | ❌ Missing | Add to segment, List segments, Remove from segment |
39
+ | **Contact Topics** | `/audiences/{id}/contacts/{id}/topics` | ❌ Missing | Get topics, Update topics |
40
+ | **Broadcasts** | `/broadcasts` | ✅ Full | Create, List, Get, Update, Delete, Send |
41
+ | **Segments** | `/segments` | ⚠️ Partial | Create, List, Get, Delete (Missing: Update, Filter conditions) |
42
+ | **Topics** | `/topics` | ✅ Full | Create, List, Get, Update, Delete |
43
+ | **Contact Properties** | `/contact-properties` | ✅ Full | Create, List, Get, Update, Delete |
44
+ | **Webhooks** | `/webhooks` | ✅ Full | Create, List, Get, Update, Delete |
44
45
 
45
- 3. **Restart n8n**
46
- - Restart your n8n instance to load the new nodes
46
+ ## Installation
47
47
 
48
- 4. **Verify Installation**
49
- - The **Resend** and **Resend Trigger** nodes should appear in your node palette
48
+ ### Community Nodes (Recommended)
50
49
 
51
- </details>
50
+ 1. Go to **Settings** > **Community Nodes**
51
+ 2. Click **Install a community node**
52
+ 3. Enter `n8n-nodes-resend`
53
+ 4. Restart n8n
52
54
 
53
- ### Method 2: Manual Installation
54
-
55
- <details>
56
- <summary>🔧 For self-hosted n8n instances</summary>
55
+ ### Manual Installation
57
56
 
58
57
  ```bash
59
- # Navigate to your n8n installation directory
60
58
  cd ~/.n8n
61
-
62
- # Install the package
63
59
  npm install n8n-nodes-resend
64
-
65
- # Restart n8n
66
- # If using PM2: pm2 restart n8n
67
- # If using Docker: docker restart n8n
68
- # If running directly: restart your n8n process
69
60
  ```
70
61
 
71
- </details>
72
-
73
- ### Method 3: Docker Installation
74
-
75
- <details>
76
- <summary>🐳 For Docker users</summary>
77
-
78
- Add this to your `docker-compose.yml`:
62
+ ### Docker
79
63
 
80
- ```yaml
81
- version: '3.8'
82
- services:
83
- n8n:
84
- image: n8nio/n8n
85
- environment:
86
- - N8N_NODES_INCLUDE=n8n-nodes-resend
87
- # ... other configuration
88
- ```
89
-
90
- Or use environment variable:
91
64
  ```bash
92
65
  docker run -it --rm \
93
66
  -p 5678:5678 \
@@ -95,308 +68,161 @@ docker run -it --rm \
95
68
  n8nio/n8n
96
69
  ```
97
70
 
98
- </details>
99
-
100
- ---
101
-
102
- ## 🔐 Credentials Setup
103
-
104
- > [!IMPORTANT]
105
- > You need a Resend account and API key to use these nodes.
106
-
107
- <details>
108
- <summary>🔑 Configure Resend API Credentials</summary>
109
-
110
- 1. **Get Your API Key**
111
- - Visit [Resend Dashboard](https://resend.com/api-keys)
112
- - Create a new API key with appropriate permissions
113
- - Copy the API key (starts with `re_`)
114
-
115
- 2. **Add Credentials in n8n**
116
- - Go to **Credentials** → **Add credential**
117
- - Search for **"Resend API"**
118
- - Paste your API key
119
- - Test the connection
120
- - Save the credential
121
-
122
- > [!TIP]
123
- > Use different API keys for development and production environments
124
-
125
- </details>
126
-
127
- ---
128
-
129
- ## 📚 Available Nodes
130
-
131
- ### 🎬 Resend Action Node
132
-
133
- The main node for performing Resend operations.
134
-
135
- <details>
136
- <summary>📧 Email Operations</summary>
137
-
138
- #### Send Email
139
- Send individual emails with rich content and attachments.
140
-
141
- **Key Features:**
142
- - HTML and plain text content
143
- - File attachments (binary data or URLs)
144
- - CC/BCC recipients
145
- - ✅ Custom reply-to addresses
146
- - ✅ Email scheduling
147
-
148
- **Example Use Cases:**
149
- - Welcome emails for new users
150
- - Invoice delivery with PDF attachments
151
- - Password reset notifications
152
- - Marketing campaigns
153
-
154
- #### Send Batch Emails
155
- Send up to 100 emails in a single API call for better performance.
156
-
157
- **Key Features:**
158
- - Bulk email sending
159
- - Individual customization per email
160
- - Better rate limiting
161
- - ⚠️ No attachment support (API limitation)
162
-
163
- #### Email Management
164
- - **Retrieve Email** - Get email details and status
165
- - **Cancel Email** - Cancel scheduled emails
166
- - **Update Email** - Modify scheduled emails
167
-
168
- </details>
169
-
170
- <details>
171
- <summary>👥 Contact & Audience Management</summary>
172
-
173
- #### Contacts
174
- - **Create Contact** - Add new contacts to audiences
175
- - **Get Contact** - Retrieve contact information
176
- - **Update Contact** - Modify contact details
177
- - **Delete Contact** - Remove contacts from audiences
178
- - **List Contacts** - Get all contacts in an audience
179
-
180
- #### Audiences
181
- - **Create Audience** - Set up new email lists
182
- - **Get Audience** - Retrieve audience details
183
- - **List Audiences** - Get all your audiences
184
- - **Delete Audience** - Remove email lists
185
-
186
- </details>
187
-
188
- <details>
189
- <summary>🌐 Domain & Infrastructure</summary>
190
-
191
- #### Domain Management
192
- - **Add Domain** - Register new sending domains
193
- - **Verify Domain** - Check domain verification status
194
- - **Get Domain** - Retrieve domain configuration
195
- - **Update Domain** - Modify domain settings
196
- - **Delete Domain** - Remove domains
197
-
198
- #### API Keys
199
- - **Create API Key** - Generate new API keys
200
- - **List API Keys** - View existing keys
201
- - **Delete API Key** - Revoke access keys
202
-
203
- </details>
204
-
205
- <details>
206
- <summary>📢 Broadcast Campaigns</summary>
207
-
208
- - **Create Broadcast** - Set up email campaigns
209
- - **Get Broadcast** - Retrieve campaign details
210
- - **Send Broadcast** - Launch email campaigns
211
- - **Update Broadcast** - Modify campaign settings
212
-
213
- </details>
214
-
215
- ### 🎯 Resend Trigger Node
216
-
217
- Real-time webhook processing for email events.
218
-
219
- <details>
220
- <summary>📡 Supported Events</summary>
221
-
222
- - **`email.sent`** - Email successfully sent
223
- - **`email.delivered`** - Email delivered to recipient
224
- - **`email.opened`** - Recipient opened the email
225
- - **`email.clicked`** - Link clicked in email
226
- - **`email.bounced`** - Email bounced
227
- - **`email.complained`** - Spam complaint received
228
- - **`contact.created`** - New contact added
229
- - **`contact.updated`** - Contact information changed
230
- - **`contact.deleted`** - Contact removed
231
-
232
- </details>
233
-
234
- ---
235
-
236
- ## 💡 Usage Examples
237
-
238
- <details>
239
- <summary>📧 Email with Attachments Example</summary>
240
-
241
- ```yaml
242
- # Example workflow: Send invoice email with PDF attachment
243
- Workflow:
244
- 1. HTTP Request Node (trigger)
245
- 2. Code Node (generate invoice data)
246
- 3. HTML/CSS to PDF Node (create PDF)
247
- 4. Resend Node (send email with attachment)
248
-
249
- Resend Node Configuration:
250
- - Resource: Email
251
- - Operation: Send
252
- - From: billing@yourcompany.com
253
- - To: {{ $json.customerEmail }}
254
- - Subject: Your Invoice #{{ $json.invoiceNumber }}
255
- - Attachments:
256
- - Type: Binary Data
257
- - Binary Property: data
258
- - Filename: invoice-{{ $json.invoiceNumber }}.pdf
259
- ```
260
-
261
- </details>
262
-
263
- <details>
264
- <summary>🔄 Automated Email Campaigns</summary>
265
-
266
- ```yaml
267
- # Example: Weekly newsletter automation
268
- Workflow:
269
- 1. Cron Trigger (weekly)
270
- 2. Database Node (fetch newsletter content)
271
- 3. Resend Node (create broadcast)
272
- 4. Resend Node (send to audience)
273
-
274
- Benefits:
275
- - Automated scheduling
276
- - Audience segmentation
277
- - Performance tracking
278
- ```
279
-
280
- </details>
281
-
282
- <details>
283
- <summary>📊 Email Event Processing</summary>
284
-
285
- ```yaml
286
- # Example: Handle bounced emails
287
- Trigger: Resend Trigger Node
288
- - Event: email.bounced
289
-
290
- Actions:
291
- 1. Database Node (log bounce)
292
- 2. Resend Node (remove from audience)
293
- 3. Slack Node (notify team)
294
- ```
295
-
296
- </details>
297
-
298
- ---
299
-
300
- ## ⚠️ Important Notes
301
-
302
- > [!WARNING]
303
- > **Attachment Limitations:**
304
- > - Maximum email size: **40MB** (including attachments)
305
- > - Attachments **not supported** with scheduled emails or batch operations
306
- > - Some file types may be blocked by email providers
307
-
308
- > [!NOTE]
309
- > **Rate Limits:** Respect Resend's API rate limits. Use batch emails for better efficiency.
310
-
311
- <details>
312
- <summary>📋 API Limitations & Best Practices</summary>
313
-
314
- ### Best Practices
315
- - ✅ Always verify your sending domains
316
- - ✅ Use appropriate API key permissions
317
- - ✅ Handle webhook events for better deliverability
318
- - ✅ Implement proper error handling
319
- - ✅ Monitor email metrics and bounce rates
320
-
321
- ### Rate Limits
322
- - **Single emails**: Standard Resend rate limits apply
323
- - **Batch emails**: More efficient for bulk sending
324
- - **API calls**: Respect Resend's rate limiting
325
-
326
- </details>
327
-
328
- ---
329
-
330
- ## 🔧 Development
331
-
332
- <details>
333
- <summary>🛠️ Contributing & Development Setup</summary>
71
+ ## Credentials
72
+
73
+ 1. Get your API key from [Resend Dashboard](https://resend.com/api-keys)
74
+ 2. In n8n, go to **Credentials** > **Add credential**
75
+ 3. Search for **Resend API** and paste your key
76
+
77
+ ## Resources
78
+
79
+ ### Email
80
+
81
+ | Operation | Description |
82
+ | ---------- | --------------------------------------------- |
83
+ | Send | Send a single email with optional attachments |
84
+ | Send Batch | Send up to 100 emails in one request |
85
+ | List | List sent emails |
86
+ | Get | Retrieve email details and status |
87
+ | Cancel | Cancel a scheduled email |
88
+ | Update | Modify a scheduled email |
89
+
90
+ ### Contact
91
+
92
+ | Operation | Description |
93
+ | --------- | -------------------------- |
94
+ | Create | Add a new contact |
95
+ | Get | Retrieve contact details |
96
+ | Update | Modify contact information |
97
+ | Delete | Remove a contact |
98
+ | List | List all contacts |
99
+
100
+ ### Contact Property
101
+
102
+ | Operation | Description |
103
+ | --------- | -------------------------------- |
104
+ | Create | Create a custom contact property |
105
+ | Get | Retrieve property details |
106
+ | Update | Modify property settings |
107
+ | Delete | Remove a property |
108
+ | List | List all contact properties |
109
+
110
+ ### Segment
111
+
112
+ | Operation | Description |
113
+ | --------- | ------------------------ |
114
+ | Create | Create a new segment |
115
+ | Get | Retrieve segment details |
116
+ | Delete | Remove a segment |
117
+ | List | List all segments |
118
+
119
+ ### Topic
120
+
121
+ | Operation | Description |
122
+ | --------- | --------------------------- |
123
+ | Create | Create a subscription topic |
124
+ | Get | Retrieve topic details |
125
+ | Update | Modify topic settings |
126
+ | Delete | Remove a topic |
127
+ | List | List all topics |
128
+
129
+ ### Broadcast
130
+
131
+ | Operation | Description |
132
+ | --------- | ----------------------------- |
133
+ | Create | Create an email campaign |
134
+ | Get | Retrieve broadcast details |
135
+ | Send | Send a broadcast to a segment |
136
+ | Update | Modify broadcast settings |
137
+ | Delete | Remove a broadcast |
138
+ | List | List all broadcasts |
139
+
140
+ ### Template
141
+
142
+ | Operation | Description |
143
+ | --------- | ------------------------- |
144
+ | Create | Create an email template |
145
+ | Get | Retrieve template details |
146
+ | Update | Modify a template |
147
+ | Delete | Remove a template |
148
+ | List | List all templates |
149
+
150
+ ### Domain
151
+
152
+ | Operation | Description |
153
+ | --------- | --------------------------- |
154
+ | Create | Add a sending domain |
155
+ | Get | Retrieve domain details |
156
+ | Verify | Trigger domain verification |
157
+ | Update | Modify domain settings |
158
+ | Delete | Remove a domain |
159
+ | List | List all domains |
160
+
161
+ ### API Key
162
+
163
+ | Operation | Description |
164
+ | --------- | ---------------------- |
165
+ | Create | Generate a new API key |
166
+ | Delete | Revoke an API key |
167
+ | List | List all API keys |
168
+
169
+ ### Webhook
170
+
171
+ | Operation | Description |
172
+ | --------- | ------------------------- |
173
+ | Create | Create a webhook endpoint |
174
+ | Get | Retrieve webhook details |
175
+ | Update | Modify webhook settings |
176
+ | Delete | Remove a webhook |
177
+ | List | List all webhooks |
178
+
179
+ ## Trigger Events
180
+
181
+ The **Resend Trigger** node receives webhooks for real-time email events. Signatures are automatically verified using Svix.
182
+
183
+ | Event | Description |
184
+ | -------------------------- | ---------------------------- |
185
+ | `email.sent` | Email sent to recipient |
186
+ | `email.delivered` | Email delivered successfully |
187
+ | `email.delivery_delayed` | Email delivery delayed |
188
+ | `email.opened` | Recipient opened the email |
189
+ | `email.clicked` | Link clicked in email |
190
+ | `email.bounced` | Email bounced |
191
+ | `email.complained` | Spam complaint received |
192
+ | `contact.created` | New contact added |
193
+ | `contact.updated` | Contact modified |
194
+ | `contact.deleted` | Contact removed |
195
+ | `domain.created` | New domain added |
196
+ | `domain.updated` | Domain modified |
197
+ | `domain.deleted` | Domain removed |
198
+
199
+ ## Limitations
200
+
201
+ - Maximum email size: 40MB (including attachments)
202
+ - Attachments not supported with scheduled emails
203
+
204
+ ## Development
334
205
 
335
206
  ```bash
336
- # Clone the repository
337
- git clone https://github.com/your-repo/n8n-nodes-resend.git
338
-
339
- # Install dependencies
207
+ git clone https://github.com/SilkePilon/n8n-nodes-resend.git
208
+ cd n8n-nodes-resend
340
209
  npm install
341
-
342
- # Build the project
343
210
  npm run build
344
-
345
- # Run linting
346
211
  npm run lint
347
-
348
- # Run tests
349
- npm test
350
- ```
351
-
352
- ### Project Structure
353
212
  ```
354
- ├── credentials/
355
- │ └── ResendApi.credentials.ts
356
- ├── nodes/
357
- │ └── Resend/
358
- │ ├── Resend.node.ts
359
- │ ├── ResendTrigger.node.ts
360
- │ └── icons/
361
- └── package.json
362
- ```
363
-
364
- </details>
365
213
 
366
- ---
214
+ ## License
367
215
 
368
- ## 🤝 Support
216
+ [MIT](LICENSE.md)
369
217
 
370
- <details>
371
- <summary>❓ Getting Help</summary>
218
+ ## Acknowledgments
372
219
 
373
- - **Documentation**: [Resend API Docs](https://resend.com/docs)
374
- - **Issues**: [GitHub Issues](https://github.com/your-repo/issues)
375
- - **n8n Community**: [n8n Community Forum](https://community.n8n.io)
376
- - **Discord**: [n8n Discord Server](https://discord.gg/n8n)
377
-
378
- </details>
379
-
380
- ---
381
-
382
- ## 📄 License
383
-
384
- This project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.
385
-
386
- ---
387
-
388
- ## 🙏 Acknowledgments
389
-
390
- - Built for the amazing [n8n](https://n8n.io) workflow automation platform
391
- - Powered by [Resend](https://resend.com) email infrastructure
392
- - Inspired by the n8n community
220
+ Enhanced with contributions from [jannispkz/n8n-nodes-resend-complete](https://github.com/jannispkz/n8n-nodes-resend-complete).
393
221
 
394
222
  ---
395
223
 
396
- <div align="center">
397
-
398
- **Made with ❤️ for the n8n community**
399
-
400
- [⭐ Star this repo](https://github.com/your-repo/n8n-nodes-resend) | [🐛 Report Issues](https://github.com/your-repo/issues) | [💡 Request Features](https://github.com/your-repo/issues/new)
401
-
402
- </div>
224
+ <p align="center">
225
+ <a href="https://github.com/SilkePilon/n8n-nodes-resend">GitHub</a> |
226
+ <a href="https://github.com/SilkePilon/n8n-nodes-resend/issues">Issues</a> |
227
+ <a href="https://resend.com/docs">Resend Docs</a>
228
+ </p>
@@ -1 +1 @@
1
- {"version":3,"file":"ResendApi.credentials.js","sourceRoot":"","sources":["../../credentials/ResendApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IAAtB;QACC,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,YAAY,CAAC;QAC3B,qBAAgB,GAAG,oDAAoD,CAAC;QACxE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;aACd;SACD,CAAC;QAAC,iBAAY,GAAyB;YACvC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,sCAAsC;iBACrD;aACD;SACD,CAAC;QACF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,wBAAwB;gBACjC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA5BD,8BA4BC"}
1
+ {"version":3,"file":"ResendApi.credentials.js","sourceRoot":"","sources":["../../credentials/ResendApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IAAtB;QACC,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,YAAY,CAAC;QAC3B,qBAAgB,GAAG,oDAAoD,CAAC;QACxE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;aACd;SACD,CAAC;QACF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,sCAAsC;iBACrD;aACD;SACD,CAAC;QACF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,wBAAwB;gBACjC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA7BD,8BA6BC"}
@@ -0,0 +1,21 @@
1
+ import { IExecuteFunctions, IHttpRequestMethods, ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
2
+ export declare const resendRequest: <T = unknown>(executeFunctions: IExecuteFunctions, method: IHttpRequestMethods, endpoint: string, apiKey: string, body?: Record<string, unknown> | Record<string, unknown>[], qs?: Record<string, string | number>) => Promise<T>;
3
+ export declare const normalizeEmailList: (value: string | string[] | undefined) => string[];
4
+ export declare const parseTemplateVariables: (executeFunctions: IExecuteFunctions, variablesInput: {
5
+ variables?: Array<{
6
+ key: string;
7
+ type: string;
8
+ fallbackValue?: unknown;
9
+ }>;
10
+ } | undefined, fallbackKey: "fallbackValue" | "fallback_value", itemIndex: number) => Record<string, unknown>[] | undefined;
11
+ export declare const buildTemplateSendVariables: (variablesInput: {
12
+ variables?: Array<{
13
+ key: string;
14
+ value?: unknown;
15
+ }>;
16
+ } | undefined) => Record<string, unknown> | undefined;
17
+ export declare const requestList: (executeFunctions: IExecuteFunctions, url: string, apiKey: string, returnAll: boolean, limit?: number) => Promise<unknown[]>;
18
+ export declare function getTemplateVariables(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
19
+ export declare function getTemplates(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
20
+ export declare function getSegments(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
21
+ export declare function getTopics(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;