Solicitud de presupuesto? Tally envía, Airtable registra, Slack avisa, Gmail agradece.
Este es unLead Generationflujo de automatización del dominio deautomatización que contiene 13 nodos.Utiliza principalmente nodos como Set, Wait, Gmail, Slack, Webhook. Usar Tally, Airtable, Slack y Gmail para automatizar el procesamiento de solicitudes de cotización
- •Cuenta de Google y credenciales de API de Gmail
- •Bot Token de Slack o URL de Webhook
- •Punto final de HTTP Webhook (n8n generará automáticamente)
- •Clave de API de Airtable
Categoría
{
"id": "wOhPQ3JzlrQMFgRa",
"meta": {
"instanceId": "e95c8554b03e2c16a5c8c44cc7d45f6192b966fba75d5438d1201989ceff13e2",
"templateCredsSetupCompleted": true
},
"name": "A quote request? Tally sends it, Airtable logs it, Slack alerts, Gmail thanks.",
"tags": [],
"nodes": [
{
"id": "327dd9ab-9ca2-46d8-a513-676da8f69458",
"name": "Esperar",
"type": "n8n-nodes-base.wait",
"position": [
1720,
1060
],
"webhookId": "f9c8eafb-ecaa-4b32-a6b5-fb10dbee1f19",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "1023020f-48bd-4266-a92a-ad3fb2caccfe",
"name": "Disparador Webhook : Tally",
"type": "n8n-nodes-base.webhook",
"position": [
620,
1060
],
"webhookId": "2eefd271-2928-42a7-98ef-7fc65524a950",
"parameters": {
"path": "Request a Quote",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "8e13c8f4-d052-4b60-ac8e-b86b37072304",
"name": "GMAIL : Enviar mensaje",
"type": "n8n-nodes-base.gmail",
"position": [
1980,
1060
],
"webhookId": "38134cd8-0b71-4d19-bab4-3c473cb35f47",
"parameters": {
"sendTo": "={{ $('Edit Fields').item.json['Email Address'] }}",
"message": "=Hi {{ $('Edit Fields').item.json.Name }} ,\n\nThanks a lot for your quote request — we’ve received your information!\n\nOur team will get back to you within the next 24 hours to discuss your project.\n\nTalk soon, \n— The WebExperts Team",
"options": {},
"subject": "Thanks for your quote request 🙌"
},
"credentials": {
"gmailOAuth2": {
"id": "FKD43HaVeVoUXOi0",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "b6845fe9-3c43-4ce9-9323-d563d6abda72",
"name": "Editar campos",
"type": "n8n-nodes-base.set",
"position": [
900,
1060
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "95bdaad3-0b5e-44a4-bbd3-060d425d7b68",
"name": "Name",
"type": "string",
"value": "={{ $json.body.data.fields[0].label }}"
},
{
"id": "479970d8-e639-463a-bf7a-5f8d55cd65b2",
"name": "Email Address",
"type": "string",
"value": "={{ $json.body.data.fields[1].value }}"
},
{
"id": "ce6234c2-ceff-4191-8942-55a88dc47c77",
"name": "Type of Service Needed",
"type": "string",
"value": "={{ $json.body.data.fields[2].value }}"
},
{
"id": "d2cb542d-1145-466b-93b4-4e377ecc1334",
"name": " Estimated Budget",
"type": "string",
"value": "={{ $json.body.data.fields[3].value }}"
},
{
"id": "e375ee00-745c-472a-862c-dfae10867d3f",
"name": "Preferred Timeline",
"type": "string",
"value": "={{ $json.body.data.fields[4].value }}"
},
{
"id": "0165025d-aee9-4853-ae94-314644aab9e1",
"name": "Additional Details or Questions",
"type": "string",
"value": "={{ $json.body.data.fields[5].value }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b985ff1a-137e-41f1-ae28-1778d834c44c",
"name": "Crear registro",
"type": "n8n-nodes-base.airtable",
"position": [
1180,
1060
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appZ7CtNukjbwxDap",
"cachedResultUrl": "https://airtable.com/appZ7CtNukjbwxDap",
"cachedResultName": "Request A Quote - Airtable Base"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblcS0ZQeEo4dC1Iv",
"cachedResultUrl": "https://airtable.com/appZ7CtNukjbwxDap/tblcS0ZQeEo4dC1Iv",
"cachedResultName": "Request A Quote - Airtable Base"
},
"columns": {
"value": {
"Name": "={{ $json.Name }}",
"Email": "={{ $json['Email Address'] }}",
"Type of Service": "={{ $json['Type of Service Needed'] }}",
"Additional Details": "={{ $json['Additional Details or Questions'] }}",
"Preferred Timeline": "={{ $json['Preferred Timeline'] }}",
"Estimated Budget (€)": "={{ $json[' Estimated Budget'] }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type of Service",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Type of Service",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Estimated Budget (€)",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Estimated Budget (€)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Preferred Timeline",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Preferred Timeline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Additional Details",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Additional Details",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Submission Date",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Submission Date",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "9QdKkMHsy4ojigs3",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "ebf0387d-2614-4911-a09b-7373b1675fae",
"name": "Enviar mensaje",
"type": "n8n-nodes-base.slack",
"position": [
1460,
1060
],
"webhookId": "fd880910-128a-47f8-98a6-c1b486d98381",
"parameters": {
"text": "=:new: *New quote request received!*\n\n*👤 Name: {{ $json.fields.Name }}\n*📧 Email: {{ $json.fields.Email }}\n*💼 Service: {{ $json.fields['Type of Service'] }}\n*💰 Budget: {{ $json.fields['Estimated Budget (€)'] }}\n*⏱️ Timeline: {{ $json.fields['Preferred Timeline'] }}\n*📝 Notes: {{ $json.fields['Additional Details'] }}\n",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C0945G1RY0Y",
"cachedResultName": "nouveau-canal"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "Uw4BOaewm5FIDdQM",
"name": "Slack account"
}
},
"typeVersion": 2.3
},
{
"id": "be127bac-3d05-4600-8001-d8f0f5503a21",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
140,
1000
],
"parameters": {
"width": 380,
"height": 220,
"content": "**=== AUTOMATION OVERVIEW ===**\n\n**Workflow:** Tally → Airtable → Slack → Gmail \n**Purpose:** Automatically process client quote requests\n\n*What if your quote requests managed themselves?*\n\nInstead of manually checking emails, notifying your team, and logging leads — this automation handles it all.\n"
},
"typeVersion": 1
},
{
"id": "05584140-fe6f-40d7-a76a-b721205b6bf5",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
700
],
"parameters": {
"color": 2,
"height": 520,
"content": "**== STEP 1 – Webhook (Tally) ==**\n\n**Trigger:** When a user submits the quote form. \n**Type:** POST Webhook \n**Path:** `/Request a Quote` \n**Authentication:** None \n**Respond:** Immediately\n\nTally sends the form fields as an array in `body.data.fields`. \nEach item contains a `label` and a `value`.\n\nWe’ll extract and map these manually in the next step.\n"
},
"typeVersion": 1
},
{
"id": "ac694b26-7130-4e63-9a2d-a472f222861a",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
840,
440
],
"parameters": {
"color": 3,
"height": 780,
"content": "**== STEP 2 – Edit Fields ==**\n\n**Goal:** Convert raw array into usable fields.\n\nUse a Set node or Function with manual mapping:\n\n- `Name` = `{{ $json.body.data.fields[0].label }}`\n- `Email Address` = `{{ $json.body.data.fields[1].value }}`\n- `Type of Service Needed` = `{{ $json.body.data.fields[2].value }}`\n- `Estimated Budget` = `{{ $json.body.data.fields[3].value }}`\n- `Preferred Timeline` = `{{ $json.body.data.fields[4].value }}`\n- `Additional Details` = `{{ $json.body.data.fields[5].value }}`\n\nThis prepares clean variables for Airtable, Slack and Gmail.\n"
},
"typeVersion": 1
},
{
"id": "ea91126b-5f69-4361-a275-7e4cb5d90242",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
420
],
"parameters": {
"color": 4,
"width": 220,
"height": 800,
"content": "**== STEP 3 – Create Airtable Record ==**\n\n**Base:** Request a Quote - Airtable Base \n**Operation:** Create \n**Table:** Same name \n**Mode:** Map Each Column Manually\n\n**Mapped fields:**\n- Name → `{{ $json.Name }}`\n- Email → `{{ $json[\"Email Address\"] }}`\n- Service → `{{ $json[\"Type of Service Needed\"] }}`\n- Budget → `{{ $json[\"Estimated Budget\"] }}`\n- Timeline → `{{ $json[\"Preferred Timeline\"] }}`\n- Notes → `{{ $json[\"Additional Details\"] }}`\n\nEach request is now stored as a structured CRM lead.\n"
},
"typeVersion": 1
},
{
"id": "46ca2e9a-c1b1-4991-a015-5e2d8519d758",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1400,
600
],
"parameters": {
"color": 5,
"width": 200,
"height": 620,
"content": "**== STEP 4 – Send Slack Notification ==**\n\n**Channel:** #sales (or any other) \n**Message Type:** Simple text\n\n**Slack message:**\n:new: *New quote request received!*\n\n**👤 Name:** {{ Name }} \n**📧 Email:** {{ Email }} \n**💼 Service:** {{ Service }} \n**💰 Budget:** {{ Budget }} \n**⏱️ Timeline:** {{ Timeline }} \n**📝 Notes:** {{ Notes }}\n\nOptionally include an Airtable link at the bottom.\n"
},
"typeVersion": 1
},
{
"id": "7233ac5b-c4fb-4829-afbb-7473ec8bab47",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1660,
700
],
"parameters": {
"color": 6,
"width": 200,
"height": 520,
"content": "**== STEP 5 – Wait Node ==**\n\n**Purpose:** Delay the confirmation email by 5 minutes. \nThis allows a human to respond first if needed.\n\n**Settings:**\n- Resume After Time Interval\n- Wait Amount: 5\n- Wait Unit: Minutes\n"
},
"typeVersion": 1
},
{
"id": "e1528bd8-124a-49d5-a7f9-0d517598df70",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
540
],
"parameters": {
"color": 7,
"height": 680,
"content": "**== STEP 6 – Send Email via Gmail ==**\n\n**To:** `{{ $('Edit Fields').item.json[\"Email Address\"] }}` \n**Subject:** \"Thanks for your quote request 🙌\" \n**Email Type:** HTML\n\n**Email Body:**\n\nHi `{{ $('Edit Fields').item.json.Name }}`,\n\nThanks a lot for your quote request — we’ve received your information!\n\nOur team will get back to you within the next 24 hours to discuss your project.\n\nTalk soon, \n— The WebExperts Team\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "272c1246-fa67-493c-8f5c-5f26bdfce052",
"connections": {
"327dd9ab-9ca2-46d8-a513-676da8f69458": {
"main": [
[
{
"node": "8e13c8f4-d052-4b60-ac8e-b86b37072304",
"type": "main",
"index": 0
}
]
]
},
"b6845fe9-3c43-4ce9-9323-d563d6abda72": {
"main": [
[
{
"node": "b985ff1a-137e-41f1-ae28-1778d834c44c",
"type": "main",
"index": 0
}
]
]
},
"ebf0387d-2614-4911-a09b-7373b1675fae": {
"main": [
[
{
"node": "327dd9ab-9ca2-46d8-a513-676da8f69458",
"type": "main",
"index": 0
}
]
]
},
"b985ff1a-137e-41f1-ae28-1778d834c44c": {
"main": [
[
{
"node": "ebf0387d-2614-4911-a09b-7373b1675fae",
"type": "main",
"index": 0
}
]
]
},
"Webhook : Tally": {
"main": [
[
{
"node": "b6845fe9-3c43-4ce9-9323-d563d6abda72",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Generación de leads
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Baptiste Fort
@baptistefort👋 I'm Baptiste Fort. What if automating was simply our way of taking back control in a world that's moving too fast? I build workflows that are simple, useful — sometimes invisible lol. Automation isn’t cheating. It’s just being one step ahead.
Compartir este flujo de trabajo