{ "name": "Create and Update a MailerLite Subscriber", "nodes": [ { "name": "On clicking 'execute'", "type": "n8n-nodes-base.manualTrigger", "position": [ 310, 300 ], "parameters": {}, "typeVersion": 1, "id": "create-update-mailerlite-subscriber-0" }, { "name": "Set subscriber details", "type": "n8n-nodes-base.code", "typeVersion": 2, "parameters": { "mode": "runOnceForAllItems", "jsCode": "const email='',name='',city='';if(!/^\\S+@\\S+\\.\\S+$/.test(email.trim())||!name.trim()||!city.trim())throw Error('Enter email, name and city');return [{json:{email:email.trim(),name:name.trim(),city:city.trim()}}];" }, "id": "create-update-mailerlite-subscriber-1" }, { "name": "MailerLite", "type": "n8n-nodes-base.mailerLite", "position": [ 510, 300 ], "parameters": { "email": "={{ $(\"Set subscriber details\").first().json.email }}", "additionalFields": { "customFieldsUi": { "customFieldsValues": [ { "fieldId": "name", "value": "={{ $(\"Set subscriber details\").first().json.name }}" } ] } } }, "typeVersion": 2, "id": "create-update-mailerlite-subscriber-2" }, { "name": "Confirm subscriber", "type": "n8n-nodes-base.code", "typeVersion": 2, "parameters": { "mode": "runOnceForAllItems", "jsCode": "const x=$input.first().json,s=$('Set subscriber details').first().json;if(typeof x.id!=='string'||!x.id||x.email?.toLowerCase()!==s.email.toLowerCase())throw Error('MailerLite did not return the requested subscriber');return $input.all();" }, "id": "create-update-mailerlite-subscriber-3" }, { "name": "MailerLite1", "type": "n8n-nodes-base.mailerLite", "position": [ 710, 300 ], "parameters": { "operation": "update", "subscriberId": "={{ $(\"Confirm subscriber\").first().json.id }}", "additionalFields": { "customFieldsUi": { "customFieldsValues": [ { "fieldId": "city", "value": "={{ $(\"Set subscriber details\").first().json.city }}" } ] } } }, "typeVersion": 2, "id": "create-update-mailerlite-subscriber-4" }, { "name": "Confirm update", "type": "n8n-nodes-base.code", "typeVersion": 2, "parameters": { "mode": "runOnceForAllItems", "jsCode": "const id=$('Confirm subscriber').first().json.id;if($input.first().json.data?.id!==id)throw Error('MailerLite did not confirm the same subscriber');return $input.all();" }, "id": "create-update-mailerlite-subscriber-5" }, { "name": "MailerLite2", "type": "n8n-nodes-base.mailerLite", "position": [ 910, 300 ], "parameters": { "operation": "get", "subscriberId": "={{ $(\"Confirm subscriber\").first().json.id }}" }, "typeVersion": 2, "id": "create-update-mailerlite-subscriber-6" }, { "name": "Verify subscriber", "type": "n8n-nodes-base.code", "typeVersion": 2, "parameters": { "mode": "runOnceForAllItems", "jsCode": "function result({data,id,email,name,city}){if(!data||data.id!==id||data.email?.toLowerCase()!==email.toLowerCase()||data.fields?.name!==name||data.fields?.city!==city)throw Error('MailerLite did not return the expected subscriber');return{subscriber:data};}\n\nconst s=$('Set subscriber details').first().json,id=$('Confirm subscriber').first().json.id;return [{json:result({data:$input.first().json,id,email:s.email,name:s.name,city:s.city}).subscriber}];" }, "id": "create-update-mailerlite-subscriber-7" } ], "active": false, "settings": {}, "connections": { "On clicking 'execute'": { "main": [ [ { "node": "Set subscriber details", "type": "main", "index": 0 } ] ] }, "Set subscriber details": { "main": [ [ { "node": "MailerLite", "type": "main", "index": 0 } ] ] }, "MailerLite": { "main": [ [ { "node": "Confirm subscriber", "type": "main", "index": 0 } ] ] }, "Confirm subscriber": { "main": [ [ { "node": "MailerLite1", "type": "main", "index": 0 } ] ] }, "MailerLite1": { "main": [ [ { "node": "Confirm update", "type": "main", "index": 0 } ] ] }, "Confirm update": { "main": [ [ { "node": "MailerLite2", "type": "main", "index": 0 } ] ] }, "MailerLite2": { "main": [ [ { "node": "Verify subscriber", "type": "main", "index": 0 } ] ] } }, "pinData": {} }