@sendpulse/n8n-nodes-sendpulse 0.0.1

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 (71) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +820 -0
  3. package/dist/credentials/SendPulseApi.credentials.d.ts +10 -0
  4. package/dist/credentials/SendPulseApi.credentials.js +37 -0
  5. package/dist/credentials/SendPulseApi.credentials.js.map +1 -0
  6. package/dist/credentials/SendPulseOAuth2Api.credentials.d.ts +10 -0
  7. package/dist/credentials/SendPulseOAuth2Api.credentials.js +62 -0
  8. package/dist/credentials/SendPulseOAuth2Api.credentials.js.map +1 -0
  9. package/dist/icons/sendpulse.dark.svg +4 -0
  10. package/dist/icons/sendpulse.svg +4 -0
  11. package/dist/images/mailing-list-operation.png +0 -0
  12. package/dist/images/node.png +0 -0
  13. package/dist/images/workflow1.png +0 -0
  14. package/dist/images/workflow2.png +0 -0
  15. package/dist/images/workflow3.png +0 -0
  16. package/dist/nodes/SendPulseA360/SendPulseA360.node.d.ts +4 -0
  17. package/dist/nodes/SendPulseA360/SendPulseA360.node.js +174 -0
  18. package/dist/nodes/SendPulseA360/SendPulseA360.node.js.map +1 -0
  19. package/dist/nodes/SendPulseA360/SendPulseA360.node.json +25 -0
  20. package/dist/nodes/SendPulseA360/sendpulse.svg +4 -0
  21. package/dist/nodes/SendPulseChatbots/SendPulseChatbots.node.d.ts +4 -0
  22. package/dist/nodes/SendPulseChatbots/SendPulseChatbots.node.js +489 -0
  23. package/dist/nodes/SendPulseChatbots/SendPulseChatbots.node.js.map +1 -0
  24. package/dist/nodes/SendPulseChatbots/SendPulseChatbots.node.json +25 -0
  25. package/dist/nodes/SendPulseChatbots/sendpulse.svg +4 -0
  26. package/dist/nodes/SendPulseChatbots/shared/utils.d.ts +5 -0
  27. package/dist/nodes/SendPulseChatbots/shared/utils.js +45 -0
  28. package/dist/nodes/SendPulseChatbots/shared/utils.js.map +1 -0
  29. package/dist/nodes/SendPulseCrm/SendPulseCrm.node.d.ts +4 -0
  30. package/dist/nodes/SendPulseCrm/SendPulseCrm.node.js +1750 -0
  31. package/dist/nodes/SendPulseCrm/SendPulseCrm.node.js.map +1 -0
  32. package/dist/nodes/SendPulseCrm/SendPulseCrm.node.json +25 -0
  33. package/dist/nodes/SendPulseCrm/sendpulse.svg +4 -0
  34. package/dist/nodes/SendPulseEmail/SendPulseEmail.node.d.ts +4 -0
  35. package/dist/nodes/SendPulseEmail/SendPulseEmail.node.js +992 -0
  36. package/dist/nodes/SendPulseEmail/SendPulseEmail.node.js.map +1 -0
  37. package/dist/nodes/SendPulseEmail/SendPulseEmail.node.json +25 -0
  38. package/dist/nodes/SendPulseEmail/sendpulse.svg +4 -0
  39. package/dist/nodes/SendPulseFileManager/SendPulseFileManager.node.d.ts +4 -0
  40. package/dist/nodes/SendPulseFileManager/SendPulseFileManager.node.js +234 -0
  41. package/dist/nodes/SendPulseFileManager/SendPulseFileManager.node.js.map +1 -0
  42. package/dist/nodes/SendPulseFileManager/SendPulseFileManager.node.json +25 -0
  43. package/dist/nodes/SendPulseFileManager/sendpulse.svg +4 -0
  44. package/dist/nodes/SendPulsePopUps/SendPulsePopUps.node.d.ts +4 -0
  45. package/dist/nodes/SendPulsePopUps/SendPulsePopUps.node.js +196 -0
  46. package/dist/nodes/SendPulsePopUps/SendPulsePopUps.node.js.map +1 -0
  47. package/dist/nodes/SendPulsePopUps/SendPulsePopUps.node.json +25 -0
  48. package/dist/nodes/SendPulsePopUps/sendpulse.svg +4 -0
  49. package/dist/nodes/SendPulseSms/SendPulseSms.node.d.ts +4 -0
  50. package/dist/nodes/SendPulseSms/SendPulseSms.node.js +347 -0
  51. package/dist/nodes/SendPulseSms/SendPulseSms.node.js.map +1 -0
  52. package/dist/nodes/SendPulseSms/SendPulseSms.node.json +25 -0
  53. package/dist/nodes/SendPulseSms/sendpulse.svg +4 -0
  54. package/dist/nodes/SendPulseSmtp/SendPulseSmtp.node.d.ts +4 -0
  55. package/dist/nodes/SendPulseSmtp/SendPulseSmtp.node.js +644 -0
  56. package/dist/nodes/SendPulseSmtp/SendPulseSmtp.node.js.map +1 -0
  57. package/dist/nodes/SendPulseSmtp/SendPulseSmtp.node.json +25 -0
  58. package/dist/nodes/SendPulseSmtp/sendpulse.svg +4 -0
  59. package/dist/nodes/SendPulseVerifier/SendPulseVerifier.node.d.ts +4 -0
  60. package/dist/nodes/SendPulseVerifier/SendPulseVerifier.node.js +195 -0
  61. package/dist/nodes/SendPulseVerifier/SendPulseVerifier.node.js.map +1 -0
  62. package/dist/nodes/SendPulseVerifier/SendPulseVerifier.node.json +25 -0
  63. package/dist/nodes/SendPulseVerifier/sendpulse.svg +4 -0
  64. package/dist/nodes/SendPulseWebPush/SendPulseWebPush.node.d.ts +4 -0
  65. package/dist/nodes/SendPulseWebPush/SendPulseWebPush.node.js +697 -0
  66. package/dist/nodes/SendPulseWebPush/SendPulseWebPush.node.js.map +1 -0
  67. package/dist/nodes/SendPulseWebPush/SendPulseWebPush.node.json +25 -0
  68. package/dist/nodes/SendPulseWebPush/sendpulse.svg +4 -0
  69. package/dist/package.json +67 -0
  70. package/dist/tsconfig.tsbuildinfo +1 -0
  71. package/package.json +67 -0
package/README.md ADDED
@@ -0,0 +1,820 @@
1
+ # 🚀 n8n-nodes-sendpulse
2
+
3
+ ![SendPulse Logo](icons/sendpulse.svg)
4
+
5
+ Official [SendPulse](https://sendpulse.com) integration for [n8n](https://n8n.io).
6
+
7
+ SendPulse is an all-in-one multichannel marketing and communication platform.
8
+ It combines email campaigns, SMS, web push, and chatbots with CRM, automation flows, and transactional messaging.
9
+ Using the n8n integration, teams can sync customer data, trigger personalized journeys from any app, and centralize product and growth experiments in one flexible workflow.
10
+
11
+ This repo contains SendPulse Automation360, SendPulse Chatbots, SendPulse CRM, SendPulse Email, SendPulse FileManager,
12
+ SendPulse Pop-ups, SendPulse SMS, SendPulse SMTP, SendPulse Verifier and SendPulse Web Push community nodes for n8n.
13
+
14
+ These nodes currently only supports the most popular SendPulse APIs.
15
+ If there's an API missing that you would like to use, please let us know.
16
+ In the meantime, you can also use the generic [HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) node to construct your requests.
17
+
18
+ ## 📚 Table of Contents
19
+
20
+ * [Installation](#installation)
21
+ * [Credentials](#credentials)
22
+ * [Usage](#usage)
23
+ * [Operations](#operations)
24
+ * [Workflow Examples](#workflow-examples)
25
+ * [Compatibility](#compatibility)
26
+ * [Resources](#resources)
27
+ * [License](#license)
28
+
29
+ ## 📦 Installation
30
+
31
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
32
+
33
+ ## 🔐 Credentials
34
+
35
+ ### Client ID & Client Secret
36
+
37
+ 1. Log in to your **[SendPulse account](https://sendpulse.com)**
38
+ 2. Navigate to **Account settings > API**
39
+ 3. Copy your **Client ID**
40
+ 4. Copy your **Client Secret**
41
+
42
+ ### Access Token
43
+
44
+ The authorization process requires an access token for signing each further API request.
45
+
46
+ The necessary parameters to obtain an access token can be found in the private account settings page found on the following URL in the [API tab](https://login.sendpulse.com/settings/#api).
47
+
48
+ To get an access token you have to send a POST request to:
49
+
50
+ ```
51
+ https://api.sendpulse.com/oauth/access_token
52
+ ```
53
+
54
+ Request parameters:
55
+
56
+ | Parameter | Type | Description |
57
+ |---------------|--------|-----------------------------------------|
58
+ | grant_type | string | Has to be equal to `client_credentials` |
59
+ | client_id | string | Your ID |
60
+ | client_secret | string | Your Secret |
61
+
62
+ ## 🧩 Usage
63
+
64
+ Add any SendPulse node to a workflow:
65
+
66
+ ![Add SendPulse to Workflow](images/node.png)
67
+
68
+ Configure a basic query and hit "Execute step" to execute the query:
69
+
70
+ ![Test a Google Search through SerpApi](images/mailing-list-operation.png)
71
+
72
+ ## 🛠️ Operations
73
+
74
+ All operations are documented in the [SendPulse REST API Documentation](https://sendpulse.com/integrations/api).
75
+
76
+ ### 🔄 SendPulse Automation360 Node
77
+
78
+ | Resource | Operation |
79
+ |----------|------------------------------------------------------------------|
80
+ | Flow | [Get Many](https://sendpulse.com/integrations/api/a360#get-flows) |
81
+ | Flow | [Get](https://sendpulse.com/integrations/api/a360#get-info-flow) |
82
+
83
+ ### 🤖 SendPulse Chatbots Node
84
+
85
+ | Resource | Operation |
86
+ |----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
87
+ | Bot | [Get Many](https://sendpulse.com/integrations/api/chatbot#/bots/get_bots) |
88
+ | Dialog | [Get Many](https://sendpulse.com/integrations/api/chatbot#/dialogs/get_dialogs) |
89
+ | Contact | Get ([Telegram](https://sendpulse.com/integrations/api/chatbot/telegram#/contacts/get_contacts_get), [Facebook Messenger](https://sendpulse.com/integrations/api/chatbot/facebook#/contacts/get_contacts_get), [WhatsApp](https://sendpulse.com/integrations/api/chatbot/whatsapp#/contacts/get_contacts_get), [LiveChat](https://sendpulse.com/integrations/api/chatbot/live-chat#/contacts/get_contacts_get), [Instagram](https://sendpulse.com/integrations/api/chatbot/instagram#/contacts/get_contacts_get), [Viber](https://sendpulse.com/integrations/api/chatbot/viber#/contacts/get_contacts_get), [TikTok](https://sendpulse.com/integrations/api/chatbot/tiktok#/contacts/get_contacts_get)) |
90
+ | Contact | Send Message ([Telegram](https://sendpulse.com/integrations/api/chatbot/telegram#/contacts/post_contacts_send), [Facebook Messenger](https://sendpulse.com/integrations/api/chatbot/facebook#/contacts/post_contacts_send), [WhatsApp](https://sendpulse.com/integrations/api/chatbot/whatsapp#/contacts/post_contacts_send), [LiveChat](https://sendpulse.com/integrations/api/chatbot/live-chat#/contacts/post_contacts_send), [Instagram](https://sendpulse.com/integrations/api/chatbot/instagram#/contacts/post_contacts_send), [Viber](https://sendpulse.com/integrations/api/chatbot/viber#/contacts/post_contacts_send), [TikTok](https://sendpulse.com/integrations/api/chatbot/tiktok#/contacts/post_contacts_send)) |
91
+ | Flow | Run ([Telegram](https://sendpulse.com/integrations/api/chatbot/telegram#/flows/post_flows_run), [Facebook Messenger](https://sendpulse.com/integrations/api/chatbot/facebook#/flows/post_flows_run), [WhatsApp](https://sendpulse.com/integrations/api/chatbot/whatsapp#/flows/post_flows_run), [LiveChat](https://sendpulse.com/integrations/api/chatbot/live-chat#/flows/post_flows_run), [Instagram](https://sendpulse.com/integrations/api/chatbot/instagram#/flows/post_flows_run), [Viber](https://sendpulse.com/integrations/api/chatbot/viber#/flows/post_flows_run), [TikTok](https://sendpulse.com/integrations/api/chatbot/tiktok#/flows/post_flows_run)) |
92
+
93
+ ### 📇 SendPulse CRM Node
94
+
95
+ | Resource | Operation |
96
+ |----------|---------------------------------------------------------------------------------------------------------------------|
97
+ | Contact | [Get Many](https://sendpulse.com/integrations/api/crm#/Contacts/post_contacts_get_list) |
98
+ | Contact | [Get](https://sendpulse.com/integrations/api/crm#/Contacts/get_contacts__contactId_) |
99
+ | Contact | [Get by External ID](https://sendpulse.com/integrations/api/crm#/Contacts/get_contacts_external__externalContactId_) |
100
+ | Contact | [Create](https://sendpulse.com/integrations/api/crm#/Contacts/post_contacts_create) |
101
+ | Deal | [Get Many](https://sendpulse.com/integrations/api/crm#/Deals/post_deals_get_list) |
102
+ | Deal | [Get](https://sendpulse.com/integrations/api/crm#/Deals/get_deals__dealId_) |
103
+ | Deal | [Create](https://sendpulse.com/integrations/api/crm#/Deals/post_deals) |
104
+ | Pipeline | [Get Many](https://sendpulse.com/integrations/api/crm#/Pipelines/get_pipelines) |
105
+ | Pipeline | [Get](https://sendpulse.com/integrations/api/crm#/Pipelines/get_pipelines__pipelineId_) |
106
+ | Pipeline | [Create](https://sendpulse.com/integrations/api/crm#/Pipelines/post_pipelines) |
107
+
108
+ ### ✉️ SendPulse Email Node
109
+
110
+ | Resource | Operation |
111
+ |--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
112
+ | Mailing List | [Get Many](https://sendpulse.com/integrations/api/bulk-email#lists-list) |
113
+ | Mailing List | [Get](https://sendpulse.com/integrations/api/bulk-email#list-info) |
114
+ | Mailing List | [Create](https://sendpulse.com/integrations/api/bulk-email#create-list) |
115
+ | Email | Add to List ([single-opt-in](https://sendpulse.com/integrations/api/bulk-email#add-email), [double-opt-in)](https://sendpulse.com/integrations/api/bulk-email#double-opt-in)) |
116
+ | Campaign | [Get Many](https://sendpulse.com/integrations/api/bulk-email#campaigns-list) |
117
+ | Campaign | [Get](https://sendpulse.com/integrations/api/bulk-email#campaign-info) |
118
+ | Campaign | [Create](https://sendpulse.com/integrations/api/bulk-email#create-campaign) |
119
+
120
+ ### 📁 SendPulse FileManager Node
121
+
122
+ | Resource | Operation |
123
+ |----------|------------------------------------------------------------------------------|
124
+ | File | [Upload](https://sendpulse.com/integrations/api/file-manager#/File/post_file) |
125
+
126
+
127
+ ### 🪄 SendPulse Pop-ups Node
128
+
129
+ | Resource | Operation |
130
+ |----------|--------------------------------------------------------------------------------------------------------|
131
+ | Project | [Get Many](https://sendpulse.com/integrations/api/pop-up#/Project/get_public_api_widgets_list) |
132
+ | Pop-Up | [Get Many](https://sendpulse.com/integrations/api/pop-up#/Popup/get_public_api_popups_list__projectId_) |
133
+
134
+ ### 📱 SendPulse SMS Node
135
+
136
+ | Resource | Operation |
137
+ |--------------|-------------------------------------------------------------------------------------------|
138
+ | Phone Number | [Add to Mailing List](https://sendpulse.com/integrations/api/bulk-sms#add-telephone) |
139
+ | Campaign | [Create](https://sendpulse.com/integrations/api/bulk-sms#create-campaign-for-mailing-list) |
140
+
141
+ ### 📨 SendPulse SMTP Node
142
+
143
+ | Resource | Operation |
144
+ | -------- |-----------------------------------------------------------------------------|
145
+ | Email | [Get Many](https://sendpulse.com/integrations/api/smtp#get-emails-list-smtp) |
146
+ | Email | [Get](https://sendpulse.com/integrations/api/smtp#email-info-smtp) |
147
+ | Email | [Send](https://sendpulse.com/integrations/api/smtp#send-email-smtp) |
148
+
149
+ ### ✔️ SendPulse Verifier Node
150
+
151
+ | Resource | Operation |
152
+ | ------------ |-------------------------------------------------------------------------------------------|
153
+ | Mailing List | [Verify](https://sendpulse.com/integrations/api/verifier#verify-mailing-list) |
154
+ | Mailing List | [Get Verified Lists](https://sendpulse.com/integrations/api/verifier#get-verified-lists) |
155
+ | Mailing List | [Get Verification Results](https://sendpulse.com/integrations/api/verifier#get-results-ml) |
156
+
157
+ ### 🔔 SendPulse Web Push Node
158
+
159
+ | Resource | Operation |
160
+ | -------- |------------------------------------------------------------------------------|
161
+ | Website | [Get Many](https://sendpulse.com/integrations/api/web-push#get-websites-list) |
162
+ | Website | [Get](https://sendpulse.com/integrations/api/web-push#site_info) |
163
+ | Campaign | [Create](https://sendpulse.com/integrations/api/web-push#create-push) |
164
+
165
+ ## 🧪 Workflow Examples
166
+
167
+ #### Workflow 1: Create an email campaign
168
+
169
+ ![Workflow 1](images/workflow1.png)
170
+
171
+ **Steps:**
172
+ 1. Get mailing lists
173
+ 2. Combine results into one variable
174
+ 3. Set sender's name, sender's email, subject, base64 encoded message content and mailing list ID
175
+ 4. Send a campaign
176
+
177
+ <details>
178
+ <summary>JSON</summary>
179
+
180
+ ```json
181
+ {
182
+ "name": "Creating an email campaign",
183
+ "nodes": [
184
+ {
185
+ "parameters": {},
186
+ "type": "n8n-nodes-base.manualTrigger",
187
+ "typeVersion": 1,
188
+ "position": [
189
+ 0,
190
+ 0
191
+ ],
192
+ "id": "162576dc-89ec-4f80-902c-1a048995caa3",
193
+ "name": "When clicking ‘Execute workflow’"
194
+ },
195
+ {
196
+ "parameters": {
197
+ "authentication": "accessToken",
198
+ "resource": "campaign",
199
+ "operation": "create",
200
+ "senderName": "={{ $json.senderName }}",
201
+ "senderEmail": "={{ $json.senderEmail }}",
202
+ "subject": "={{ $json.subject }}",
203
+ "htmlBody": "={{ $json.htmlBodyBase64 }}",
204
+ "listIds": "={{ $json.mailingListId }}",
205
+ "name": "=Black Friday",
206
+ "additionalFields": {},
207
+ "requestOptions": {}
208
+ },
209
+ "type": "CUSTOM.sendPulseEmail",
210
+ "typeVersion": 1,
211
+ "position": [
212
+ 832,
213
+ 0
214
+ ],
215
+ "id": "f0486554-11b2-4ef4-ac58-1e4c287f189b",
216
+ "name": "Create email campaign"
217
+ },
218
+ {
219
+ "parameters": {
220
+ "assignments": {
221
+ "assignments": [
222
+ {
223
+ "id": "3f41524f-412d-4a70-8871-a23c615786d6",
224
+ "name": "senderName",
225
+ "value": "<sender_name>",
226
+ "type": "string"
227
+ },
228
+ {
229
+ "id": "c86c494a-73cd-4ea2-b6eb-4d9190fea113",
230
+ "name": "senderEmail",
231
+ "value": "<sender_email>",
232
+ "type": "string"
233
+ },
234
+ {
235
+ "id": "f0b4bbee-1556-43b5-9da4-f3c1833ffb84",
236
+ "name": "subject",
237
+ "value": "<subject>",
238
+ "type": "string"
239
+ },
240
+ {
241
+ "id": "e0f6b188-867e-4e95-b638-b007151cf3da",
242
+ "name": "htmlBodyBase64",
243
+ "value": "<html_body_base_64>",
244
+ "type": "string"
245
+ },
246
+ {
247
+ "id": "82042391-f675-46be-af47-0bde90057de5",
248
+ "name": "=mailingListId",
249
+ "value": "=<mailing_list_id>",
250
+ "type": "number"
251
+ }
252
+ ]
253
+ },
254
+ "options": {}
255
+ },
256
+ "type": "n8n-nodes-base.set",
257
+ "typeVersion": 3.4,
258
+ "position": [
259
+ 624,
260
+ 0
261
+ ],
262
+ "id": "1dffd9a3-fb32-40e1-aebd-f7346aa985f2",
263
+ "name": "Workflow Configuration"
264
+ },
265
+ {
266
+ "parameters": {
267
+ "additionalFields": {},
268
+ "requestOptions": {}
269
+ },
270
+ "type": "CUSTOM.sendPulseEmail",
271
+ "typeVersion": 1,
272
+ "position": [
273
+ 208,
274
+ 0
275
+ ],
276
+ "id": "0e1b317f-acaf-4852-bf7d-535aebbcaab3",
277
+ "name": "Get many mailing lists"
278
+ },
279
+ {
280
+ "parameters": {
281
+ "aggregate": "aggregateAllItemData",
282
+ "destinationFieldName": "mailingLists",
283
+ "options": {}
284
+ },
285
+ "id": "7bd43960-7cae-420d-9146-130310dc0efb",
286
+ "name": "Combine Items",
287
+ "type": "n8n-nodes-base.aggregate",
288
+ "typeVersion": 1,
289
+ "position": [
290
+ 416,
291
+ 0
292
+ ]
293
+ }
294
+ ],
295
+ "pinData": {},
296
+ "connections": {
297
+ "When clicking ‘Execute workflow’": {
298
+ "main": [
299
+ [
300
+ {
301
+ "node": "Get many mailing lists",
302
+ "type": "main",
303
+ "index": 0
304
+ }
305
+ ]
306
+ ]
307
+ },
308
+ "Create email campaign": {
309
+ "main": [
310
+ []
311
+ ]
312
+ },
313
+ "Workflow Configuration": {
314
+ "main": [
315
+ [
316
+ {
317
+ "node": "Create email campaign",
318
+ "type": "main",
319
+ "index": 0
320
+ }
321
+ ]
322
+ ]
323
+ },
324
+ "Get many mailing lists": {
325
+ "main": [
326
+ [
327
+ {
328
+ "node": "Combine Items",
329
+ "type": "main",
330
+ "index": 0
331
+ }
332
+ ]
333
+ ]
334
+ },
335
+ "Combine Items": {
336
+ "main": [
337
+ [
338
+ {
339
+ "node": "Workflow Configuration",
340
+ "type": "main",
341
+ "index": 0
342
+ }
343
+ ]
344
+ ]
345
+ }
346
+ },
347
+ "active": false,
348
+ "settings": {
349
+ "executionOrder": "v1"
350
+ },
351
+ "versionId": "59ed90df-5927-4019-bfd2-5ce67858d0ee",
352
+ "meta": {
353
+ "templateCredsSetupCompleted": true,
354
+ "instanceId": "791011c5d912fa3910b1b3f0a58e52e888701c971bd92f7e7fc8373a23481dcb"
355
+ },
356
+ "id": "JB4pgZqZbQmUT76u",
357
+ "tags": []
358
+ }
359
+ ```
360
+ </details>
361
+
362
+ ---
363
+
364
+ #### Workflow 2: Verify a mailing list and get verification results
365
+
366
+ ![Workflow 2](images/workflow2.png)
367
+
368
+ **Steps:**
369
+ 1. Start with mailing list ID input
370
+ 2. Verify mailing list
371
+ 3. Wait 5 seconds
372
+ 4. Get mailing list verification results
373
+
374
+ <details>
375
+ <summary>JSON</summary>
376
+
377
+ ```json
378
+ {
379
+ "name": "Verify a mailing list and get verification results",
380
+ "nodes": [
381
+ {
382
+ "parameters": {},
383
+ "type": "n8n-nodes-base.manualTrigger",
384
+ "typeVersion": 1,
385
+ "position": [
386
+ -80,
387
+ 144
388
+ ],
389
+ "id": "e6f335fe-9185-4e2a-b15b-6aaeab5151d7",
390
+ "name": "When clicking ‘Execute workflow’"
391
+ },
392
+ {
393
+ "parameters": {
394
+ "authentication": "accessToken",
395
+ "operation": "verify",
396
+ "mailingListId": "={{ $json.mailingListId }}",
397
+ "requestOptions": {}
398
+ },
399
+ "type": "CUSTOM.sendPulseVerifier",
400
+ "typeVersion": 1,
401
+ "position": [
402
+ 336,
403
+ 144
404
+ ],
405
+ "id": "d646a9b4-d672-4098-b243-8a0a802e0b19",
406
+ "name": "Verify a mailing list"
407
+ },
408
+ {
409
+ "parameters": {},
410
+ "type": "n8n-nodes-base.wait",
411
+ "typeVersion": 1.1,
412
+ "position": [
413
+ 960,
414
+ 128
415
+ ],
416
+ "id": "f08cd010-c410-4140-aa7d-996e95afac04",
417
+ "name": "Wait",
418
+ "webhookId": "d3afa9c8-b36f-45e3-8ef5-b956a98b79c5"
419
+ },
420
+ {
421
+ "parameters": {
422
+ "conditions": {
423
+ "options": {
424
+ "caseSensitive": true,
425
+ "leftValue": "",
426
+ "typeValidation": "strict",
427
+ "version": 3
428
+ },
429
+ "conditions": [
430
+ {
431
+ "id": "a3932ac8-334e-4d13-88d1-bb7921cb5852",
432
+ "leftValue": "={{ $json.status }}",
433
+ "rightValue": 0,
434
+ "operator": {
435
+ "type": "number",
436
+ "operation": "equals"
437
+ }
438
+ }
439
+ ],
440
+ "combinator": "and"
441
+ },
442
+ "options": {}
443
+ },
444
+ "type": "n8n-nodes-base.if",
445
+ "typeVersion": 2.3,
446
+ "position": [
447
+ 752,
448
+ 144
449
+ ],
450
+ "id": "49a7edbc-ffd7-4126-b3e4-8078a2a0886c",
451
+ "name": "If"
452
+ },
453
+ {
454
+ "parameters": {
455
+ "authentication": "accessToken",
456
+ "operation": "getVerificationResults",
457
+ "mailingListId": "={{ $('Workflow Configuration').item.json.mailingListId }}",
458
+ "additionalFields": {},
459
+ "requestOptions": {}
460
+ },
461
+ "type": "CUSTOM.sendPulseVerifier",
462
+ "typeVersion": 1,
463
+ "position": [
464
+ 544,
465
+ 144
466
+ ],
467
+ "id": "1565c302-b889-4b1e-aebb-1541da25d966",
468
+ "name": "Get mailing list verification results",
469
+ "credentials": {
470
+ "sendPulseApi": {
471
+ "id": "SguuezBTI7kLeYfQ",
472
+ "name": "SendPulse account"
473
+ }
474
+ }
475
+ },
476
+ {
477
+ "parameters": {
478
+ "assignments": {
479
+ "assignments": [
480
+ {
481
+ "id": "3f41524f-412d-4a70-8871-a23c615786d6",
482
+ "name": "mailingListId",
483
+ "value": 498261,
484
+ "type": "number"
485
+ }
486
+ ]
487
+ },
488
+ "options": {}
489
+ },
490
+ "type": "n8n-nodes-base.set",
491
+ "typeVersion": 3.4,
492
+ "position": [
493
+ 128,
494
+ 144
495
+ ],
496
+ "id": "c7aa188a-7c99-44c0-b666-fb5c9c4e4c92",
497
+ "name": "Workflow Configuration"
498
+ }
499
+ ],
500
+ "pinData": {},
501
+ "connections": {
502
+ "When clicking ‘Execute workflow’": {
503
+ "main": [
504
+ [
505
+ {
506
+ "node": "Workflow Configuration",
507
+ "type": "main",
508
+ "index": 0
509
+ }
510
+ ]
511
+ ]
512
+ },
513
+ "Wait": {
514
+ "main": [
515
+ [
516
+ {
517
+ "node": "Get mailing list verification results",
518
+ "type": "main",
519
+ "index": 0
520
+ }
521
+ ]
522
+ ]
523
+ },
524
+ "Verify a mailing list": {
525
+ "main": [
526
+ [
527
+ {
528
+ "node": "Get mailing list verification results",
529
+ "type": "main",
530
+ "index": 0
531
+ }
532
+ ]
533
+ ]
534
+ },
535
+ "Get mailing list verification results": {
536
+ "main": [
537
+ [
538
+ {
539
+ "node": "If",
540
+ "type": "main",
541
+ "index": 0
542
+ }
543
+ ]
544
+ ]
545
+ },
546
+ "If": {
547
+ "main": [
548
+ [
549
+ {
550
+ "node": "Wait",
551
+ "type": "main",
552
+ "index": 0
553
+ }
554
+ ]
555
+ ]
556
+ },
557
+ "Workflow Configuration": {
558
+ "main": [
559
+ [
560
+ {
561
+ "node": "Verify a mailing list",
562
+ "type": "main",
563
+ "index": 0
564
+ }
565
+ ]
566
+ ]
567
+ }
568
+ },
569
+ "active": false,
570
+ "settings": {
571
+ "executionOrder": "v1"
572
+ },
573
+ "versionId": "5f24f95a-2d59-4650-a899-c68663a47d85",
574
+ "meta": {
575
+ "templateCredsSetupCompleted": true,
576
+ "instanceId": "791011c5d912fa3910b1b3f0a58e52e888701c971bd92f7e7fc8373a23481dcb"
577
+ },
578
+ "id": "S04LSCXtbAoNxzY3",
579
+ "tags": []
580
+ }
581
+ ```
582
+ </details>
583
+
584
+ ---
585
+
586
+ #### Workflow 3: Create a deal
587
+
588
+ ![Workflow 3](images/workflow3.png)
589
+
590
+ **Steps:**
591
+ 1. Get pipelines
592
+ 2. Get contacts
593
+ 3. Set pipeline ID, step ID, deal name, contact ID, currency and price
594
+ 4. Create a deal
595
+
596
+ <details>
597
+ <summary>JSON</summary>
598
+
599
+ ```json
600
+ {
601
+ "name": "Create a deal",
602
+ "nodes": [
603
+ {
604
+ "parameters": {},
605
+ "type": "n8n-nodes-base.manualTrigger",
606
+ "typeVersion": 1,
607
+ "position": [
608
+ 0,
609
+ 0
610
+ ],
611
+ "id": "20331738-50ec-47c4-892f-015a0eccc636",
612
+ "name": "When clicking ‘Execute workflow’"
613
+ },
614
+ {
615
+ "parameters": {
616
+ "assignments": {
617
+ "assignments": [
618
+ {
619
+ "id": "444749f2-d83c-4a93-bfed-ba587dc2d16a",
620
+ "name": "pipelineId",
621
+ "value": "={{ $('Get many pipelines').item.json.data[0].id }}",
622
+ "type": "number"
623
+ },
624
+ {
625
+ "id": "c8e19849-6952-4440-bcfe-587b4910d5f1",
626
+ "name": "stepId",
627
+ "value": "={{ $('Get many pipelines').item.json.data[0].steps[0].id }}",
628
+ "type": "number"
629
+ },
630
+ {
631
+ "id": "3f41524f-412d-4a70-8871-a23c615786d6",
632
+ "name": "dealName",
633
+ "value": "Purchase of Electronic Equipment",
634
+ "type": "string"
635
+ },
636
+ {
637
+ "id": "9612e468-854a-4fa6-8e63-9ccddc0a247d",
638
+ "name": "contactId",
639
+ "value": "={{ $json.data.list[0].id }}",
640
+ "type": "number"
641
+ },
642
+ {
643
+ "id": "8d89b9f5-517a-4a97-8f22-ec683387a26e",
644
+ "name": "currency",
645
+ "value": "EUR",
646
+ "type": "string"
647
+ },
648
+ {
649
+ "id": "3cdbfd58-33b3-4ca2-9689-5215ba6aff7f",
650
+ "name": "price",
651
+ "value": 5000,
652
+ "type": "number"
653
+ }
654
+ ]
655
+ },
656
+ "options": {}
657
+ },
658
+ "type": "n8n-nodes-base.set",
659
+ "typeVersion": 3.4,
660
+ "position": [
661
+ 624,
662
+ 0
663
+ ],
664
+ "id": "21c95abb-3aa6-4dac-ae9f-0a05c3c62cf5",
665
+ "name": "Workflow Configuration"
666
+ },
667
+ {
668
+ "parameters": {
669
+ "authentication": "accessToken",
670
+ "resource": "deal",
671
+ "operation": "create",
672
+ "pipelineId": "={{ $json.pipelineId }}",
673
+ "stepId": "={{ $json.stepId }}",
674
+ "name": "={{ $json.dealName }}",
675
+ "additionalFields": {
676
+ "contactIds": [
677
+ "={{ $json.contactId }}"
678
+ ],
679
+ "currency": "={{ $json.currency }}",
680
+ "price": "={{ $json.price }}"
681
+ },
682
+ "requestOptions": {}
683
+ },
684
+ "type": "CUSTOM.sendPulseCrm",
685
+ "typeVersion": 1,
686
+ "position": [
687
+ 832,
688
+ 0
689
+ ],
690
+ "id": "68c9ba9b-515e-4294-b202-cdeada51551f",
691
+ "name": "Create a deal",
692
+ "credentials": {
693
+ "sendPulseApi": {
694
+ "id": "vgJTBLhnSy833qmE",
695
+ "name": "SendPulse account"
696
+ }
697
+ }
698
+ },
699
+ {
700
+ "parameters": {
701
+ "authentication": "accessToken",
702
+ "additionalFields": {},
703
+ "requestOptions": {}
704
+ },
705
+ "type": "CUSTOM.sendPulseCrm",
706
+ "typeVersion": 1,
707
+ "position": [
708
+ 416,
709
+ 0
710
+ ],
711
+ "id": "c8f0757b-e21e-43f0-b025-10db61dc6841",
712
+ "name": "Get many contacts",
713
+ "credentials": {
714
+ "sendPulseApi": {
715
+ "id": "vgJTBLhnSy833qmE",
716
+ "name": "SendPulse account"
717
+ }
718
+ }
719
+ },
720
+ {
721
+ "parameters": {
722
+ "authentication": "accessToken",
723
+ "resource": "pipeline",
724
+ "requestOptions": {}
725
+ },
726
+ "type": "CUSTOM.sendPulseCrm",
727
+ "typeVersion": 1,
728
+ "position": [
729
+ 208,
730
+ 0
731
+ ],
732
+ "id": "6ef77dd7-c0bb-47c1-9653-77f19b6a3950",
733
+ "name": "Get many pipelines"
734
+ }
735
+ ],
736
+ "pinData": {},
737
+ "connections": {
738
+ "When clicking ‘Execute workflow’": {
739
+ "main": [
740
+ [
741
+ {
742
+ "node": "Get many pipelines",
743
+ "type": "main",
744
+ "index": 0
745
+ }
746
+ ]
747
+ ]
748
+ },
749
+ "Workflow Configuration": {
750
+ "main": [
751
+ [
752
+ {
753
+ "node": "Create a deal",
754
+ "type": "main",
755
+ "index": 0
756
+ }
757
+ ]
758
+ ]
759
+ },
760
+ "Create a deal": {
761
+ "main": [
762
+ []
763
+ ]
764
+ },
765
+ "Get many contacts": {
766
+ "main": [
767
+ [
768
+ {
769
+ "node": "Workflow Configuration",
770
+ "type": "main",
771
+ "index": 0
772
+ }
773
+ ]
774
+ ]
775
+ },
776
+ "Get many pipelines": {
777
+ "main": [
778
+ [
779
+ {
780
+ "node": "Get many contacts",
781
+ "type": "main",
782
+ "index": 0
783
+ }
784
+ ]
785
+ ]
786
+ }
787
+ },
788
+ "active": false,
789
+ "settings": {
790
+ "executionOrder": "v1"
791
+ },
792
+ "versionId": "789d96b0-448e-4496-a469-f96951fca290",
793
+ "meta": {
794
+ "templateCredsSetupCompleted": true,
795
+ "instanceId": "791011c5d912fa3910b1b3f0a58e52e888701c971bd92f7e7fc8373a23481dcb"
796
+ },
797
+ "id": "IQryYdrRhRkFQQf7",
798
+ "tags": []
799
+ }
800
+ ```
801
+ </details>
802
+
803
+ ## 🧬 Compatibility
804
+
805
+ Tested with n8n version 1.123.4.
806
+
807
+ ## 📖 Resources
808
+
809
+ * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
810
+ * [SendPulse Website](https://sendpulse.com)
811
+ * [SendPulse REST API Documentation](https://sendpulse.com/integrations/api)
812
+ * [SendPulse Knowledge Base](https://sendpulse.com/knowledge-base)
813
+ * [SendPulse Community](https://community.sendpulse.com)
814
+ * [SendPulse Blog](https://sendpulse.com/blog)
815
+
816
+ ## 📄 License
817
+
818
+ [MIT](LICENSE.md)
819
+
820
+ Copyright © 2025 SendPulse