This workflow follows the HTTP Request → Supabase recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Gumroad Sale \u2192 Auto Delivery + Lead Nurture (Zoho Mail)",
"active": false,
"settings": {
"executionOrder": "v1"
},
"nodes": [
{
"id": "8ad21b36-b690-4e7c-a7ed-ff71317ce2df",
"name": "Webhook \u2014 Gumroad Sale",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
-480,
-128
],
"parameters": {
"httpMethod": "POST",
"path": "gumroad-sale",
"responseMode": "lastNode",
"options": {}
},
"notes": "Configure this URL in Gumroad: Dashboard > Settings > Webhooks"
},
{
"id": "455aeeae-5175-49a5-8cf4-aa389f8c85dd",
"name": "IF \u2014 V\u00e9rifier non rembours\u00e9",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
-272,
-128
],
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{ $json.body.refunded }}",
"value2": false
}
]
}
}
},
{
"id": "5f444b7c-4894-4885-a6da-660e12075433",
"name": "Supabase \u2014 Enregistrer achat",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
-80,
-128
],
"parameters": {
"tableId": "purchases",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "email",
"fieldValue": "={{ $json.body.email }}"
},
{
"fieldId": "product_name",
"fieldValue": "={{ $json.body.product_name }}"
},
{
"fieldId": "gumroad_id",
"fieldValue": "={{ $json.body.sale_id }}"
},
{
"fieldId": "purchased_at",
"fieldValue": "={{ $json.body.created_at }}"
},
{
"fieldId": "amount",
"fieldValue": "={{ $json.body.price }}"
},
{
"fieldId": "currency",
"fieldValue": "={{ $json.body.currency }}"
}
]
}
},
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
},
{
"id": "4d16e28e-807e-43c6-b2d7-fe6b96ebba1e",
"name": "Zoho Mail \u2014 Email livraison produit",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
96,
-128
],
"parameters": {
"method": "POST",
"url": "https://mail.zoho.eu/api/accounts/YOUR_ZOHO_ACCOUNT_ID/messages",
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"sendHeaders": true,
"specifyHeaders": "json",
"jsonHeaders": "={\"Content-Type\": \"application/json\"}",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"fromAddress\": \"contact@YOUR_DOMAIN.com\",\n \"toAddress\": \"{{ $json.body.email }}\",\n \"subject\": \"\ud83c\udf89 Ton produit est pr\u00eat !\",\n \"mailFormat\": \"html\",\n \"content\": \"<h1>Merci pour ton achat !</h1><p>Acc\u00e8de \u00e0 ton contenu : <a href='{{ $json.body.permalink }}'>Cliquer ici</a></p><p>Des questions ? R\u00e9ponds \u00e0 cet email.</p>\"\n}"
},
"credentials": {
"oAuth2Api": {
"name": "<your credential>"
}
}
},
{
"id": "0703b39b-b9eb-49dd-bed0-44b84c1df296",
"name": "Telegram \u2014 Notif nouvelle vente",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
320,
-128
],
"parameters": {
"method": "POST",
"url": "=https://api.telegram.org/bot{{ $env.TELEGRAM_BOT_TOKEN }}/sendMessage",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"chat_id\": \"{{ $env.TELEGRAM_CHAT_ID }}\",\n \"text\": \"\ud83d\udcb0 Nouvelle vente !\\n\\nProduit: {{ $('Supabase \u2014 Enregistrer achat').item.json.product_name }}\\nMontant: {{ $('Supabase \u2014 Enregistrer achat').item.json.amount }}\u20ac\\nClient: {{ $('Supabase \u2014 Enregistrer achat').item.json.email }}\",\n \"parse_mode\": \"HTML\"\n}",
"options": {}
},
"notes": "Remplace Discord par Telegram pour les notifications \u2014 plus simple et natif n8n"
},
{
"id": "12ae860c-4c96-4453-937a-d909b0e596ff",
"name": "Respond \u2014 Succ\u00e8s Gumroad",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
512,
-128
],
"parameters": {
"respondWith": "json",
"responseBody": "={{ { \"success\": true } }}",
"options": {}
}
},
{
"id": "8302a365-b15c-47b5-9eef-03afdcb73b88",
"name": "Webhook \u2014 Lead Capture (Formulaire gratuit)",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
-464,
96
],
"parameters": {
"httpMethod": "POST",
"path": "lead-capture",
"responseMode": "lastNode",
"options": {}
},
"notes": "Webhook pour formulaire lead magnet (ebook gratuit, etc.)"
},
{
"id": "4a90d3cf-6cdc-4033-b1af-5ac731805280",
"name": "Supabase \u2014 Enregistrer lead",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
-256,
96
],
"parameters": {
"tableId": "leads"
},
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
},
{
"id": "104a3d52-893a-4ade-94fa-28d6d1b1a913",
"name": "Zoho Mail \u2014 Lead Magnet (email J+0)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
-48,
96
],
"parameters": {
"method": "POST",
"url": "https://mail.zoho.eu/api/accounts/YOUR_ZOHO_ACCOUNT_ID/messages",
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"sendHeaders": true,
"specifyHeaders": "json",
"jsonHeaders": "={\"Content-Type\": \"application/json\"}",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"fromAddress\": \"contact@YOUR_DOMAIN.com\",\n \"toAddress\": \"{{ $json.body.email }}\",\n \"subject\": \"\ud83c\udf81 Tes 5 workflows n8n gratuits\",\n \"mailFormat\": \"html\",\n \"content\": \"<h1>Hey {{ $json.body.first_name || 'toi' }} ! \ud83d\udc4b</h1><p>Voici ton guide : <a href='YOUR_LEAD_MAGNET_URL'>T\u00e9l\u00e9charger</a></p><p>Tu vas recevoir des tips d'automatisation pendant 14 jours.</p><p>\u00c0 tr\u00e8s vite,<br>Guillou \u2014 TGM Automation</p>\"\n}"
},
"credentials": {
"oAuth2Api": {
"name": "<your credential>"
}
}
},
{
"id": "51e944bd-d25a-41d6-8cd8-694c192fd6a1",
"name": "Respond \u2014 Succ\u00e8s lead capture",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
336,
96
],
"parameters": {
"respondWith": "json",
"responseBody": "={{ { \"success\": true, \"message\": \"Check your email!\" } }}",
"options": {}
}
},
{
"id": "7f9bda1b-5801-480c-b626-10ded0d811b0",
"name": "Schedule \u2014 S\u00e9quence emails J+1 \u00e0 J+14",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.1,
"position": [
-464,
-320
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 9 * * *"
}
]
}
},
"notes": "Tourne tous les jours \u00e0 9h \u2014 envoie l'email du jour \u00e0 tous les leads actifs"
},
{
"id": "c9d459d9-2bd9-4116-ad5f-637469462dad",
"name": "Supabase \u2014 R\u00e9cup\u00e9rer leads actifs",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
-256,
-320
],
"parameters": {
"operation": "getAll",
"tableId": "leads",
"limit": 100
},
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
},
{
"id": "8f3cb714-8a07-42cc-ae28-309bdc5af235",
"name": "Split \u2014 Traiter par batch de 10",
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
-64,
-320
],
"parameters": {
"batchSize": 10,
"options": {}
}
},
{
"id": "184beafe-40bb-48c7-be81-fd4915ee01c4",
"name": "Code \u2014 D\u00e9termine contenu email du jour",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
144,
-320
],
"parameters": {
"jsCode": "// S\u00e9quence emails 5 jours (J+1 \u00e0 J+5)\n// Adapte les sujets et contenus \u00e0 ton produit\nconst emailSequence = [\n {\n subject: \"\ud83c\udfaf L'erreur #1 qui tue la productivit\u00e9\",\n body: `<h1>Hey {{first_name}} \ud83d\udc4b</h1><p>95% des entrepreneurs font cette erreur : ils passent 3h/jour sur des t\u00e2ches automatisables.</p><p>Demain, je te montre comment y rem\u00e9dier en 2h.</p><p>Guillou \u2014 TGM Automation</p>`\n },\n {\n subject: \"\ud83d\udca1 Comment j'ai automatis\u00e9 mon onboarding client\",\n body: `<h1>Salut {{first_name}},</h1><p>Nouveau client \u2192 il re\u00e7oit automatiquement contrat + acc\u00e8s + welcome pack. Mon intervention : 0 minute.</p><p>Le workflow complet dans le pack complet.</p>`\n },\n {\n subject: \"\ud83d\udcca Cas r\u00e9el : de 40h \u00e0 15h/semaine\",\n body: `<h1>{{first_name}}, une histoire vraie :</h1><p>40h de travail/semaine, dont 25h d'admin. R\u00e9sultat apr\u00e8s 5 workflows : 15h/semaine, +3 clients.</p><p>Tu veux le m\u00eame syst\u00e8me ? <a href='YOUR_PRODUCT_URL'>C'est ici</a></p>`\n },\n {\n subject: \"\ud83d\udd27 Workflow gratuit : Qualification prospects\",\n body: `<h1>Cadeau {{first_name}} \ud83c\udf81</h1><p>Ce workflow qualifie tes prospects automatiquement. <a href='YOUR_LEAD_MAGNET_URL'>T\u00e9l\u00e9charge-le ici</a> \u2014 installe en 10min.</p>`\n },\n {\n subject: \"\u26a1 Derni\u00e8re chance : -30% (48h)\",\n body: `<h1>{{first_name}}, derni\u00e8re ligne droite</h1><p>Code promo <strong>EARLYBIRD30</strong> pour -30% sur le pack complet. <a href='YOUR_PRODUCT_URL?code=EARLYBIRD30'>D\u00e9marrer maintenant</a></p><p><small>Expire dans 48h</small></p>`\n }\n];\n\nconst step = $input.item.json.sequence_step || 0;\nconst emailData = emailSequence[step] || emailSequence[0];\nconst firstName = $input.item.json.first_name || 'toi';\n\nreturn {\n json: {\n ...$input.item.json,\n email_subject: emailData.subject,\n email_body: emailData.body.replace(/{{first_name}}/g, firstName)\n }\n};"
}
},
{
"id": "9b96ed8e-bb58-42bb-a69c-3f24ed2e2fd1",
"name": "Zoho Mail \u2014 Envoyer email s\u00e9quence",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [
352,
-320
],
"parameters": {
"method": "POST",
"url": "https://mail.zoho.eu/api/accounts/YOUR_ZOHO_ACCOUNT_ID/messages",
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"sendHeaders": true,
"specifyHeaders": "json",
"jsonHeaders": "={\"Content-Type\": \"application/json\"}",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"fromAddress\": \"contact@YOUR_DOMAIN.com\",\n \"toAddress\": \"{{ $json.email }}\",\n \"subject\": \"{{ $json.email_subject }}\",\n \"mailFormat\": \"html\",\n \"content\": \"{{ $json.email_body }}\"\n}"
},
"credentials": {
"oAuth2Api": {
"name": "<your credential>"
}
}
},
{
"id": "2fcd212f-f45b-4d4a-8c40-f6d619bc5300",
"name": "Supabase \u2014 Incr\u00e9menter sequence_step",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
544,
-320
],
"parameters": {
"operation": "update",
"tableId": "leads"
},
"credentials": {
"supabaseApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Webhook \u2014 Gumroad Sale": {
"main": [
[
{
"node": "IF \u2014 V\u00e9rifier non rembours\u00e9",
"type": "main",
"index": 0
}
]
]
},
"IF \u2014 V\u00e9rifier non rembours\u00e9": {
"main": [
[
{
"node": "Supabase \u2014 Enregistrer achat",
"type": "main",
"index": 0
}
]
]
},
"Supabase \u2014 Enregistrer achat": {
"main": [
[
{
"node": "Zoho Mail \u2014 Email livraison produit",
"type": "main",
"index": 0
}
]
]
},
"Zoho Mail \u2014 Email livraison produit": {
"main": [
[
{
"node": "Telegram \u2014 Notif nouvelle vente",
"type": "main",
"index": 0
}
]
]
},
"Telegram \u2014 Notif nouvelle vente": {
"main": [
[
{
"node": "Respond \u2014 Succ\u00e8s Gumroad",
"type": "main",
"index": 0
}
]
]
},
"Webhook \u2014 Lead Capture (Formulaire gratuit)": {
"main": [
[
{
"node": "Supabase \u2014 Enregistrer lead",
"type": "main",
"index": 0
}
]
]
},
"Supabase \u2014 Enregistrer lead": {
"main": [
[
{
"node": "Zoho Mail \u2014 Lead Magnet (email J+0)",
"type": "main",
"index": 0
}
]
]
},
"Zoho Mail \u2014 Lead Magnet (email J+0)": {
"main": [
[
{
"node": "Respond \u2014 Succ\u00e8s lead capture",
"type": "main",
"index": 0
}
]
]
},
"Schedule \u2014 S\u00e9quence emails J+1 \u00e0 J+14": {
"main": [
[
{
"node": "Supabase \u2014 R\u00e9cup\u00e9rer leads actifs",
"type": "main",
"index": 0
}
]
]
},
"Supabase \u2014 R\u00e9cup\u00e9rer leads actifs": {
"main": [
[
{
"node": "Split \u2014 Traiter par batch de 10",
"type": "main",
"index": 0
}
]
]
},
"Split \u2014 Traiter par batch de 10": {
"main": [
[
{
"node": "Code \u2014 D\u00e9termine contenu email du jour",
"type": "main",
"index": 0
}
]
]
},
"Code \u2014 D\u00e9termine contenu email du jour": {
"main": [
[
{
"node": "Zoho Mail \u2014 Envoyer email s\u00e9quence",
"type": "main",
"index": 0
}
]
]
},
"Zoho Mail \u2014 Envoyer email s\u00e9quence": {
"main": [
[
{
"node": "Supabase \u2014 Incr\u00e9menter sequence_step",
"type": "main",
"index": 0
}
]
]
}
},
"tags": [
"gumroad",
"email-marketing",
"zoho-mail",
"lead-nurture",
"supabase",
"e-commerce"
]
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
oAuth2ApisupabaseApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Gumroad Sale → Auto Delivery + Lead Nurture (Zoho Mail). Uses supabase, httpRequest. Webhook trigger; 16 nodes.
Source: https://github.com/guilloulearnlife/n8n-portfolio/blob/24614da8343195909d722fe7754bfcdb6d1820bf/workflows/gumroad-auto-delivery.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
v25.1.1. Uses httpRequest, mySql, n8n-nodes-zohozeptomail. Webhook trigger; 80 nodes.
This is ideal for agencies, freelancers, SaaS founders, and small sales teams who want every lead recorded and followed up automatically within seconds. The workflow supports two storage options: HubS
Real-Time Lead Processing - Captures and processes leads instantly from website forms with zero delay Intelligent Fit Scoring - Automatically scores leads 0-100 based on company size, seniority, and r
A webhook receives a form submission with an email address The email is validated, then Lusha enriches the contact If phone or email is missing, a fallback provider fills the gaps via HTTP request Dat
This workflow is built for digital agencies and sales teams that sell services to ecommerce brands. If you prospect Shopify store owners and want a repeatable, automated pipeline from discovery to CRM