Automatización de contacto frío: extracción de pistas locales mediante Dumpling AI y llamadas telefónicas a través de Vapi
Este es unautomatización que contiene 11 nodos.Utiliza principalmente nodos como Set, Filter, SplitOut, HttpRequest, GoogleSheets. Automatización de alcance frío: Extracción de leads locales usando Dumpling AI y llamadas a través de Vapi
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (11)
Categoría
{
"id": "guzv1hyyxqP3NW8n",
"meta": {
"instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
"templateCredsSetupCompleted": true
},
"name": "Cold Outreach Automation: Scrape Local Leads with Dumpling AI & Call via Vapi",
"tags": [],
"nodes": [
{
"id": "ec17b443-6dbd-46c1-8331-797ce6290801",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-860,
-900
],
"parameters": {
"width": 900,
"height": 320,
"content": "### 📍 Get Local Business Data from Google Maps with Dumpling AI\n\nThe workflow begins manually and pulls a list of Google Maps search queries (like \"best plumbers in Chicago\") from Google Sheets. These queries are sent to Dumpling AI's `search-google-map` endpoint, which scrapes businesses matching the terms. The response is split into individual business entries. A Set node extracts the business name and phone number for each result.\n\n- `Start Workflow Manually`: Begin process\n- `Get Search Keywords from Google Sheets`: Pulls search terms (e.g., \"top dentists in NY\")\n- `Scrape Google Map Businesses`: Uses Dumpling AI to collect business info\n- `Split Each Business Result`: Breaks response into single business entries\n- `Extract Business Name and Phone`: Prepares business name and phone number for calling\n"
},
"typeVersion": 1
},
{
"id": "5345e653-8442-4caa-bb7e-a597b3779db0",
"name": "Iniciar Flujo Manualmente",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-820,
-580
],
"parameters": {},
"typeVersion": 1
},
{
"id": "072baaf9-81d8-4989-9354-822f02b2f922",
"name": "Obtener Palabras Clave de Búsqueda desde Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-600,
-580
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QXZk6D8hW29f9umrmsYv_HeZYRKWOjsxOaFZ2BZtu3Y/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QXZk6D8hW29f9umrmsYv_HeZYRKWOjsxOaFZ2BZtu3Y/edit?usp=drivesdk",
"cachedResultName": "leads"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "GaJqJHuS5mQxap7q",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "004427b8-e8d7-4f28-b03e-4b459f2a7b2b",
"name": "Extraer Empresas de Google Map usando Dumpling AI",
"type": "n8n-nodes-base.httpRequest",
"position": [
-380,
-580
],
"parameters": {
"url": "https://app.dumplingai.com/api/v1/search-maps",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={\n \"query\":\"{{ $json.URLs }}\", \n \"language\": \"en\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "5CBvzXCLjwWzCJRE",
"name": "n8n_integration"
}
},
"typeVersion": 4.2
},
{
"id": "21eed6ed-ca94-48b1-a164-1a0841ec376b",
"name": "Dividir Cada Resultado de Empresa",
"type": "n8n-nodes-base.splitOut",
"position": [
-160,
-580
],
"parameters": {
"options": {},
"fieldToSplitOut": "places"
},
"typeVersion": 1
},
{
"id": "5efb54a1-0b80-46aa-861d-2ef53f069a22",
"name": "Extraer Nombre, Teléfono y Sitio Web de la Empresa",
"type": "n8n-nodes-base.set",
"position": [
60,
-580
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "79cc91c6-28bd-47a1-86db-b936e6958428",
"name": "website",
"type": "string",
"value": "={{ $json.website }}"
},
{
"id": "7a0455bb-b235-4e03-a93d-0e3b31b40df2",
"name": "phoneNumber",
"type": "string",
"value": "={{ $json.phoneNumber }}"
},
{
"id": "a493dd1f-b495-4c01-983a-4e417aca80fc",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "91ec444a-44be-471b-8f2d-e192f58b085d",
"name": "Filtrar Solo Números de Teléfono Válidos",
"type": "n8n-nodes-base.filter",
"position": [
280,
-580
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "dab1310e-6566-4e77-b1a6-362363b2e025",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.phoneNumber }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "77d150c3-0908-443e-afb9-c2e1a740e749",
"name": "Formatear Número de Teléfono para Llamar",
"type": "n8n-nodes-base.set",
"position": [
500,
-580
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "045d4c64-61f3-4b39-9b5c-35b7e95783fd",
"name": "formattedPhone",
"type": "string",
"value": "={{ '+1' + $json[\"phoneNumber\"].replace(/\\D/g, '') }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1dbe296d-c422-4ae6-ba7e-6bd7dbe0a5e9",
"name": "Iniciar Llamada de IA Vapi a la Empresa",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
720,
-580
],
"parameters": {
"url": "https://api.vapi.ai/call",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={\n \"customers\": [\n {\n \"number\": \"{{ $json.formattedPhone}}\",\n \"name\": \"\"\n }\n ],\n \"assistantId\": \"\",\n \"phoneNumberId\": \"\",\n \"assistantOverrides\": {\n \"variableValues\": {\n \"Name\": \"{{ $('Filter Valid Phone Numbers Only').item.json.title }}\",\n }\n }\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "6X2b4RLVRbz8I4Z8",
"name": "Vapi"
}
},
"typeVersion": 4.2
},
{
"id": "fc705d86-98b2-4219-9b19-0350657b845b",
"name": "Registrar Información de Empresa Llamada en Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
940,
-600
],
"parameters": {
"columns": {
"value": {
"website": "={{ $('Extract Business Name, Phone and website').item.json.website }}",
"company name": "={{ $('Extract Business Name, Phone and website').item.json.title }}",
"phone number ": "={{ $('Format Phone Number for Calling').item.json.formattedPhone }}"
},
"schema": [
{
"id": "company name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "phone number ",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "phone number ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "website",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1315810611,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QXZk6D8hW29f9umrmsYv_HeZYRKWOjsxOaFZ2BZtu3Y/edit#gid=1315810611",
"cachedResultName": "leads"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1QXZk6D8hW29f9umrmsYv_HeZYRKWOjsxOaFZ2BZtu3Y",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1QXZk6D8hW29f9umrmsYv_HeZYRKWOjsxOaFZ2BZtu3Y/edit?usp=drivesdk",
"cachedResultName": "leads"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "GaJqJHuS5mQxap7q",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "e30e0706-3732-4a2f-81f2-d50e63043632",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-900
],
"parameters": {
"color": 3,
"width": 900,
"height": 320,
"content": "### 📞 Auto-Call Businesses and Track Results\n\nBusinesses without valid phone numbers are filtered out. A Set node formats the numbers for international dialing (e.g., adds +1 for US). The Vapi AI assistant then initiates a phone call to each business, using the business name in the script. After the call, the name, number, and call status are logged to a Google Sheet for follow-up or reporting.\n\n- `Filter Valid Phone Numbers Only`: Ensures phone number exists\n- `Format Phone Number for Calling`: Adds correct dial prefix\n- `Initiate Vapi AI Call to Business`: Triggers outbound AI call via Vapi\n- `Log Called Business Info to Sheet`: Records successful outreach for tracking\n\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "da88eae8-0530-4674-8afa-196c8da7f47f",
"connections": {
"5345e653-8442-4caa-bb7e-a597b3779db0": {
"main": [
[
{
"node": "072baaf9-81d8-4989-9354-822f02b2f922",
"type": "main",
"index": 0
}
]
]
},
"21eed6ed-ca94-48b1-a164-1a0841ec376b": {
"main": [
[
{
"node": "5efb54a1-0b80-46aa-861d-2ef53f069a22",
"type": "main",
"index": 0
}
]
]
},
"91ec444a-44be-471b-8f2d-e192f58b085d": {
"main": [
[
{
"node": "77d150c3-0908-443e-afb9-c2e1a740e749",
"type": "main",
"index": 0
}
]
]
},
"77d150c3-0908-443e-afb9-c2e1a740e749": {
"main": [
[
{
"node": "1dbe296d-c422-4ae6-ba7e-6bd7dbe0a5e9",
"type": "main",
"index": 0
}
]
]
},
"1dbe296d-c422-4ae6-ba7e-6bd7dbe0a5e9": {
"main": [
[
{
"node": "fc705d86-98b2-4219-9b19-0350657b845b",
"type": "main",
"index": 0
}
]
]
},
"072baaf9-81d8-4989-9354-822f02b2f922": {
"main": [
[
{
"node": "004427b8-e8d7-4f28-b03e-4b459f2a7b2b",
"type": "main",
"index": 0
}
]
]
},
"5efb54a1-0b80-46aa-861d-2ef53f069a22": {
"main": [
[
{
"node": "91ec444a-44be-471b-8f2d-e192f58b085d",
"type": "main",
"index": 0
}
]
]
},
"004427b8-e8d7-4f28-b03e-4b459f2a7b2b": {
"main": [
[
{
"node": "21eed6ed-ca94-48b1-a164-1a0841ec376b",
"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
¿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
Yang
@yangCompartir este flujo de trabajo