This workflow corresponds to n8n.io template #10705 — we link there as the canonical source.
This workflow follows the Form Trigger → Gmail 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 →
{
"id": "MbJKawk5p02VjD3Y",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "New Lead and reminder\u2705",
"tags": [
{
"id": "BXyvGuYioKFVhqor",
"name": "sales",
"createdAt": "2025-10-20T20:27:17.123Z",
"updatedAt": "2025-10-20T20:27:17.123Z"
}
],
"nodes": [
{
"id": "98950cec-38f2-4bb6-87f2-225ae7251c4c",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-960,
112
],
"parameters": {
"options": {},
"formTitle": "Test Form",
"formFields": {
"values": [
{
"fieldLabel": "First Name",
"requiredField": true
},
{
"fieldLabel": "Last Name",
"requiredField": true
},
{
"fieldLabel": "Email",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Budget",
"fieldOptions": {
"values": [
{
"option": "0-1000"
},
{
"option": "1000+"
},
{
"option": "0-100"
}
]
},
"requiredField": true
},
{
"fieldLabel": "Message"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "71a3c48f-48ba-4532-82b9-77c95c85e2d9",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-960,
368
],
"parameters": {
"columns": {
"value": {
"Email": "={{ $json.Email }}",
"Budget": "={{ $json.Budget }}",
"Called": "FALSE",
"Message": "={{ $json.Message }}",
"Rejected": "={{ $if( $json.Budget == \"1000+\", \"FALSE\", \"TRUE\") }}",
"Last Name": "={{ $json['Last Name'] }}",
"First Name": "={{ $json['First Name'] }}",
"submittedAt": "={{ $today}}"
},
"schema": [
{
"id": "First Name",
"type": "string",
"display": true,
"required": false,
"displayName": "First Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Last Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "submittedAt",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "submittedAt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Budget",
"type": "string",
"display": true,
"required": false,
"displayName": "Budget",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Rejected",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Rejected",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Called",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Called",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w/edit?usp=drivesdk",
"cachedResultName": "n8n Leads"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5,
"alwaysOutputData": false
},
{
"id": "062f9ffa-97d8-441f-9639-4cb7911ab593",
"name": "Filter",
"type": "n8n-nodes-base.filter",
"position": [
-960,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ea08ed8a-56e6-4ab8-ab5f-72f30427cffa",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.Budget }}",
"rightValue": "0-100"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "1e3d36e9-3950-4092-aa90-26a284781f20",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
-960,
496
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "362424ed-4d9a-46ef-8dda-3dd7c373d9f6",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('On form submission').item.json.Budget }}",
"rightValue": "0-1000"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "514dc66e-9528-411f-a617-3e64e1d8c9a7",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('On form submission').item.json.Budget }}",
"rightValue": "1000+"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "f6203441-3b59-4f16-ac67-a0c6282a683a",
"name": "Gmail1",
"type": "n8n-nodes-base.gmail",
"position": [
-720,
352
],
"parameters": {
"sendTo": "={{ $('On form submission').item.json.Email }}",
"message": "=Hey {{ $('On form submission').item.json['Fisrt Name'] }},\n\nThanks for inquiring with our services,can you book a call on my calendar link here:\nhttps://calendly.com/lelolelo12345678910l/30min\n\nBest,\nD",
"options": {
"appendAttribution": false
},
"subject": "Hey, thanks for inquiring with us",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "254cff56-6317-4784-b647-6ebb2b8e2723",
"name": "Gmail2",
"type": "n8n-nodes-base.gmail",
"position": [
-544,
112
],
"parameters": {
"sendTo": "=",
"message": "=New Lead\n\nName: {{ $('On form submission').item.json['Fisrt Name'] }}{{ $('On form submission').item.json['Last Name'] }}\nEmail: {{ $('On form submission').item.json.Email }}\nBudget: {{ $('On form submission').item.json.Budget }}\nMessages: {{ $('On form submission').item.json.Message }}\n",
"options": {
"appendAttribution": false
},
"subject": "New Lead",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "a4f72e8e-8964-4875-8384-75e4f8f7f39a",
"name": "Gmail3",
"type": "n8n-nodes-base.gmail",
"position": [
-544,
352
],
"parameters": {
"sendTo": "=",
"message": "=New Lead\n\nName: {{ $('On form submission').item.json['Fisrt Name'] }}{{ $('On form submission').item.json['Last Name'] }}\nEmail: {{ $('On form submission').item.json.Email }}\nBudget: {{ $('On form submission').item.json.Budget }}\nMessages: {{ $('On form submission').item.json.Message }}\n",
"options": {
"appendAttribution": false
},
"subject": "New Lead",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "fc586f80-00ae-4f07-a5df-d5b10e245698",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
-720,
112
],
"parameters": {
"sendTo": "={{ $('On form submission').item.json.Email }}",
"message": "=Hey {{ $('On form submission').item.json['Fisrt Name'] }},\n\nThanks for inquiring with our services, i'll give you a call later this week.\n\nBest,\nD",
"options": {
"appendAttribution": false
},
"subject": "Hey, thanks for inquiring with us",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "53d096e4-d78a-4e77-87a5-430b2d7457ce",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
128,
192
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "c0c978d9-4b17-4b79-9360-9ef7028c8d73",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
256,
192
],
"parameters": {
"jsCode": "const people = items[0].json.data;\n\nconst textOutput = people.map(person =>\n `Name: ${person[\"First Name\"]} ${person[\"Last Name\"]}\\n` + \n `Email: ${person[\"Email\"]}\\n` + \n `Budget: ${person[\"Budget \"]}\\n` + \n `Message: ${person[\"Message\"]}`\n).join(\"\\n\\n\");\n\nreturn [{ json: { text: textOutput }}];"
},
"typeVersion": 2
},
{
"id": "e208a08b-59dd-4d0a-bb8c-c0460da3f5de",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-224,
176
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 20
}
]
}
},
"typeVersion": 1.2
},
{
"id": "0b391289-7746-46a7-96f4-636a87109308",
"name": "Filter1",
"type": "n8n-nodes-base.filter",
"position": [
-16,
400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9d637327-f114-4457-ae65-c8fdb71f2d03",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.Called }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "31e6ac29-d8a2-4c3d-a3fc-ed63b6ea4bd9",
"name": "Google Sheets2",
"type": "n8n-nodes-base.googleSheets",
"position": [
160,
400
],
"parameters": {
"operation": "delete",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w/edit?usp=drivesdk",
"cachedResultName": "n8n Leads"
},
"startIndex": "={{$json[\"row_number\"]}}",
"numberToDelete": "={{ 1 }}"
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5
},
{
"id": "e83383e1-452d-475e-b9f2-dd828543df86",
"name": "Filter2",
"type": "n8n-nodes-base.filter",
"position": [
-16,
192
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7108fcd1-b850-45b5-90ad-a1904490137b",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $json.Called }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7e67b596-f9aa-49e4-ae07-d5602466bba9",
"name": "Google Sheets1",
"type": "n8n-nodes-base.googleSheets",
"position": [
-224,
304
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "={{ $today }}",
"lookupColumn": "submittedAt"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mZyqYwF78y_4P-nc5h-CwvIi4m8PHj2Reus4GxI9o8w/edit?usp=drivesdk",
"cachedResultName": "n8n Leads"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"notesInFlow": false,
"retryOnFail": false,
"typeVersion": 4.5,
"alwaysOutputData": false
},
{
"id": "2427ad1f-250b-4695-97c5-677ee4ee8551",
"name": "Gmail4",
"type": "n8n-nodes-base.gmail",
"position": [
384,
192
],
"parameters": {
"message": "={{ $json.text }}",
"options": {
"appendAttribution": false
},
"subject": "Uncalled Leads",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "f5d7ec0d-b155-4414-99a4-be63d6e75762",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
48
],
"parameters": {
"color": 4,
"width": 672,
"height": 624,
"content": "# New lead "
},
"typeVersion": 1
},
{
"id": "ef290c2a-8967-4ec6-92bb-8b3abf2ceb11",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-272,
48
],
"parameters": {
"color": 5,
"width": 848,
"height": 624,
"content": "# Lead Reminder"
},
"typeVersion": 1
},
{
"id": "c09a5808-2187-4cce-945c-b63d86f9abc1",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1792,
-272
],
"parameters": {
"color": 7,
"width": 736,
"height": 1600,
"content": "# System Overview\n# Workflow Name: New Lead and Reminder System\n\n# What This System Does:\n\nThis n8n automation captures new leads from a form submission and automatically:\n\nSaves them to a Google Sheet database\n\nSends personalized emails to prospects based on their budget\n\nSends you admin notifications of new leads\n\nReminds you daily about leads you haven't called yet\n\nHelps you track which leads have been contacted\n\nHow It Works - Step by Step:\n\n# PART 1: NEW LEAD CAPTURE\n\nForm Submission Trigger - Someone fills out \"Test Form\" with:\n\nFirst Name\n\nLast Name\n\nEmail\n\nBudget (dropdown: 0-100, 0-1000, 1000+)\n\nMessage\n\nBudget Filter - Rejects leads with \"0-100\" budget (too small)\n\nGoogle Sheets - Stores the lead with:\n\nAll form data\n\nSubmission date\n\n\"Called\" status (starts as FALSE)\n\n\"Rejected\" status (TRUE if budget < 1000, FALSE if 1000+)\n\nLead Routing (Switch Node) - Routes leads to different email templates:\n\nBudget 0-1000: Gets email saying \"I'll give you a call later this week\"\n\nBudget 1000+: Gets email saying \"Book a call on my Calendly link\"\n\nYour Notifications - You receive 2 admin emails for every lead:\n\nOne showing lead details\n\nAnother with full lead summary\n\n# PART 2: DAILY REMINDER SYSTEM\n\nSchedule Trigger - Runs every day at 8 PM (20:00)\n\nGoogle Sheets Query - Pulls all leads from today that have Called = FALSE\n\nData Processing:\n\nFilter1 - Checks if Called = TRUE and deletes completed leads\n\nFilter2 - Checks if Called = FALSE and keeps uncalled leads\n\nCode Node - Formats uncalled leads into readable text:\n\ntext\nName: [First Name] [Last Name]\nEmail: [Email]\nBudget: [Budget]\nMessage: [Message]\nReminder Email - Sends you the formatted list of uncalled leads to your Gmail\n\nAfter You Call - Mark Called = TRUE in the spreadsheet to remove from tomorrow's reminder\n\n# Key Features:\n\n\u2705 Automatic lead qualification - Only accepts budgets of 1000+\n\u2705 Personalized outreach - Different emails based on budget\n\u2705 Lead database - All leads tracked in Google Sheet\n\u2705 Daily reminders - Never forget uncalled leads\n\u2705 Admin alerts - You get notified immediately when new leads arrive\n\u2705 Lead tracking - Mark \"Called\" status to track progress"
},
"typeVersion": 1
},
{
"id": "021deec3-3ba3-49f4-a1c1-070c46bdc80d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
-240
],
"parameters": {
"color": 4,
"width": 384,
"height": 240,
"content": "# New Lead Capture\n\n1\ufe0f\u20e3 Form submitted by prospect\n2\ufe0f\u20e3 Budget filtered (rejects 0-100)\n3\ufe0f\u20e3 Lead stored in Google Sheet\n4\ufe0f\u20e3 Routed by budget amount\n5\ufe0f\u20e3 Personalized email sent\n6\ufe0f\u20e3 Admin notified\n"
},
"typeVersion": 1
},
{
"id": "e6b75189-ae45-4329-90e4-f685ffd09d40",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-240
],
"parameters": {
"color": 5,
"width": 384,
"height": 240,
"content": "# Daily Lead Reminder\n\n\u23f0 Runs at 8 PM every day\n\ud83d\udcca Pulls uncalled leads\n\ud83d\udce7 Sends reminder email\n\u2705 Update \"Called\" when done\n\ud83d\udd04 Auto-removes from next reminder\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "a662b417-fcba-4d9b-97c8-d14ee301fdc3",
"connections": {
"Code": {
"main": [
[
{
"node": "Gmail4",
"type": "main",
"index": 0
}
]
]
},
"Gmail": {
"main": [
[
{
"node": "Gmail2",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Gmail1": {
"main": [
[
{
"node": "Gmail3",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Gmail",
"type": "main",
"index": 0
}
],
[
{
"node": "Gmail1",
"type": "main",
"index": 0
}
]
]
},
"Filter1": {
"main": [
[
{
"node": "Google Sheets2",
"type": "main",
"index": 0
}
]
]
},
"Filter2": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets1": {
"main": [
[
{
"node": "Filter1",
"type": "main",
"index": 0
},
{
"node": "Filter2",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Google Sheets1",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
gmailOAuth2googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n automation captures new leads from a form submission and automatically:
Source: https://n8n.io/workflows/10705/ — 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.
行銷自動化:Leads Magnet Mail List - n8n form. Uses formTrigger, googleSheets, httpRequest, gmail. Event-driven trigger; 10 nodes.
Product Introduction: You can create a form on n8n through which you can collect leads from interested user's.
HR teams, internal comms managers, and operations leads using Keephub who want to turn form completions into a friendly competition and drive faster engagement across the organisation.
This n8n workflow is designed for business owners, sales teams, and customer support managers who want to automate their lead capture and immediate acknowledgment process. The workflow creates an end-
This n8n template demonstrates the easiest way to build a lead capture flow for your side project, startup or small business where simple works best!