{ "id": "W1xEzKKEd1qV2D7V", "meta": { "instanceId": "workflow-378dd17e", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:57.620413", "updatedAt": "2025-09-29T07:07:57.620425", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "2. Add Beehiiv newsletter subscribers from Gumroad sales", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "18e8530e-d04f-47d4-b406-b2961d45f1c1", "name": "Gumroad Sale Trigger", "type": "n8n-nodes-base.gumroadTrigger", "position": [ -380, -280 ], "webhookId": "98ba7c08-2193-4ddf-9249-af7899716925", "parameters": { "resource": "sale" }, "credentials": { "gumroadApi": { "id": "wgjGSvLjsRBJImsQ", "name": "Gumroad account" } }, "typeVersion": 1, "notes": "This gumroadTrigger node performs automated tasks as part of the workflow." }, { "id": "6e464a73-a5c0-4a5d-95ce-c3cc2547a373", "name": "append row in CRM", "type": "n8n-nodes-base.googleSheets", "position": [ 300, -280 ], "parameters": { "columns": { "value": { "date": "={{ $('Gumroad Sale Trigger').item.json.sale_timestamp }}", "email": "={{ $('Gumroad Sale Trigger').item.json.email }}", "country": "={{ $('Gumroad Sale Trigger').item.json.ip_country }}", "product name": "={{ $('Gumroad Sale Trigger').item.json.product_name }}" }, "schema": [ { "id": "date", "type": "string", "display": true, "removed": false, "required": false, "displayName": "date", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "product name", "type": "string", "display": true, "removed": false, "required": false, "displayName": "product name", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "email", "type": "string", "display": true, "removed": false, "required": false, "displayName": "email", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "country", "type": "string", "display": true, "removed": false, "required": false, "displayName": "country", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {}, "operation": "append", "sheetName": { "__rl": true, "mode": "list", "value": "gid=0", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Sheet1" }, "documentId": { "__rl": true, "mode": "list", "value": "1XYMstoZ4j3O5T-UYz21ky7P5bkUtzYXQGYCQTRVWCI4", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Gumroad sales CRM" } }, "credentials": { "googleSheetsOAuth2Api": { "id": "Ou2SgvNZctBeYWT5", "name": "Google Sheets account" } }, "typeVersion": 4.5, "notes": "This googleSheets node performs automated tasks as part of the workflow." }, { "id": "1f1b0840-0da9-4118-96d5-62a1a36f902b", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -560, -580 ], "parameters": { "width": 320, "height": 460, "content": "## Trigger on a new Gumroad sale\n### Requirements\n- A [Gumroad]() account\n- A product listed. We used ours [here]({{ $env.WEBHOOK_URL }}\n- Head to Settings > Advanced, and create a new application\n\n### Set up\n- Paste your access token on this Gumroad sale trigger" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "35f93009-1960-4cde-bfa6-dc7dfed5e194", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -220, -500 ], "parameters": { "color": 4, "width": 400, "height": 380, "content": "## Connection to [Beehiiv]({{ $env.WEBHOOK_URL }} newsletter \n### Requirements\n- A [Beehiiv]({{ $env.WEBHOOK_URL }} account\n- A publication created\n- Generate a new API" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "bbfcab7c-92fa-4a23-abc2-480c286905ac", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 200, -540 ], "parameters": { "color": 4, "width": 320, "height": 420, "content": "## Load into CRM\n### Requirements\n- Set up your api and credentials for Google Sheets. You can find the n8n docs [here]({{ $env.WEBHOOK_URL }}\n- Append the row to your table with your desired data collected previously" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0", "name": "List publications", "type": "n8n-nodes-base.httpRequest", "position": [ -160, -280 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "options": {}, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth" }, "credentials": { "httpBearerAuth": { "id": "ZcZlbMhodQQpmBk3", "name": "Bearer Beehiiv" }, "httpHeaderAuth": { "id": "Qvu08SMoEOK2V2xB", "name": "Beehiiv newsletter" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a", "name": "Post subscription", "type": "n8n-nodes-base.httpRequest", "position": [ 20, -280 ], "parameters": { "url": "{{ $env.BASE_URL }}", "method": "POST", "options": {}, "sendBody": true, "authentication": "{{ $credentials.genericCredentialType }}", "bodyParameters": { "parameters": [ { "name": "email", "value": "={{ $('Gumroad Sale Trigger').item.json.email }}" } ] }, "genericAuthType": "httpHeaderAuth" }, "credentials": { "httpHeaderAuth": { "id": "Qvu08SMoEOK2V2xB", "name": "Beehiiv newsletter" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "cafb7301-06fe-49f9-a033-434459b181e5", "name": "Notify in channel", "type": "n8n-nodes-base.telegram", "position": [ 760, -280 ], "webhookId": "16dedd5e-7f93-45fb-8add-2928a53f125f", "parameters": { "text": "=🔔 New Gumroad sale!\nProduct: {{ $('Gumroad Sale Trigger').item.json.product_name }} \nEmail: {{ $('Gumroad Sale Trigger').item.json.email }} \nCountry: {{ $('Gumroad Sale Trigger').item.json.ip_country }}", "chatId": "={{ $json.telegramChatId }}", "additionalFields": { "appendAttribution": false } }, "credentials": { "telegramApi": { "id": "TbJJ7DHhEE1GwKQQ", "name": "Telegram account" } }, "typeVersion": 1.2, "notes": "This telegram node performs automated tasks as part of the workflow." }, { "id": "912c8a8f-074e-486f-b337-b828ae19b6af", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ 540, -440 ], "parameters": { "width": 360, "height": 320, "content": "## Notify team in Telegram\nSet up your Telegram bot and add to a channel as admin to notify everyone about the updates." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "5613a93b-f5ae-4478-86a8-4ea87ac5b9bd", "name": "Set ChatID", "type": "n8n-nodes-base.set", "position": [ 580, -280 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "089c1b05-3ac3-419e-a25e-e98d0b7fa49c", "name": "telegramChatId", "type": "string", "value": "" } ] } }, "typeVersion": 3.4, "notes": "This set 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": "34946f82-9af3-4e1b-bf98-67fb4c55a26c", "connections": { "46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0": { "main": [ [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-2c8e92d7", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-f02ce199", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-10ef25cc", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-343d2365", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-aa85968e", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-121785b0", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-01f10dbd", "type": "main", "index": 0 } ], [ { "node": "error-handler-46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0-297b14bf", "type": "main", "index": 0 } ] ] }, "ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a": { "main": [ [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-b7e52b70", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-30398672", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-caea5d9e", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-0cbb3fd6", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-5f43643f", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-19ea2ed2", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-7a1628da", "type": "main", "index": 0 } ], [ { "node": "error-handler-ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a-28f875b9", "type": "main", "index": 0 } ] ] }, "6e464a73-a5c0-4a5d-95ce-c3cc2547a373": { "main": [ [ { "node": "error-handler-6e464a73-a5c0-4a5d-95ce-c3cc2547a373-912b69a4", "type": "main", "index": 0 } ] ] }, "cafb7301-06fe-49f9-a033-434459b181e5": { "main": [ [ { "node": "error-handler-cafb7301-06fe-49f9-a033-434459b181e5-bc2b91db", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: 2. Add Beehiiv newsletter subscribers from Gumroad sales. This workflow integrates 7 different services: stickyNote, httpRequest, telegram, set, stopAndError. It contains 16 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: 2. Add Beehiiv newsletter subscribers from Gumroad sales. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }