n8n Workflow
Advanced

Add Beehiiv Subscribers & Update CRM from Gumroad Sales

Automate your post-sale workflow by adding new Gumroad customers to your Beehiiv newsletter, logging sales in Google Sheets, and sending Telegram notifications.

Overview

Automatically subscribes new Gumroad customers to a Beehiiv newsletter, updates a Google Sheets CRM, and sends a Telegram notification for each new sale.

🧠 Description & Use Case

This workflow automates the entire post-sale process for Gumroad creators. When a new sale occurs, it automatically subscribes the customer to a Beehiiv newsletter, logs the sale in a Google Sheets CRM, and sends a real-time notification to a Telegram channel.

🔄 How It Works:

  1. Trigger on New Sale: The Gumroad Sale Trigger node kicks off the workflow whenever a new sale is made on your Gumroad account.
  2. Add to Beehiiv:
    • The workflow first uses an HTTP Request node to fetch your Beehiiv publication ID.
    • It then uses another HTTP Request node to add the customer's email from the Gumroad sale as a new subscriber to your Beehiiv publication.
  3. Log Sale in CRM: The append row in CRM node connects to Google Sheets and adds a new row with key details from the sale (date, product name, email, country), keeping your sales records automatically updated.
  4. Notify Your Team: The Notify in channel node sends a custom message to a specified Telegram chat, instantly alerting your team about the new sale and customer details.

✅ Real-World Use Cases:

  • Automated Lead Nurturing: Effortlessly grow your Beehiiv email list with every Gumroad sale, allowing you to immediately start nurturing new customers with welcome sequences or newsletters.
  • Centralized Sales Tracking: Maintain a clean, up-to-date sales CRM in Google Sheets without any manual data entry, perfect for tracking revenue, customer locations, and product popularity.
  • Real-Time Sales Alerts: Keep your team motivated and informed by sending instant sales notifications to a Telegram channel, celebrating every win as it happens.
  • Streamlined Creator Workflow: For digital product creators, course instructors, and artists, this workflow eliminates tedious administrative tasks, freeing up more time to create.

Instructions

Basic steps

  1. Download workflow JSON
  2. Import into n8n
  3. Configure node parameters as needed
  4. Test and enable the workflow

💡 Tips

After importing, verify all connectors and credentials match your environment.

Preview

Workflow Visualization

10 nodes
100%
Gumroad Sale TriggergumroadTriggerappend row in CRMgoogleSheetsSticky NotestickyNoteSticky Note1stickyNoteSticky Note2stickyNoteList publicationshttpRequestPost subscriptionhttpRequestNotify in channeltelegramSticky Note3stickyNoteSet ChatIDset

Nodes

1

Gumroad Sale Trigger

gumroadTrigger

v1
2

append row in CRM

googleSheets

v4.5
3

Sticky Note

stickyNote

v1
4

Sticky Note1

stickyNote

v1
5

Sticky Note2

stickyNote

v1
6

List publications

httpRequest

v4.2
7

Post subscription

httpRequest

v4.2
8

Notify in channel

telegram

v1.2
9

Sticky Note3

stickyNote

v1
10

Set ChatID

set

v3.4

Statistics

Total nodes:10
Disabled nodes:0
Node types:6
Connections:5
View full JSON structure
{
  "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
    },
    {
      "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": "https://docs.google.com/spreadsheets/d/1XYMstoZ4j3O5T-UYz21ky7P5bkUtzYXQGYCQTRVWCI4/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1XYMstoZ4j3O5T-UYz21ky7P5bkUtzYXQGYCQTRVWCI4",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1XYMstoZ4j3O5T-UYz21ky7P5bkUtzYXQGYCQTRVWCI4/edit?usp=drivesdk",
          "cachedResultName": "Gumroad sales CRM"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Ou2SgvNZctBeYWT5",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "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](https://1node.gumroad.com/l/topaitools)\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
    },
    {
      "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](https://www.beehiiv.com?via=1node-ai) newsletter \n### Requirements\n- A [Beehiiv](https://www.beehiiv.com?via=1node-ai) account\n- A publication created\n- Generate a new API"
      },
      "typeVersion": 1
    },
    {
      "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](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/?utm_source=n8n_app&utm_medium=node_settings_modal-credential_link&utm_campaign=n8n-nodes-base.googleSheets)\n- Append the row to your table with your desired data collected previously"
      },
      "typeVersion": 1
    },
    {
      "id": "46a7cfcf-a042-4fe3-9f76-62eb46ecbbd0",
      "name": "List publications",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -160,
        -280
      ],
      "parameters": {
        "url": "https://api.beehiiv.com/v2/publications",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "ZcZlbMhodQQpmBk3",
          "name": "Bearer Beehiiv"
        },
        "httpHeaderAuth": {
          "id": "Qvu08SMoEOK2V2xB",
          "name": "Beehiiv newsletter"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ab7bede8-0019-4cb4-ad16-b9ccbbe8b15a",
      "name": "Post subscription",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        20,
        -280
      ],
      "parameters": {
        "url": "=https://api.beehiiv.com/v2/publications/{{ $json.data[0].id }}/subscriptions",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "email",
              "value": "={{ $('Gumroad Sale Trigger').item.json.email }}"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "Qvu08SMoEOK2V2xB",
          "name": "Beehiiv newsletter"
        }
      },
      "typeVersion": 4.2
    },
    {
      "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
    },
    {
      "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
    },
    {
      "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
    }
  ],
  "connections": {
    "Set ChatID": {
      "main": [
        [
          {
            "node": "Notify in channel",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "List publications": {
      "main": [
        [
          {
            "node": "Post subscription",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post subscription": {
      "main": [
        [
          {
            "node": "append row in CRM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "append row in CRM": {
      "main": [
        [
          {
            "node": "Set ChatID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gumroad Sale Trigger": {
      "main": [
        [
          {
            "node": "List publications",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Actions

Share
Categories:
Tags:
sethttprequesttelegramgooglesheetsstickynotegumroadtrigger

Technical Specs

Complexity:
Advanced
Node Count:
10 nodes
Published:11 months ago
Updated:3 months ago

Compatibility

Platform:
N8N Cloud & Self-hosted
Min Version:
N8N v1.0.0+
Supports cloud and self-hosted deployment

License

This workflow template follows MIT license, you can freely use, modify and distribute.

Please comply with relevant third-party service terms when using.

Related Workflows