This workflow corresponds to n8n.io template #8240 — we link there as the canonical source.
This workflow follows the Google Sheets → Slack 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": "{{WORKFLOW_ID}}",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "23 - Priority Lead Flow",
"tags": [
{
"id": "{{TAG_ID}}",
"name": "Production",
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-01T00:00:00.000Z"
}
],
"nodes": [
{
"id": "057ccab0-2bdb-4879-9610-2bfa4e021468",
"name": "\ud83d\udccb Typeform Submission Trigger",
"type": "n8n-nodes-base.typeformTrigger",
"position": [
-1800,
80
],
"parameters": {
"formId": "{{YOUR_TYPEFORM_ID}}"
},
"credentials": {
"typeformApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1b3b1d53-8152-4df7-8201-ae28aa3032c5",
"name": "\ud83d\udcb0 Check High-Budget Lead",
"type": "n8n-nodes-base.if",
"position": [
-1580,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "high-priority-budget",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json['What is your Budget'] }}",
"rightValue": 5000
}
]
}
},
"typeVersion": 2
},
{
"id": "48467950-8ff6-4964-87ce-e5a19e6f8ed5",
"name": "\ud83d\udc64 HubSpot \u2014 Create/Update Contact",
"type": "n8n-nodes-base.hubspot",
"position": [
-1360,
80
],
"parameters": {
"email": "={{ $json.Email }}",
"options": {},
"authentication": "appToken",
"additionalFields": {
"firstName": "={{ $json.Name }}",
"phoneNumber": "={{ $json['Phone Number'] }}",
"customPropertiesUi": {
"customPropertiesValues": [
{
"value": "={{ $json['What is your Budget'] }}",
"property": "Budget"
}
]
}
}
},
"credentials": {
"hubspotAppToken": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "cd15aeb2-9ba1-4338-9b0f-e72e52ba4898",
"name": "\ud83d\udcdd HubSpot \u2014 Add Priority Task",
"type": "n8n-nodes-base.hubspot",
"position": [
-1140,
80
],
"parameters": {
"type": "task",
"metadata": {
"body": "=Priority - High (Budget - {{ $json['What is your Budget'] }})"
},
"resource": "engagement",
"authentication": "appToken",
"additionalFields": {}
},
"credentials": {
"hubspotAppToken": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "bd2126da-2541-476c-a8a6-576668690116",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1860,
-220
],
"parameters": {
"color": 5,
"width": 440,
"height": 600,
"content": "## \ud83d\udccb Form Intake & Lead Qualification\n\n**\ud83d\udccb Typeform Submission Trigger \u2192 \ud83d\udcb0 Check High-Budget Lead**\n\n*This section captures new lead data from the Typeform submission. It immediately evaluates the budget field to determine whether the lead is high priority (budget > $5,000), allowing the workflow to route premium leads for faster follow-up.*"
},
"typeVersion": 1
},
{
"id": "099f0557-71d3-470a-9239-4a7e0f0297fe",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1400,
-220
],
"parameters": {
"width": 400,
"height": 600,
"content": "## \ud83d\udc64 CRM Integration & Priority Handling\n\n**\ud83d\udc64 HubSpot \u2014 Create/Update Contact \u2192 \ud83d\udcdd HubSpot \u2014 Add Priority Task**\n\n*For high-priority leads, the workflow automatically creates or updates the corresponding contact in HubSpot, adding their budget and other details. It then logs a priority follow-up task in HubSpot to ensure the sales team responds promptly.*"
},
"typeVersion": 1
},
{
"id": "bd3507b6-d280-45f0-86bf-d8faa5f6dfee",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-980,
-340
],
"parameters": {
"color": 4,
"width": 220,
"height": 720,
"content": "## \ud83d\udcd8/\ud83d\udcca Lead Source Routing & Storage\n\n**\ud83d\udcd8 Check if Facebook Lead or SurveyMonkey Lead \n\n*This section routes leads based on their source. Facebook leads are logged in Google Sheets for marketing analysis, while SurveyMonkey leads are also stored in google sheets for structured data management and campaign tracking.*"
},
"typeVersion": 1
},
{
"id": "b7001b24-8146-4582-b5f6-8868da8524c5",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-740,
-220
],
"parameters": {
"color": 3,
"width": 480,
"height": 600,
"content": "## \ud83d\udce7 Automated Lead Acknowledgment\n\n**\ud83d\udcc4 Log Lead to Google Sheet\n\ud83d\udce6 Sends Message to Slack**\n\n*After the lead's data is stored in the appropriate system, the workflow sends an automated acknowledgment message via Slack*"
},
"typeVersion": 1
},
{
"id": "770b4057-9feb-46f5-a9ef-87dec40d561f",
"name": "\ud83d\udcd8 Check if Lead is of (Facebook/SurveyMonkey)",
"type": "n8n-nodes-base.if",
"position": [
-920,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "facebook-source",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.lead_source || $json.source }}",
"rightValue": "Facebook"
},
{
"id": "638ead15-f5e9-4cc4-b02d-3bb2087710ec",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.lead_source || $json.source }}",
"rightValue": "SurveyMonkey"
}
]
}
},
"typeVersion": 2
},
{
"id": "47c5e42f-ede4-47d8-851c-0fa55157ae97",
"name": "\ud83d\udcc4 Log Lead to Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
-680,
80
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "{{YOUR_SHEET_NAME}}"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "{{YOUR_GOOGLE_SHEET_ID}}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4
},
{
"id": "968120e7-e094-41e1-9832-9ec6aec16e07",
"name": "\ud83d\ude0aSends Message to Slack",
"type": "n8n-nodes-base.slack",
"position": [
-460,
80
],
"parameters": {
"text": "=New High Priority Lead:\nName: {{ $json.name }}\nEmail: {{ $json.email }}\nNumber: {{ $json.number }}\nBudget: {{ $json.budget }}\nLead of: {{ $json.leadof }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "{{YOUR_SLACK_CHANNEL_ID}}",
"cachedResultName": "{{YOUR_SLACK_CHANNEL_NAME}}"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.3
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "{{WORKFLOW_VERSION_ID}}",
"connections": {
"\ud83d\udcb0 Check High-Budget Lead": {
"main": [
[
{
"node": "\ud83d\udc64 HubSpot \u2014 Create/Update Contact",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udcc4 Log Lead to Google Sheet": {
"main": [
[
{
"node": "\ud83d\ude0aSends Message to Slack",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udccb Typeform Submission Trigger": {
"main": [
[
{
"node": "\ud83d\udcb0 Check High-Budget Lead",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udcdd HubSpot \u2014 Add Priority Task": {
"main": [
[
{
"node": "\ud83d\udcd8 Check if Lead is of (Facebook/SurveyMonkey)",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udc64 HubSpot \u2014 Create/Update Contact": {
"main": [
[
{
"node": "\ud83d\udcdd HubSpot \u2014 Add Priority Task",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udcd8 Check if Lead is of (Facebook/SurveyMonkey)": {
"main": [
[
{
"node": "\ud83d\udcc4 Log Lead to Google Sheet",
"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.
googleSheetsOAuth2ApihubspotAppTokenslackApitypeformApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow captures new leads from Typeform, instantly checks if their budget is above $5,000, and prioritizes them for faster sales follow-up. High-budget leads are enriched in HubSpot as contacts with detailed properties, and a priority task is created for the sales team.…
Source: https://n8n.io/workflows/8240/ — 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.
📄 Smart Lead Capture, Scoring & Slack Alerts
This workflow starts whenever a new lead submits a Typeform. It captures the lead’s details, checks their budget, and routes them based on priority and source. High-budget leads are pushed into HubSpo
This workflow automates the entire lead qualification process from form submission to personalized follow-up. When a prospect fills out your JotForm, the workflow instantly captures their information,
This template is perfect for: Marketing Teams looking to automatically qualify inbound leads from campaigns Sales Teams wanting to prioritize high-value prospects instantly Agencies offering lead qual
It extracts key business information using AI, scores the lead based on your ideal customer profile, creates CRM records, notifies your team on Slack, and logs all activity—including failures—to Googl