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 →
{
"name": "ch1",
"nodes": [
{
"parameters": {
"formTitle": "test form",
"formDescription": "this is a form for testing",
"formFields": {
"values": [
{
"fieldLabel": "first name"
},
{
"fieldLabel": "last name"
},
{
"fieldLabel": "email"
},
{
"fieldLabel": "budget",
"fieldType": "dropdown",
"fieldOptions": {
"values": [
{
"option": "0-100"
},
{
"option": "200-1000"
},
{
"option": "1000+"
}
]
}
},
{
"fieldLabel": "message"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.6,
"position": [
-400,
0
],
"id": "e8006d01-bd31-4e3d-8813-e74a2ce2d7c4",
"name": "On form submission"
},
{
"parameters": {
"operation": "appendOrUpdate",
"documentId": {
"__rl": true,
"value": "YOUR_GOOGLE_SHEET_ID",
"mode": "list",
"cachedResultName": "learning n8n",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/SHEET_NAME"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"first name": "={{ $json['first name'] }}",
"last name": "={{ $json['last name'] }}",
"email": "={{ $json.email }}",
"budget": "={{ $json.budget }}",
"message": "={{ $json.message }}",
"date": "={{ $json.submittedAt }}",
"rejected": "={{ $if($json.budget===\"1000+\",\"FALSE\",\"TRUE\") }}"
},
"matchingColumns": [
"email"
],
"schema": [
{
"id": "first name",
"displayName": "first name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "last name",
"displayName": "last name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "email",
"displayName": "email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "budget",
"displayName": "budget",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "message",
"displayName": "message",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "date",
"displayName": "date",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "rejected",
"displayName": "rejected",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
-192,
0
],
"id": "4e7693e2-c905-4e4c-9c85-b65e54cb450d",
"name": "Append or update row in sheet",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "5bfa99a2-50ef-4f0e-9d24-9ab759c0d48c",
"leftValue": "={{ $('On form submission').item.json.budget }}",
"rightValue": "0-100",
"operator": {
"type": "string",
"operation": "notEquals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.filter",
"typeVersion": 2.3,
"position": [
16,
0
],
"id": "cc59f61c-acc2-49a9-8aac-1efd0d1f2d46",
"name": "Filter"
},
{
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"leftValue": "={{ $('On form submission').item.json.budget }}",
"rightValue": "1000+",
"operator": {
"type": "string",
"operation": "equals"
},
"id": "7bdc59b8-1fd5-4171-99bc-9abe1a40e5b9"
}
],
"combinator": "and"
}
},
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "887657e0-19b0-4e01-9c58-7339ef81e039",
"leftValue": "={{ $('On form submission').item.json.budget }}",
"rightValue": "200-1000",
"operator": {
"type": "string",
"operation": "equals"
}
}
],
"combinator": "and"
}
}
]
},
"options": {}
},
"type": "n8n-nodes-base.switch",
"typeVersion": 3.4,
"position": [
224,
0
],
"id": "e73144fb-4ac0-4277-8bc8-44333a001ff3",
"name": "Switch"
},
{
"parameters": {
"sendTo": "={{ $('On form submission').item.json.email }}",
"subject": "Do not reply",
"emailType": "text",
"message": "=Hi {{ $('On form submission').item.json['first name'] }},\n\nI will get back to you by this week. Thanks for your interest in our company.",
"options": {
"appendAttribution": false
}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.2,
"position": [
432,
-96
],
"id": "9017eec9-be35-4123-829d-f5877f9513e3",
"name": "Send a message",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"sendTo": "={{ $('On form submission').item.json.email }}",
"subject": "Do not reply",
"emailType": "text",
"message": "=Hi {{ $('On form submission').item.json['first name'] }},\n\nThanks for your interest. Please book a time in my calendar and we can have a call. \nlink: https://calendly.com/your-name",
"options": {}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.2,
"position": [
432,
80
],
"id": "fd79672b-65fd-408c-8d30-18d8ea29bfa8",
"name": "Send a message1",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
704,
-16
],
"id": "0b94e97e-22f1-4c0a-83d3-1d4c51e470d2",
"name": "Merge",
"disabled": true
},
{
"parameters": {
"sendTo": "=your-email@example.com",
"subject": "Do not reply",
"emailType": "text",
"message": "=you got a new lead!\nname: {{ $('Append or update row in sheet').item.json['first name'] }}\neamil: {{ $('Append or update row in sheet').item.json.email }}\nbudget: {{ $('Append or update row in sheet').item.json.budget }}",
"options": {
"appendAttribution": false
}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.2,
"position": [
1008,
-16
],
"id": "407758a4-4e26-4124-b114-e6a0e7f9bfce",
"name": "Send a message2",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
}
],
"connections": {
"On form submission": {
"main": [
[
{
"node": "Append or update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Append or update row in sheet": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
],
[
{
"node": "Send a message1",
"type": "main",
"index": 0
}
]
]
},
"Send a message": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Send a message1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Send a message2",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": false
},
"versionId": "2135fd20-87ba-4fda-9af3-f1f1dfd82585",
"meta": {
"templateCredsSetupCompleted": true
},
"nodeGroups": [],
"id": "RUYD9Dx4J6kfazGI",
"tags": []
}
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
ch1. Uses formTrigger, googleSheets, gmail. Event-driven trigger; 8 nodes.
Source: https://github.com/silyones/Budget-Based-Lead-Routing-Automation-n8n-/blob/master/workflow.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.
This n8n workflow monitors Reddit for posts relevant to a specific business or industry, identifies potential leads, and delivers them directly to your inbox.
Run professional email campaigns with A/B testing, Google Sheets tracking, and Slack analytics. FEATURES:
This workflow allows you to send multi-step email campaigns using n8n, Gmail and Google Sheets.
Google Maps Lead Generation with Email Discovery. Uses @hasdata/n8n-nodes-hasdata, googleSheets, formTrigger. Event-driven trigger; 25 nodes.
This workflow automates sales contact follow-ups and engagement tracking by integrating HighLevel CRM, Gmail, Slack, and Google Sheets. It fetches all contacts from HighLevel, filters inactive contact