{ "id": "7Gw4IfHaVMDSj70o", "meta": { "instanceId": "workflow-a4464de3", "versionId": "1.0.0", "createdAt": "2025-09-29T07:08:01.077282", "updatedAt": "2025-09-29T07:08:01.077296", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Convert Squarespace Profiles to Shopify Customers in Google Sheets", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "17b7e952-ba9b-4067-9c98-a69ea09f7e69", "name": "Webhook", "type": "n8n-nodes-base.webhook", "position": [ -800, -420 ], "webhookId": "e09976b5-7525-422b-9834-3bc6e1c4a1b6", "parameters": { "path": "submit-profiles", "options": { "allowedOrigins": "*" }, "httpMethod": "POST" }, "typeVersion": 2, "notes": "This webhook node performs automated tasks as part of the workflow." }, { "id": "7e149be3-19da-4320-8910-40ef0900628a", "name": "Shopify Customers", "type": "n8n-nodes-base.googleSheets", "position": [ 420, -220 ], "parameters": { "columns": { "value": { "Tags": "=n8n, squarespace, {{ $json['Last Order Date'] ? \"ground-control,\" : \"\" }}", "Email": "={{ $json.Email }}", "Phone": "={{ $json['Billing Phone Number'] }}", "Last Name": "={{ $json['Last Name'] }}", "First Name": "={{ $json['First Name'] }}", "Default Address Zip": "={{ $json['Billing Zip'] }}", "Default Address City": "={{ $json['Billing City'] }}", "Default Address Phone": "={{ $json['Billing Phone Number'] }}", "Accepts Email Marketing": "yes", "Default Address Company": "={{ $json['Billing Name'] }}", "Default Address Address1": "={{ $json['Billing Address 1'] }}", "Default Address Address2": "={{ $json['Billing Address 2'] }}", "Default Address Country Code": "={{ $json['Billing Country'] }}", "Default Address Province Code": "={{ $json['Billing Province/State'] }}" }, "schema": [ { "id": "First Name", "type": "string", "display": true, "required": false, "displayName": "First Name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Last Name", "type": "string", "display": true, "required": false, "displayName": "Last Name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Email", "type": "string", "display": true, "removed": false, "required": false, "displayName": "Email", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Accepts Email Marketing", "type": "string", "display": true, "required": false, "displayName": "Accepts Email Marketing", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Company", "type": "string", "display": true, "required": false, "displayName": "Default Address Company", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Address1", "type": "string", "display": true, "required": false, "displayName": "Default Address Address1", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Address2", "type": "string", "display": true, "required": false, "displayName": "Default Address Address2", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address City", "type": "string", "display": true, "required": false, "displayName": "Default Address City", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Province Code", "type": "string", "display": true, "required": false, "displayName": "Default Address Province Code", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Country Code", "type": "string", "display": true, "required": false, "displayName": "Default Address Country Code", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Zip", "type": "string", "display": true, "required": false, "displayName": "Default Address Zip", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Default Address Phone", "type": "string", "display": true, "required": false, "displayName": "Default Address Phone", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Phone", "type": "string", "display": true, "required": false, "displayName": "Phone", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Accepts SMS Marketing", "type": "string", "display": true, "required": false, "displayName": "Accepts SMS Marketing", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Tags", "type": "string", "display": true, "required": false, "displayName": "Tags", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Note", "type": "string", "display": true, "required": false, "displayName": "Note", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Tax Exempt", "type": "string", "display": true, "required": false, "displayName": "Tax Exempt", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [ "Email" ], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {}, "operation": "appendOrUpdate", "sheetName": { "__rl": true, "mode": "list", "value": 15798644, "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "shopify_template" }, "documentId": { "__rl": true, "mode": "list", "value": "1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Make.com template" } }, "credentials": { "googleSheetsOAuth2Api": { "id": "JgI9maibw5DnBXRP", "name": "Google Sheets account" } }, "typeVersion": 4.5, "notes": "This googleSheets node performs automated tasks as part of the workflow." }, { "id": "e04f9a9e-b699-4cf2-aa91-56e6bfa30faa", "name": "Read Squarespace profiles", "type": "n8n-nodes-base.googleSheets", "position": [ -180, 0 ], "parameters": { "options": {}, "sheetName": { "__rl": true, "mode": "list", "value": 144532755, "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "squarespace_profiles" }, "documentId": { "__rl": true, "mode": "list", "value": "1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Squarespace automation" } }, "credentials": { "googleSheetsOAuth2Api": { "id": "JgI9maibw5DnBXRP", "name": "Google Sheets account" } }, "typeVersion": 4.5, "notes": "This googleSheets node performs automated tasks as part of the workflow." }, { "id": "ffebc458-bd3c-4145-a5ef-1677815f210e", "name": "Append Squarespace profiles", "type": "n8n-nodes-base.googleSheets", "position": [ -200, -420 ], "parameters": { "columns": { "value": { "Email": "={{ $json.Email }}", "Last Name": "={{ $json['Last Name'] }}", "Created On": "={{ $json['Created On'] }}", "First Name": "={{ $json['First Name'] }}", "Billing Zip": "={{ $json['Billing Zip'] }}", "Order Count": "={{ $json['Order Count'] }}", "Total Spent": "={{ $json['Total Spent'] }}", "Billing City": "={{ $json['Billing City'] }}", "Billing Name": "={{ $json['Billing Name'] }}", "Shipping Zip": "={{ $json['Billing Zip'] }}", "Shipping City": "={{ $json['Billing City'] }}", "Shipping Name": "={{ $json['Billing Name'] }}", "Billing Country": "={{ $json['Billing Country'] }}", "Last Order Date": "={{ $json['Last Order Date'] }}", "Shipping Country": "={{ $json['Billing Country'] }}", "Subscriber Since": "={{ $json['Subscriber Since'] }}", "Billing Address 1": "={{ $json['Billing Address 1'] }}", "Billing Address 2": "={{ $json['Billing Address 2'] }}", "Subscriber Source": "={{ $json['Subscriber Source'] }}", "Shipping Address 1": "={{ $json['Billing Address 1'] }}", "Shipping Address 2": "={{ $json['Billing Address 2'] }}", "Billing Phone Number": "={{ $json['Billing Phone Number'] }}", "Shipping Phone Number": "={{ $json['Billing Phone Number'] }}", "Billing Province/State": "={{ $json['Billing Province/State'] }}", "Shipping Province/State": "={{ $json['Billing Province/State'] }}" }, "schema": [ { "id": "Email", "type": "string", "display": true, "removed": false, "required": false, "displayName": "Email", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "First Name", "type": "string", "display": true, "required": false, "displayName": "First Name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Last Name", "type": "string", "display": true, "required": false, "displayName": "Last Name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Created On", "type": "string", "display": true, "required": false, "displayName": "Created On", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Order Count", "type": "string", "display": true, "required": false, "displayName": "Order Count", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Last Order Date", "type": "string", "display": true, "required": false, "displayName": "Last Order Date", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Total Spent", "type": "string", "display": true, "required": false, "displayName": "Total Spent", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Member Since", "type": "string", "display": true, "required": false, "displayName": "Member Since", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Subscriber Since", "type": "string", "display": true, "required": false, "displayName": "Subscriber Since", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Subscriber Source", "type": "string", "display": true, "required": false, "displayName": "Subscriber Source", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Tags", "type": "string", "display": true, "required": false, "displayName": "Tags", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Mailing Lists", "type": "string", "display": true, "required": false, "displayName": "Mailing Lists", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Member Areas", "type": "string", "display": true, "required": false, "displayName": "Member Areas", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Donation Count", "type": "string", "display": true, "required": false, "displayName": "Donation Count", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Last Donation Date", "type": "string", "display": true, "required": false, "displayName": "Last Donation Date", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Total Donation Amount", "type": "string", "display": true, "required": false, "displayName": "Total Donation Amount", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Has Account", "type": "string", "display": true, "required": false, "displayName": "Has Account", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Customer Since", "type": "string", "display": true, "required": false, "displayName": "Customer Since", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Name", "type": "string", "display": true, "required": false, "displayName": "Shipping Name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Address 1", "type": "string", "display": true, "required": false, "displayName": "Shipping Address 1", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Address 2", "type": "string", "display": true, "required": false, "displayName": "Shipping Address 2", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping City", "type": "string", "display": true, "required": false, "displayName": "Shipping City", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Zip", "type": "string", "display": true, "required": false, "displayName": "Shipping Zip", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Province/State", "type": "string", "display": true, "required": false, "displayName": "Shipping Province/State", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Country", "type": "string", "display": true, "required": false, "displayName": "Shipping Country", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Shipping Phone Number", "type": "string", "display": true, "required": false, "displayName": "Shipping Phone Number", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Name", "type": "string", "display": true, "required": false, "displayName": "Billing Name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Address 1", "type": "string", "display": true, "required": false, "displayName": "Billing Address 1", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Address 2", "type": "string", "display": true, "required": false, "displayName": "Billing Address 2", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing City", "type": "string", "display": true, "required": false, "displayName": "Billing City", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Zip", "type": "string", "display": true, "required": false, "displayName": "Billing Zip", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Province/State", "type": "string", "display": true, "required": false, "displayName": "Billing Province/State", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Country", "type": "string", "display": true, "required": false, "displayName": "Billing Country", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Billing Phone Number", "type": "string", "display": true, "required": false, "displayName": "Billing Phone Number", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Accepts Marketing", "type": "string", "display": true, "required": false, "displayName": "Accepts Marketing", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [ "Email" ], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {}, "operation": "appendOrUpdate", "sheetName": { "__rl": true, "mode": "list", "value": 144532755, "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "squarespace_profiles" }, "documentId": { "__rl": true, "mode": "list", "value": "1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Squarespace automation" } }, "credentials": { "googleSheetsOAuth2Api": { "id": "JgI9maibw5DnBXRP", "name": "Google Sheets account" } }, "typeVersion": 4.5, "alwaysOutputData": true, "notes": "This googleSheets node performs automated tasks as part of the workflow." }, { "id": "dc5cfb81-0d9b-47fb-a97a-fa20c673283b", "name": "Loop Over Items", "type": "n8n-nodes-base.splitInBatches", "position": [ -360, -420 ], "parameters": { "options": {}, "batchSize": 1000 }, "typeVersion": 3, "notes": "This splitInBatches node performs automated tasks as part of the workflow." }, { "id": "b319cb05-6b8b-48cb-b7c9-4badee6bbf57", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -1240, -580 ], "parameters": { "width": 340, "height": 280, "content": "## Convert Squarespace profiles\nConvert exported profile from Squarespace to compatible Shopify customers data in csv format\nSample Spreadsheet template\n{{ $env.WEBHOOK_URL }}\n- Squarespace profiles\n- Shopify customers" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "8b9d6f85-af6e-43b8-a3f1-c63c7893e064", "name": "Extract items from webhook submission", "type": "n8n-nodes-base.extractFromFile", "position": [ -580, -420 ], "parameters": { "options": {}, "binaryPropertyName": "file" }, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow." }, { "id": "ce82f958-081b-4a55-a0d1-8ffb69dee68b", "name": "Manual trigger", "type": "n8n-nodes-base.manualTrigger", "position": [ -580, 0 ], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow." } ], "active": true, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "05db75a8-16f8-4191-b60b-d515d062bef9", "connections": { "17b7e952-ba9b-4067-9c98-a69ea09f7e69": { "main": [ [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-aa163edb", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-6ee55107", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-7cfb1134", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-e9766aaa", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-d7acf648", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-4f7c3173", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-87411773", "type": "main", "index": 0 } ], [ { "node": "error-handler-17b7e952-ba9b-4067-9c98-a69ea09f7e69-c820b0c9", "type": "main", "index": 0 } ] ] }, "7e149be3-19da-4320-8910-40ef0900628a": { "main": [ [ { "node": "error-handler-7e149be3-19da-4320-8910-40ef0900628a-e29a2938", "type": "main", "index": 0 } ] ] }, "e04f9a9e-b699-4cf2-aa91-56e6bfa30faa": { "main": [ [ { "node": "error-handler-e04f9a9e-b699-4cf2-aa91-56e6bfa30faa-de77a551", "type": "main", "index": 0 } ] ] }, "ffebc458-bd3c-4145-a5ef-1677815f210e": { "main": [ [ { "node": "error-handler-ffebc458-bd3c-4145-a5ef-1677815f210e-21fb6dbd", "type": "main", "index": 0 } ] ] }, "8b9d6f85-af6e-43b8-a3f1-c63c7893e064": { "main": [ [ { "node": "error-handler-8b9d6f85-af6e-43b8-a3f1-c63c7893e064-a8730ac8", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Convert Squarespace Profiles to Shopify Customers in Google Sheets. This workflow integrates 7 different services: webhook, stickyNote, splitInBatches, stopAndError, manualTrigger. It contains 14 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Convert Squarespace Profiles to Shopify Customers in Google Sheets. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }