N8N Workflow Enriquecer grupo de compras
Este es unLead Generation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 22 nodos.Utiliza principalmente nodos como If, Code, Wait, Gmail, Merge. Descubrir y enriquecer automáticamente grupos de compra de HubSpot usando Surfe y Google Sheets
- •Cuenta de Google y credenciales de API de Gmail
- •Clave de API de HubSpot
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (22)
Categoría
{
"id": "F733EtVzETOmrGEZ",
"meta": {
"instanceId": "f489a0883a1f92ce260f08ca0188bdcc069cd8b210fc3d72d99be4ac185ace1a",
"templateCredsSetupCompleted": true
},
"name": "N8N FLOW: Enrich Buying Groups",
"tags": [],
"nodes": [
{
"id": "6b2e276e-50ba-49cf-88a5-2c2a2009d7fd",
"name": "Buscar Personas en Empresas",
"type": "n8n-nodes-base.httpRequest",
"position": [
420,
-140
],
"parameters": {
"url": "https://api.surfe.com/v2/people/search",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={{ $json }}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "K2dwHCUGcjj7cU9W",
"name": "Bearer Auth account SURFE"
}
},
"typeVersion": 4.2
},
{
"id": "67317714-fc53-46cb-ae21-d97758e42403",
"name": "Preparar carga útil JSON para solicitud de enriquecimiento",
"type": "n8n-nodes-base.code",
"position": [
600,
-140
],
"parameters": {
"jsCode": "const people = $json.people || [];\n\nreturn [\n {\n json: {\n \"include\": {\n \"email\": true,\n \"linkedInUrl\": false,\n \"mobile\": true,\n \"jobHistory\": true\n },\n \"notificationOptions\": {\n \"webhookUrl\": \"\"\n },\n people: people.map((person) => ({\n firstName: person.firstName || \"\",\n lastName: person.lastName || \"\",\n companyName: person.companyName || \"\",\n companyDomain: person.companyDomain || \"\",\n linkedinUrl: person.linkedInUrl || \"\",\n externalID: `${person.firstName}_${person.lastName}_${person.companyDomain}`.toLowerCase().replace(/[^a-z0-9_]/g, '_')\n }))\n }\n }\n];"
},
"typeVersion": 2
},
{
"id": "cfa2243c-5293-4fb4-ba27-a3b0cc3854e5",
"name": "Surfe verificar estado de enriquecimiento",
"type": "n8n-nodes-base.httpRequest",
"position": [
1000,
-140
],
"parameters": {
"url": "=https://api.surfe.com/v2/people/enrich/{{ $json.enrichmentID }}",
"options": {
"redirect": {
"redirect": {}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "K2dwHCUGcjj7cU9W",
"name": "Bearer Auth account SURFE"
}
},
"typeVersion": 4.2
},
{
"id": "c89537af-e8cf-4885-bb2c-624f66ce1c90",
"name": "¿Está completo el enriquecimiento?",
"type": "n8n-nodes-base.if",
"position": [
1220,
-200
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "65a670df-84e8-4c87-956c-96758b8d8d26",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7f42e951-3467-4cc9-9b67-22318486d9ff",
"name": "Esperar 3 segundos",
"type": "n8n-nodes-base.wait",
"position": [
1440,
-40
],
"webhookId": "4e4177c8-a033-4e2b-b2f5-ff6ff514fc9b",
"parameters": {
"amount": 3
},
"typeVersion": 1.1
},
{
"id": "0b3e3755-a7cb-4386-b7f9-258b56da0e70",
"name": "Extraer lista de personas de respuesta API de Surfe",
"type": "n8n-nodes-base.code",
"position": [
1440,
-260
],
"parameters": {
"jsCode": "const people = $json.people || [];\n\nreturn people.map(person => {\n return {\n json: {\n id: person.id || '',\n firstName: person.firstName || '',\n lastName: person.lastName || '',\n email: person.emails?.[0]?.email || '',\n phone: person.mobilePhones?.[0]?.mobilePhone || '',\n jobTitle: person.jobHistory[0].jobTitle || '',\n companyName: person.jobHistory[0].companyName || '',\n companyWebsite: person.companyDomain || '',\n linkedinUrl: person.linkedInUrl || '',\n country: person.country || '',\n status: person.status || ''\n }\n };\n});"
},
"typeVersion": 2
},
{
"id": "95bd387b-b8e1-40e8-8afc-05c3bffe1fe9",
"name": "Filtrar: teléfono Y correo electrónico",
"type": "n8n-nodes-base.filter",
"position": [
1660,
-260
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "4f8f9bec-6eee-4e62-8d5f-e8f5b85620d6",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.phone }}",
"rightValue": ""
},
{
"id": "007f5a66-4e2a-42bc-bbed-0fb2b2f39ae7",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.email }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "84ac7743-f3ad-446c-850e-38aa37f26201",
"name": "HubSpot: Crear o Actualizar",
"type": "n8n-nodes-base.hubspot",
"position": [
1880,
-260
],
"parameters": {
"email": "={{ $json.email }}",
"options": {
"resolveData": false
},
"authentication": "appToken",
"additionalFields": {
"country": "={{ $json.country }}",
"jobTitle": "={{ $json.jobTitle }}",
"lastName": "={{ $json.lastName }}",
"firstName": "={{ $json.firstName }}",
"websiteUrl": "={{ $json.linkedinUrl }}",
"companyName": "={{ $json.companyName }}",
"phoneNumber": "={{ $json.phone }}",
"mobilePhoneNumber": "={{ $json.phone }}"
}
},
"credentials": {
"hubspotAppToken": {
"id": "ED8vy6s9eLCEf1wK",
"name": "HubSpot App Token account"
}
},
"typeVersion": 2.1
},
{
"id": "10191a29-ead8-475c-a474-cc41e4bc5654",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"notes": "Notify end of all batches",
"position": [
2440,
-380
],
"webhookId": "8475edad-4074-46f0-b62e-b4ec94fc85b4",
"parameters": {
"sendTo": "youdestinationremail@gmail.com",
"message": "={{ $json.message }}",
"options": {},
"subject": "={{ $json.subject }}"
},
"credentials": {
"gmailOAuth2": {
"id": "vVbFUp4uEh0hPH7S",
"name": "Gmail account"
}
},
"executeOnce": true,
"notesInFlow": true,
"typeVersion": 2.1
},
{
"id": "da732754-774e-4f67-9c1a-ad11de4d7642",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1020,
-1420
],
"parameters": {},
"typeVersion": 1
},
{
"id": "89e4325b-ac54-4e16-b13a-8cacc4a1b986",
"name": "Preparar carga útil JSON para Búsqueda de Personas",
"type": "n8n-nodes-base.code",
"position": [
220,
-140
],
"parameters": {
"jsCode": "// Récupère tous les items entrants\nconst allItems = $items();\n\n// Sépare les items du sheet et celui avec companyDomains\nconst sheetItems = allItems.filter(i =>\n i.json.departments || i.json.jobTitles || i.json.seniorities || i.json.countries\n);\nconst domainItems = allItems.filter(i => i.json.companyDomains);\n\n// Helper : extrait, splitte, déduplique et nettoie\nfunction extractList(items, fieldName) {\n const raw = items.flatMap(item => {\n const v = item.json[fieldName];\n if (!v) return [];\n if (typeof v === 'string' && v.includes(',')) {\n return v.split(',').map(s => s.trim()).filter(Boolean);\n }\n return [v];\n });\n // déduplique puis enlève les valeurs falsy\n return [...new Set(raw)].filter(Boolean);\n}\n\nconst departments = extractList(sheetItems, 'departments');\nconst jobTitles = extractList(sheetItems, 'jobTitles');\nconst seniorities = extractList(sheetItems, 'seniorities');\nconst countries = extractList(sheetItems, 'countries');\n\n// Récupère et déduplique les companyDomains\nconst companyDomains = [...new Set(\n domainItems.flatMap(i => {\n const cd = i.json.companyDomains;\n if (!cd) return [];\n if (Array.isArray(cd)) return cd;\n if (typeof cd === 'string') return [cd];\n return [];\n })\n)].filter(Boolean);\n\n// Payload final\nreturn {\n companies: {\n domains: companyDomains\n },\n people: {\n departments,\n jobTitles,\n seniorities,\n countries\n },\n limit: 200\n};\n"
},
"typeVersion": 2
},
{
"id": "8e0d64d3-f7fa-4798-bb2d-fc795aec89f3",
"name": "Activador HubSpot",
"type": "n8n-nodes-base.hubspotTrigger",
"position": [
-800,
-260
],
"webhookId": "6b49bfad-34fc-4790-b88f-8e6779704676",
"parameters": {
"eventsUi": {
"eventValues": [
{
"name": "deal.creation"
}
]
},
"additionalFields": {}
},
"credentials": {
"hubspotDeveloperApi": {
"id": "rdfe6pDYMZmB27UJ",
"name": "HubSpot Developer account"
}
},
"typeVersion": 1
},
{
"id": "e2fcd474-0ba0-4263-bc50-01218f381087",
"name": "Obtener empresas asociadas a acuerdos desde HUBSPOT",
"type": "n8n-nodes-base.httpRequest",
"position": [
-580,
-160
],
"parameters": {
"url": "=https://api.hubapi.com/crm/v3/objects/deals/{{ $json.dealId }}/associations/companies",
"options": {},
"sendBody": true,
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{}
]
},
"headerParameters": {
"parameters": [
{}
]
},
"nodeCredentialType": "hubspotOAuth2Api"
},
"credentials": {
"hubspotOAuth2Api": {
"id": "HGorw8YjfR5aMHl8",
"name": "HubSpot account"
}
},
"typeVersion": 4.2
},
{
"id": "afc19dae-6364-48a0-8d3a-839b6010b275",
"name": "Extraer dominios de empresas",
"type": "n8n-nodes-base.code",
"position": [
-180,
-60
],
"parameters": {
"jsCode": "const company_domains = $input.all().map(item => {\n const domain = item.json.properties.domain.value || \"\";\n return domain;\n}).filter(Boolean); // enlève les null ou undefined\n\nreturn {json: { companyDomains: company_domains }}"
},
"typeVersion": 2
},
{
"id": "eceb53ea-4260-43fb-b868-91c2e612b116",
"name": "Combinar",
"type": "n8n-nodes-base.merge",
"position": [
40,
-160
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "8c8c2ce7-9e61-400a-a160-7f68fb25b23c",
"name": "Combinar1",
"type": "n8n-nodes-base.merge",
"position": [
2080,
-380
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "b71396c0-1063-409b-a9a5-060cad8e614c",
"name": "Enriquecimientos masivos Surfe API",
"type": "n8n-nodes-base.httpRequest",
"position": [
760,
-140
],
"parameters": {
"url": "https://api.surfe.com/v2/people/enrich",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={{ $json }}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "K2dwHCUGcjj7cU9W",
"name": "Bearer Auth account SURFE"
}
},
"typeVersion": 4.2
},
{
"id": "8a53937f-de3e-4a45-bd9f-3f9e9aac0ea6",
"name": "HubSpot obtener acuerdo",
"type": "n8n-nodes-base.hubspot",
"position": [
-580,
-500
],
"parameters": {
"dealId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.dealId }}"
},
"filters": {},
"resource": "deal",
"operation": "get",
"authentication": "appToken"
},
"credentials": {
"hubspotAppToken": {
"id": "ED8vy6s9eLCEf1wK",
"name": "HubSpot App Token account"
}
},
"typeVersion": 2.1
},
{
"id": "7f6ea675-401d-4468-adbc-b56babb6395d",
"name": "HubSpot Obtener Empresa",
"type": "n8n-nodes-base.hubspot",
"position": [
-400,
-160
],
"parameters": {
"resource": "company",
"companyId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.results[0].id }}"
},
"operation": "get",
"authentication": "appToken",
"additionalFields": {}
},
"credentials": {
"hubspotAppToken": {
"id": "ED8vy6s9eLCEf1wK",
"name": "HubSpot App Token account"
}
},
"typeVersion": 2.1
},
{
"id": "03d94462-b78d-4103-8079-b209753fde84",
"name": "Hojas Google LEER CRITERIOS",
"type": "n8n-nodes-base.googleSheets",
"position": [
-180,
-300
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KHmosQpcC9MU7Nt2kUn9G_k0N04-VftOoiXrryV_-kU/edit#gid=0",
"cachedResultName": "Your Buying Group Criterias"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1KHmosQpcC9MU7Nt2kUn9G_k0N04-VftOoiXrryV_-kU"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "Uuk3Gi9SCdzAMJ6R",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "954456ba-5a82-4c72-a492-fd50a3e5c420",
"name": "Extraer información del acuerdo",
"type": "n8n-nodes-base.code",
"position": [
1880,
-480
],
"parameters": {
"jsCode": "const deal = items[0].json;\nconst portalId = deal.portalId;\nconst dealId = deal.dealId ?? deal.deal?.id ?? deal.deal?.dealId ?? null;\nconst dealName = deal.properties?.dealname?.value ?? '';\n\nreturn [\n {\n json: {\n portalId,\n dealId,\n dealName,\n },\n },\n];"
},
"typeVersion": 2
},
{
"id": "a5aadafa-086f-4f84-af92-557347eb35a6",
"name": "Preparar contenido de correo electrónico",
"type": "n8n-nodes-base.code",
"position": [
2260,
-380
],
"parameters": {
"jsCode": "// --- Assume first item is the trigger, rest are contact items ---\nconst trigger = items[0]?.json || {};\nconst contactItems = items.slice(1);\n\n// --- Extract deal and portal info from trigger ---\nconst portalId = trigger.portalId ?? trigger[\"portal-id\"] ?? (() => {\n // fallback: try to grab from a contact if trigger lacks it\n const fallback = contactItems.find(i => i.json?.properties?.hs_object_source_id?.value);\n return fallback?.json?.properties?.hs_object_source_id?.value || '';\n})();\nconst dealName = trigger.dealName\nconst dealId = trigger.dealId ?? trigger.deal?.id ?? trigger.deal?.dealId ?? null;\n\nfunction buildDealLink(portalId, dealId) {\n return `https://app.hubspot.com/contacts/${portalId}/record/0-3/${dealId}`;\n}\nconst dealLink = portalId && dealId ? buildDealLink(portalId, dealId) : '';\n\n// --- Buying group criteria and company domain (fallback) ---\nconst buyingGroupCriteria = trigger.buyingGroupCriteria || 'your buying group criteria';\n\nlet companyDomain = trigger.companyDomain || '';\nif (!companyDomain) {\n // infer from first available contact email\n const someContact = contactItems.find(i => i.json.searchPerson?.email || i.json.properties?.email?.value);\n const emailStr = (someContact?.json.searchPerson?.email || someContact?.json.properties?.email?.value || '').trim();\n if (emailStr.includes('@')) {\n companyDomain = emailStr.split('@')[1];\n }\n}\nif (!companyDomain) companyDomain = '(unknown domain)';\n\n// --- Normalize contacts (no job title) ---\nconst contacts = contactItems.map(item => {\n const props = item.json.properties || {};\n const search = item.json.searchPerson || {};\n\n const firstName = search.firstName || props.firstname?.value || '';\n const lastName = search.lastName || props.lastname?.value || '';\n const email = search.email || props.email?.value || '';\n const phone = props.phone?.value || '';\n const companyName = props.company?.value || '';\n const jobTitle = props.jobtitle?.value || '';\n\n \n const vid = item.json.vid || item.json[\"hs_object_id\"] || '';\n\n return { vid, firstName, lastName, email, phone, companyName, jobTitle };\n});\n\n// --- Build HTML table rows ---\nconst rowsHtml = contacts.map(c => {\n const fullName = `${c.firstName} ${c.lastName}`.trim() || '(no name)';\n const emailCell = c.email ? `<a href=\"mailto:${c.email}\">${c.email}</a>` : '—';\n const phoneCell = c.phone ? `<a href=\"tel:${c.phone}\">${c.phone}</a>` : '—';\n const jobTitleCell = c.jobTitle || '—';\n const companyCell = c.companyName|| '—';\n const contactHubspotUrl = portalId\n ? `https://app.hubspot.com/contacts/${portalId}/record/0-1/${c.vid}`\n : '#';\n const hubspotCell = `<a href=\"${contactHubspotUrl}\" target=\"_blank\">View in HubSpot</a>`;\n\n return `\n <tr>\n <td style=\"padding:6px;border:1px solid #ccc;\">${fullName}</td>\n <td style=\"padding:6px;border:1px solid #ccc;\">${jobTitleCell}</td>\n <td style=\"padding:6px;border:1px solid #ccc;\">${companyCell}</td>\n <td style=\"padding:6px;border:1px solid #ccc;\">${emailCell}</td>\n <td style=\"padding:6px;border:1px solid #ccc;\">${phoneCell}</td>\n <td style=\"padding:6px;border:1px solid #ccc;\">${hubspotCell}</td>\n </tr>\n `;\n}).join('');\n\n// --- Compose HTML email with hidden preheader ---\nconst htmlMessage = `\n <!DOCTYPE html>\n <html>\n <body style=\"font-family: system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif; line-height:1.4; color:#1f2937; padding:0; margin:0;\">\n <div style=\"max-width:800px; margin:0 auto; padding:20px;\">\n <!-- Hidden preheader for inbox preview -->\n <div style=\"display:none;font-size:1px;line-height:1px;max-height:0;max-width:0;opacity:0;overflow:hidden;\">\n Contacts enriched based on your buying group criteria and domain—see direct links.\n </div>\n\n <p>Hi Team,</p>\n\n <p>\n Following the creation of the <a href=\"${dealLink}\" target=\"_blank\">HubSpot deal</a> <strong>${dealName}</strong>., here are the contacts we enriched and pushed into HubSpot based on ${buyingGroupCriteria} and the company domain <strong>${companyDomain}</strong>.\n </p>\n\n <p>\n <strong>Total contacts processed:</strong> ${contacts.length}\n ${dealLink ? `<br/><strong>Deal link:</strong> <a href=\"${dealLink}\" target=\"_blank\">View deal in HubSpot</a>` : ''}\n </p>\n\n <table style=\"width:100%; border-collapse:collapse; margin-top:10px; margin-bottom:20px;\">\n <thead>\n <tr>\n <th style=\"padding:8px; border:1px solid #d1d5db; text-align:left; background:#f3f4f6;\">Name</th>\n <th style=\"padding:8px; border:1px solid #d1d5db; text-align:left; background:#f3f4f6;\">Job Title</th>\n <th style=\"padding:8px; border:1px solid #d1d5db; text-align:left; background:#f3f4f6;\">Company</th>\n <th style=\"padding:8px; border:1px solid #d1d5db; text-align:left; background:#f3f4f6;\">Email</th>\n <th style=\"padding:8px; border:1px solid #d1d5db; text-align:left; background:#f3f4f6;\">Phone</th>\n <th style=\"padding:8px; border:1px solid #d1d5db; text-align:left; background:#f3f4f6;\">HubSpot</th>\n </tr>\n </thead>\n <tbody>\n ${rowsHtml}\n </tbody>\n </table>\n\n <p>Best regards,<br/>\n Enrichment Workflow Bot</p>\n </div>\n </body>\n </html>\n`;\n\n// --- Compose plain-text fallback ---\nconst plainRows = contacts.map(c => {\n const fullName = `${c.firstName} ${c.lastName}`.trim() || '(no name)';\n const email = c.email || '—';\n const phone = c.phone || '—';\n const contactHubspotUrl = portalId ? `https://app.hubspot.com/contacts/${portalId}/record/0-1/${c.vid}` : '';\n return `- ${fullName} | ${email} | ${phone} | ${contactHubspotUrl}`;\n}).join('\\n');\n\nconst textMessage = `\nHi Team,\n\nFollowing the creation of the HubSpot deal${dealId ? ` (ID: ${dealId})` : ''}, here are the contacts we enriched and pushed into HubSpot based on ${buyingGroupCriteria} and the company domain ${companyDomain}.\n\nTotal contacts processed: ${contacts.length}\n\nContacts:\n${plainRows}\n\nBest regards,\nSurfe Enrichment Workflow Bot\n`;\n\n// --- Output for Gmail node (no 'to' field) ---\nreturn [\n {\n json: {\n subject: 'New Enriched Contacts Added to Your HubSpot Deal',\n message: htmlMessage,\n text: textMessage,\n },\n },\n];\n"
},
"typeVersion": 2
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "7b22080a-3b54-4dca-b824-6268946be489",
"connections": {
"eceb53ea-4260-43fb-b868-91c2e612b116": {
"main": [
[
{
"node": "89e4325b-ac54-4e16-b13a-8cacc4a1b986",
"type": "main",
"index": 0
}
]
]
},
"8c8c2ce7-9e61-400a-a160-7f68fb25b23c": {
"main": [
[
{
"node": "a5aadafa-086f-4f84-af92-557347eb35a6",
"type": "main",
"index": 0
}
]
]
},
"8e0d64d3-f7fa-4798-bb2d-fc795aec89f3": {
"main": [
[
{
"node": "e2fcd474-0ba0-4263-bc50-01218f381087",
"type": "main",
"index": 0
},
{
"node": "8a53937f-de3e-4a45-bd9f-3f9e9aac0ea6",
"type": "main",
"index": 0
}
]
]
},
"7f42e951-3467-4cc9-9b67-22318486d9ff": {
"main": [
[
{
"node": "cfa2243c-5293-4fb4-ba27-a3b0cc3854e5",
"type": "main",
"index": 0
}
]
]
},
"8a53937f-de3e-4a45-bd9f-3f9e9aac0ea6": {
"main": [
[
{
"node": "954456ba-5a82-4c72-a492-fd50a3e5c420",
"type": "main",
"index": 0
}
]
]
},
"954456ba-5a82-4c72-a492-fd50a3e5c420": {
"main": [
[
{
"node": "8c8c2ce7-9e61-400a-a160-7f68fb25b23c",
"type": "main",
"index": 0
}
]
]
},
"7f6ea675-401d-4468-adbc-b56babb6395d": {
"main": [
[
{
"node": "03d94462-b78d-4103-8079-b209753fde84",
"type": "main",
"index": 0
},
{
"node": "afc19dae-6364-48a0-8d3a-839b6010b275",
"type": "main",
"index": 0
}
]
]
},
"a5aadafa-086f-4f84-af92-557347eb35a6": {
"main": [
[
{
"node": "10191a29-ead8-475c-a474-cc41e4bc5654",
"type": "main",
"index": 0
}
]
]
},
"afc19dae-6364-48a0-8d3a-839b6010b275": {
"main": [
[
{
"node": "eceb53ea-4260-43fb-b868-91c2e612b116",
"type": "main",
"index": 1
}
]
]
},
"95bd387b-b8e1-40e8-8afc-05c3bffe1fe9": {
"main": [
[
{
"node": "84ac7743-f3ad-446c-850e-38aa37f26201",
"type": "main",
"index": 0
}
]
]
},
"c89537af-e8cf-4885-bb2c-624f66ce1c90": {
"main": [
[
{
"node": "0b3e3755-a7cb-4386-b7f9-258b56da0e70",
"type": "main",
"index": 0
}
],
[
{
"node": "7f42e951-3467-4cc9-9b67-22318486d9ff",
"type": "main",
"index": 0
}
]
]
},
"84ac7743-f3ad-446c-850e-38aa37f26201": {
"main": [
[
{
"node": "8c8c2ce7-9e61-400a-a160-7f68fb25b23c",
"type": "main",
"index": 1
}
]
]
},
"6b2e276e-50ba-49cf-88a5-2c2a2009d7fd": {
"main": [
[
{
"node": "67317714-fc53-46cb-ae21-d97758e42403",
"type": "main",
"index": 0
}
]
]
},
"b71396c0-1063-409b-a9a5-060cad8e614c": {
"main": [
[
{
"node": "cfa2243c-5293-4fb4-ba27-a3b0cc3854e5",
"type": "main",
"index": 0
}
]
]
},
"03d94462-b78d-4103-8079-b209753fde84": {
"main": [
[
{
"node": "eceb53ea-4260-43fb-b868-91c2e612b116",
"type": "main",
"index": 0
}
]
]
},
"cfa2243c-5293-4fb4-ba27-a3b0cc3854e5": {
"main": [
[
{
"node": "c89537af-e8cf-4885-bb2c-624f66ce1c90",
"type": "main",
"index": 0
}
]
]
},
"da732754-774e-4f67-9c1a-ad11de4d7642": {
"main": [
[]
]
},
"89e4325b-ac54-4e16-b13a-8cacc4a1b986": {
"main": [
[
{
"node": "6b2e276e-50ba-49cf-88a5-2c2a2009d7fd",
"type": "main",
"index": 0
}
]
]
},
"67317714-fc53-46cb-ae21-d97758e42403": {
"main": [
[
{
"node": "b71396c0-1063-409b-a9a5-060cad8e614c",
"type": "main",
"index": 0
}
]
]
},
"e2fcd474-0ba0-4263-bc50-01218f381087": {
"main": [
[
{
"node": "7f6ea675-401d-4468-adbc-b56babb6395d",
"type": "main",
"index": 0
}
]
]
},
"0b3e3755-a7cb-4386-b7f9-258b56da0e70": {
"main": [
[
{
"node": "95bd387b-b8e1-40e8-8afc-05c3bffe1fe9",
"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?
Avanzado - Generación de leads, IA Multimodal
¿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
go-surfe
@go-surfeSave time and sell more with Surfe's API via n8n workflows. - Accurate data you can trust - Results in milliseconds - Scalable and versatile - Full automation For more check out: 💻 https://www.surfe.com?utm_source=n8n 🔗 https://www.linkedin.com/company/surfe/ 👾 https://github.com/surfe/api-examples
Compartir este flujo de trabajo