Workflow: 2. Add Beehiiv newsletter subscribers from Gumroad sales
Integrations: googleSheets, gumroadTrigger, httpRequest, set, stickyNote, telegram

{"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": "=\ud83d\udd14 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": "<your chat id>"}]}}, "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."}