Deliver a free guide and add the reader to your list
When someone asks for your free guide, email them the download, add them to Mailchimp and log the source.
How it works
Trigger: Webhook — your download form is submitted
- Your form sends the name and email to the webhook.
- Email them the download link.
- Add them to your Mailchimp audience with a lead-magnet tag.
- Log the download and its source in a sheet.
Diagram
Trigger App
Build it
Pick your tool — same automation, step by step.
Copy and paste straight into an n8n canvas (Ctrl+V), or download and use Import from File. Then connect your own credentials and replace every YOUR_… placeholder.
Show code (159 lines)
{
"name": "Deliver a free guide and add the reader to your list (Flowngn)",
"nodes": [
{
"parameters": {
"content": "## Deliver a free guide and add the reader to your list\nWhen someone asks for your free guide, email them the download, add them to Mailchimp and log the source.\n\n**Setup**\n1. Open each node and connect your own credentials.\n2. Replace every YOUR_… placeholder.\n3. Test once, then activate.\n\nFree template from Flowngn",
"height": 260,
"width": 340
},
"id": "310bce97-ca1c-4fa1-afb0-4e66cb931f47",
"name": "Setup notes",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-420,
-60
]
},
{
"parameters": {
"httpMethod": "POST",
"path": "lead-magnet",
"options": {}
},
"id": "310bce97-ca1c-4fa1-afb0-4e66cb931f47",
"name": "Download form",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
0,
0
],
"webhookId": "310bce97-ca1c-4fa1-afb0-4e66cb931f47"
},
{
"parameters": {
"sendTo": "={{ $json.body.email }}",
"subject": "=Here's your copy of YOUR_GUIDE_NAME",
"emailType": "text",
"message": "=Hi {{ $json.body.name || 'there' }},\n\nThanks for your interest! Download it here:\nYOUR_DOWNLOAD_LINK\n\nIf you have a question about it, just reply — I read every email.\n\nYOUR_NAME",
"options": {
"appendAttribution": false
}
},
"id": "310bce97-ca1c-4fa1-afb0-4e66cb931f47",
"name": "Email the download",
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
300,
0
]
},
{
"parameters": {
"list": "YOUR_AUDIENCE_ID",
"email": "={{ $('Download form').item.json.body.email }}",
"status": "subscribed",
"options": {
"tags": [
"lead-magnet"
]
},
"mergeFieldsUi": {
"mergeFieldsValues": [
{
"name": "FNAME",
"value": "={{ $('Download form').item.json.body.name }}"
}
]
}
},
"id": "310bce97-ca1c-4fa1-afb0-4e66cb931f47",
"name": "Add to audience",
"type": "n8n-nodes-base.mailchimp",
"typeVersion": 1,
"position": [
600,
0
]
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "YOUR_SPREADSHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Downloads",
"mode": "name"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"date": "={{ $now.toISO() }}",
"name": "={{ $('Download form').item.json.body.name }}",
"email": "={{ $('Download form').item.json.body.email }}",
"source": "={{ $('Download form').item.json.body.utm_source || 'direct' }}"
}
},
"options": {}
},
"id": "310bce97-ca1c-4fa1-afb0-4e66cb931f47",
"name": "Log download",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
900,
0
]
}
],
"connections": {
"Download form": {
"main": [
[
{
"node": "Email the download",
"type": "main",
"index": 0
}
]
]
},
"Email the download": {
"main": [
[
{
"node": "Add to audience",
"type": "main",
"index": 0
}
]
]
},
"Add to audience": {
"main": [
[
{
"node": "Log download",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"meta": {
"templateCredsSetupCompleted": false
},
"tags": []
}In Make, create a new scenario and add these modules in order:
- Webhooks › Custom webhook
- Gmail › Send an Email
- Mailchimp › Add/Update a Subscriber
- Google Sheets › Add a Row
- Every module run uses Make operations — the free plan includes a monthly quota.
- Module and step names can differ slightly as Make and Zapier update their apps.
In Zapier, create a new Zap and add these steps in order:
- Webhooks by Zapier — Catch Hook
- Gmail — Send Email
- Mailchimp — Add/Update Subscriber
- Google Sheets — Create Spreadsheet Row
- Zaps with more than two steps need a paid Zapier plan.
- Webhooks, Filters/Paths and Code by Zapier are premium features on some Zapier plans.
- Module and step names can differ slightly as Make and Zapier update their apps.
Tips
- Send utm_source from your form to see which channel brings the most readers.
Related flows
MarketingEasy
Personal welcome for new newsletter subscribers
New subscribers are added to your list and get a personal-feeling welcome email.
Webhook → Mailchimp → Gmail2h/mo
MarketingAdvanced
Competitor price change monitor
Check public product pages daily and get notified when a price changes.
HTTP Request → Google Sheets → Gmail5h/mo
MarketingEasy
Event signup → automatic calendar invite
People who register for your webinar or event get a Google Calendar invite instantly.
Webhook → Google Calendar → Google Sheets3h/mo