n8n-nodes-resend 1.0.6 → 1.0.8
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.
- package/README.md +245 -14
- package/dist/nodes/Resend/Resend.node.js +273 -20
- package/dist/nodes/Resend/Resend.node.js.map +1 -1
- package/dist/nodes/Resend/Resend.svg +4 -191
- package/dist/nodes/Resend/ResendTrigger.node.js +1 -1
- package/dist/nodes/Resend/ResendTrigger.node.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,12 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
This package provides n8n nodes to interact with the Resend email platform. It allows you to:
|
|
5
|
+
This package provides comprehensive n8n nodes to interact with the Resend email platform. It allows you to:
|
|
6
6
|
|
|
7
|
-
* Send
|
|
8
|
-
*
|
|
7
|
+
* **Email Operations:** Send, get, update, and cancel emails
|
|
8
|
+
* **Contact Management:** Create, get, update, and delete contacts in audiences
|
|
9
|
+
* **Audience Management:** Create, get, update, and delete audiences
|
|
10
|
+
* **Domain Management:** Create, get, update, verify, and delete domains
|
|
11
|
+
* **API Key Management:** Create and delete API keys
|
|
12
|
+
* **Broadcast Management:** Create, get, and update email broadcasts
|
|
13
|
+
* **Webhook Processing:** Receive and process webhook events from Resend
|
|
9
14
|
|
|
10
|
-
This integration uses the official [Resend API](https://resend.com/docs/api-reference/introduction).
|
|
15
|
+
This integration uses the official [Resend API](https://resend.com/docs/api-reference/introduction) and provides full coverage of all available endpoints.
|
|
11
16
|
|
|
12
17
|
## Prerequisites/Setup
|
|
13
18
|
|
|
@@ -30,12 +35,13 @@ To use these nodes, you need to configure the "Resend API" credentials in n8n:
|
|
|
30
35
|
### Resend Action Node
|
|
31
36
|
|
|
32
37
|
* **Name:** `Resend`
|
|
33
|
-
* **Description:**
|
|
38
|
+
* **Description:** Comprehensive Resend API integration supporting all major operations including emails, contacts, audiences, domains, API keys, and broadcasts.
|
|
34
39
|
|
|
35
|
-
#### Operations
|
|
40
|
+
#### Resources and Operations
|
|
36
41
|
|
|
37
|
-
#####
|
|
42
|
+
##### Email Operations
|
|
38
43
|
|
|
44
|
+
###### Send Email
|
|
39
45
|
* **Description:** Sends an email using the Resend API.
|
|
40
46
|
* **Parameters:**
|
|
41
47
|
* **Email Format**: Choose between HTML, Text, or Both formats for your email content.
|
|
@@ -51,6 +57,156 @@ To use these nodes, you need to configure the "Resend API" credentials in n8n:
|
|
|
51
57
|
* **Text Content (Fallback)**: Plain text version for HTML-only emails (recommended for better deliverability).
|
|
52
58
|
* **Tags**: (Collection, Optional) A list of tags (name/value pairs) to categorize the email (e.g., `[{ "name": "category", "value": "transactional" }]`).
|
|
53
59
|
|
|
60
|
+
###### Get Email
|
|
61
|
+
* **Description:** Retrieves information about a specific email by ID.
|
|
62
|
+
* **Parameters:**
|
|
63
|
+
* **Email ID**: (String, Required) The unique identifier of the email to retrieve.
|
|
64
|
+
|
|
65
|
+
###### Update Email
|
|
66
|
+
* **Description:** Updates an email (e.g., to schedule it for later delivery).
|
|
67
|
+
* **Parameters:**
|
|
68
|
+
* **Email ID**: (String, Required) The unique identifier of the email to update.
|
|
69
|
+
* **Scheduled At**: (String, Optional) Schedule email to be sent later in ISO 8601 format.
|
|
70
|
+
|
|
71
|
+
###### Cancel Email
|
|
72
|
+
* **Description:** Cancels a scheduled email before it's sent.
|
|
73
|
+
* **Parameters:**
|
|
74
|
+
* **Email ID**: (String, Required) The unique identifier of the email to cancel.
|
|
75
|
+
|
|
76
|
+
##### Contact Operations
|
|
77
|
+
|
|
78
|
+
###### Create Contact
|
|
79
|
+
* **Description:** Creates a new contact in an audience.
|
|
80
|
+
* **Parameters:**
|
|
81
|
+
* **Audience ID**: (String, Required) The audience to add the contact to.
|
|
82
|
+
* **Email**: (String, Required) The contact's email address.
|
|
83
|
+
* **Additional Fields**: (Collection, Optional) Additional contact information:
|
|
84
|
+
* **First Name**: Contact's first name.
|
|
85
|
+
* **Last Name**: Contact's last name.
|
|
86
|
+
* **Unsubscribed**: Whether the contact is unsubscribed.
|
|
87
|
+
|
|
88
|
+
###### Get Contact
|
|
89
|
+
* **Description:** Retrieves information about a specific contact.
|
|
90
|
+
* **Parameters:**
|
|
91
|
+
* **Audience ID**: (String, Required) The audience containing the contact.
|
|
92
|
+
* **Contact ID**: (String, Required) The unique identifier of the contact.
|
|
93
|
+
|
|
94
|
+
###### Update Contact
|
|
95
|
+
* **Description:** Updates an existing contact's information.
|
|
96
|
+
* **Parameters:**
|
|
97
|
+
* **Audience ID**: (String, Required) The audience containing the contact.
|
|
98
|
+
* **Update By**: (Options, Required) Whether to update by Contact ID or Email address.
|
|
99
|
+
* **Contact Identifier**: (String, Required) Either the contact ID or email address.
|
|
100
|
+
* **Additional Fields**: (Collection, Optional) Fields to update:
|
|
101
|
+
* **First Name**: Updated first name.
|
|
102
|
+
* **Last Name**: Updated last name.
|
|
103
|
+
* **Unsubscribed**: Updated subscription status.
|
|
104
|
+
|
|
105
|
+
###### Delete Contact
|
|
106
|
+
* **Description:** Removes a contact from an audience.
|
|
107
|
+
* **Parameters:**
|
|
108
|
+
* **Audience ID**: (String, Required) The audience containing the contact.
|
|
109
|
+
* **Contact ID**: (String, Required) The unique identifier of the contact to delete.
|
|
110
|
+
|
|
111
|
+
###### List Contacts
|
|
112
|
+
* **Description:** Retrieves all contacts in an audience.
|
|
113
|
+
* **Parameters:**
|
|
114
|
+
* **Audience ID**: (String, Required) The audience to list contacts from.
|
|
115
|
+
|
|
116
|
+
##### Audience Operations
|
|
117
|
+
|
|
118
|
+
###### Create Audience
|
|
119
|
+
* **Description:** Creates a new audience for organizing contacts.
|
|
120
|
+
* **Parameters:**
|
|
121
|
+
* **Audience Name**: (String, Required) The name of the audience.
|
|
122
|
+
|
|
123
|
+
###### Get Audience
|
|
124
|
+
* **Description:** Retrieves information about a specific audience.
|
|
125
|
+
* **Parameters:**
|
|
126
|
+
* **Audience ID**: (String, Required) The unique identifier of the audience.
|
|
127
|
+
|
|
128
|
+
###### List Audiences
|
|
129
|
+
* **Description:** Retrieves all audiences in your account.
|
|
130
|
+
|
|
131
|
+
###### Delete Audience
|
|
132
|
+
* **Description:** Deletes an audience and all its contacts.
|
|
133
|
+
* **Parameters:**
|
|
134
|
+
* **Audience ID**: (String, Required) The unique identifier of the audience to delete.
|
|
135
|
+
|
|
136
|
+
##### Domain Operations
|
|
137
|
+
|
|
138
|
+
###### Create Domain
|
|
139
|
+
* **Description:** Adds a new domain to your Resend account.
|
|
140
|
+
* **Parameters:**
|
|
141
|
+
* **Domain Name**: (String, Required) The domain name to add (e.g., `example.com`).
|
|
142
|
+
* **Region**: (Options, Optional) The region for the domain (us-east-1, eu-west-1, etc.).
|
|
143
|
+
|
|
144
|
+
###### Get Domain
|
|
145
|
+
* **Description:** Retrieves information about a specific domain.
|
|
146
|
+
* **Parameters:**
|
|
147
|
+
* **Domain ID**: (String, Required) The unique identifier of the domain.
|
|
148
|
+
|
|
149
|
+
###### Update Domain
|
|
150
|
+
* **Description:** Updates domain configuration settings.
|
|
151
|
+
* **Parameters:**
|
|
152
|
+
* **Domain ID**: (String, Required) The unique identifier of the domain.
|
|
153
|
+
* **Domain Update Options**: (Collection, Optional) Settings to update:
|
|
154
|
+
* **Click Tracking**: Whether to track clicks in emails.
|
|
155
|
+
* **Open Tracking**: Whether to track email opens.
|
|
156
|
+
* **TLS**: TLS enforcement setting (Opportunistic or Enforced).
|
|
157
|
+
|
|
158
|
+
###### Verify Domain
|
|
159
|
+
* **Description:** Initiates domain verification process.
|
|
160
|
+
* **Parameters:**
|
|
161
|
+
* **Domain ID**: (String, Required) The unique identifier of the domain to verify.
|
|
162
|
+
|
|
163
|
+
###### List Domains
|
|
164
|
+
* **Description:** Retrieves all domains in your account.
|
|
165
|
+
|
|
166
|
+
###### Delete Domain
|
|
167
|
+
* **Description:** Removes a domain from your account.
|
|
168
|
+
* **Parameters:**
|
|
169
|
+
* **Domain ID**: (String, Required) The unique identifier of the domain to delete.
|
|
170
|
+
|
|
171
|
+
##### API Key Operations
|
|
172
|
+
|
|
173
|
+
###### Create API Key
|
|
174
|
+
* **Description:** Creates a new API key with specified permissions.
|
|
175
|
+
* **Parameters:**
|
|
176
|
+
* **API Key Name**: (String, Required) The name for the new API key.
|
|
177
|
+
* **Permission**: (Options, Required) The permission level (full_access or sending_access).
|
|
178
|
+
* **Domain ID**: (String, Optional) Required when permission is sending_access - restricts the key to a specific domain.
|
|
179
|
+
|
|
180
|
+
###### Delete API Key
|
|
181
|
+
* **Description:** Revokes an existing API key.
|
|
182
|
+
* **Parameters:**
|
|
183
|
+
* **API Key ID**: (String, Required) The unique identifier of the API key to delete.
|
|
184
|
+
|
|
185
|
+
##### Broadcast Operations
|
|
186
|
+
|
|
187
|
+
###### Create Broadcast
|
|
188
|
+
* **Description:** Creates a new email broadcast campaign.
|
|
189
|
+
* **Parameters:**
|
|
190
|
+
* **Broadcast Content**: (Collection, Required) The broadcast content and settings:
|
|
191
|
+
* **Audience ID**: The audience to send the broadcast to.
|
|
192
|
+
* **From**: Sender email address.
|
|
193
|
+
* **HTML Content**: HTML version of the email.
|
|
194
|
+
* **Name**: Internal name for the broadcast.
|
|
195
|
+
* **Reply To**: Reply-to email address.
|
|
196
|
+
* **Subject**: Email subject line.
|
|
197
|
+
* **Text Content**: Plain text version of the email.
|
|
198
|
+
|
|
199
|
+
###### Get Broadcast
|
|
200
|
+
* **Description:** Retrieves information about a specific broadcast.
|
|
201
|
+
* **Parameters:**
|
|
202
|
+
* **Broadcast ID**: (String, Required) The unique identifier of the broadcast.
|
|
203
|
+
|
|
204
|
+
###### Update Broadcast
|
|
205
|
+
* **Description:** Updates an existing broadcast.
|
|
206
|
+
* **Parameters:**
|
|
207
|
+
* **Broadcast ID**: (String, Required) The unique identifier of the broadcast.
|
|
208
|
+
* **Broadcast Content**: (Collection, Optional) Fields to update (same as create operation).
|
|
209
|
+
|
|
54
210
|
### Resend Trigger Node
|
|
55
211
|
|
|
56
212
|
* **Name:** `Resend Trigger`
|
|
@@ -107,13 +263,88 @@ The trigger node outputs the complete JSON payload sent by Resend for the config
|
|
|
107
263
|
|
|
108
264
|
## Example Usage
|
|
109
265
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
266
|
+
### Resend Action Node Examples
|
|
267
|
+
|
|
268
|
+
#### Email Operations
|
|
269
|
+
* **Send Welcome Email:** When a new user signs up, send a personalized welcome email with HTML formatting and tracking.
|
|
270
|
+
* **Schedule Marketing Email:** Create and schedule promotional emails to be sent at optimal times.
|
|
271
|
+
* **Cancel Scheduled Email:** Cancel emails that are no longer relevant before they're sent.
|
|
272
|
+
|
|
273
|
+
#### Contact Management
|
|
274
|
+
* **Newsletter Signup:** When users subscribe to your newsletter, create contacts in your audience with their preferences.
|
|
275
|
+
* **Update Contact Preferences:** Update contact information when users modify their profile or preferences.
|
|
276
|
+
* **Clean Contact Lists:** Remove bounced or unsubscribed contacts to maintain list hygiene.
|
|
277
|
+
|
|
278
|
+
#### Audience Segmentation
|
|
279
|
+
* **Create Targeted Audiences:** Organize contacts into specific audiences based on behavior, location, or preferences.
|
|
280
|
+
* **Manage Multiple Lists:** Maintain separate audiences for different product lines or customer segments.
|
|
281
|
+
|
|
282
|
+
#### Domain Management
|
|
283
|
+
* **Add New Domains:** Set up new sending domains when expanding to new brands or regions.
|
|
284
|
+
* **Configure Tracking:** Enable click and open tracking to measure email engagement.
|
|
285
|
+
* **Domain Verification:** Automate domain verification workflows for new domains.
|
|
286
|
+
|
|
287
|
+
#### API Key Management
|
|
288
|
+
* **Provision Access:** Create limited API keys for third-party integrations or team members.
|
|
289
|
+
* **Rotate Keys:** Regularly delete and recreate API keys for security compliance.
|
|
290
|
+
|
|
291
|
+
#### Broadcast Campaigns
|
|
292
|
+
* **Newsletter Campaigns:** Create and send newsletters to your entire audience.
|
|
293
|
+
* **Product Announcements:** Send targeted broadcasts about new features or products.
|
|
294
|
+
* **Event Invitations:** Create and manage event invitation campaigns.
|
|
295
|
+
|
|
296
|
+
### Resend Trigger Node Examples
|
|
297
|
+
### Resend Trigger Node Examples
|
|
298
|
+
|
|
299
|
+
#### Email Event Automation
|
|
300
|
+
* **Bounce Handling:** When an `email.bounced` event is received:
|
|
301
|
+
1. Parse the bounced email address from the trigger output
|
|
302
|
+
2. Update the contact record in your CRM to mark the email as invalid
|
|
303
|
+
3. Move the contact to a "bounced" audience
|
|
304
|
+
4. Notify your support team about the bounce
|
|
305
|
+
|
|
306
|
+
* **Engagement Tracking:** When `email.opened` or `email.clicked` events occur:
|
|
307
|
+
1. Update customer engagement scores in your database
|
|
308
|
+
2. Trigger follow-up email sequences based on engagement
|
|
309
|
+
3. Add engaged contacts to VIP audiences
|
|
310
|
+
|
|
311
|
+
* **Delivery Monitoring:** When `email.delivery_delayed` events happen:
|
|
312
|
+
1. Log delivery issues for monitoring
|
|
313
|
+
2. Retry sending through alternative channels if needed
|
|
314
|
+
3. Alert administrators about potential delivery problems
|
|
315
|
+
|
|
316
|
+
#### Contact Event Automation
|
|
317
|
+
* **Contact Lifecycle Management:** When `contact.created`, `contact.updated`, or `contact.deleted` events occur:
|
|
318
|
+
1. Sync contact changes with your CRM or database
|
|
319
|
+
2. Update customer profiles in your application
|
|
320
|
+
3. Trigger welcome sequences for new contacts
|
|
321
|
+
|
|
322
|
+
#### Domain Event Automation
|
|
323
|
+
* **Domain Management:** When `domain.created`, `domain.updated`, or `domain.deleted` events happen:
|
|
324
|
+
1. Update your internal domain registry
|
|
325
|
+
2. Configure DNS settings automatically
|
|
326
|
+
3. Notify team members about domain changes
|
|
327
|
+
|
|
328
|
+
## Advanced Features
|
|
329
|
+
|
|
330
|
+
### Variable Support in Broadcasts
|
|
331
|
+
Broadcasts support dynamic content using variables like:
|
|
332
|
+
* `{{{FIRST_NAME|there}}}` - Personalize with first name, fallback to "there"
|
|
333
|
+
* `{{{RESEND_UNSUBSCRIBE_URL}}}` - Automatic unsubscribe link
|
|
334
|
+
* `{{{COMPANY_NAME}}}` - Company name from contact data
|
|
335
|
+
|
|
336
|
+
### Error Handling
|
|
337
|
+
All operations include comprehensive error handling with descriptive messages for common issues like:
|
|
338
|
+
* Invalid email addresses
|
|
339
|
+
* Missing required fields
|
|
340
|
+
* API rate limits
|
|
341
|
+
* Authentication failures
|
|
342
|
+
* Domain verification issues
|
|
343
|
+
|
|
344
|
+
### Security Features
|
|
345
|
+
* **Webhook Signature Verification:** All webhooks are verified using Svix for security
|
|
346
|
+
* **API Key Scoping:** Create limited-scope API keys for specific domains or operations
|
|
347
|
+
* **TLS Enforcement:** Configure domains with enforced TLS for secure email delivery
|
|
117
348
|
|
|
118
349
|
## License
|
|
119
350
|
|