Chorus -> HubSpot - Transferencia de resúmenes de llamadas
Este es unCRM, Multimodal AIflujo de automatización del dominio deautomatización que contiene 18 nodos.Utiliza principalmente nodos como If, Code, Filter, HttpRequest, ManualTrigger. Transferencia automática de resúmenes de llamadas de Chorus AI a HubSpot CRM
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (18)
Categoría
{
"id": "M3e7JbXymYbkSURp",
"meta": {
"instanceId": "e9a659fdd706cf3d380b323218bd2519d25aad8cc08445f565501acde8554789",
"templateCredsSetupCompleted": true
},
"name": "Chorus -> HubSpot - Transfer Summarization of Calls",
"tags": [],
"nodes": [
{
"id": "590ade85-9a23-4136-b70b-3fc282d2efd3",
"name": "Obtener interacciones de Chorus del último día",
"type": "n8n-nodes-base.httpRequest",
"position": [
-48,
-96
],
"parameters": {
"url": "https://chorus.ai/v3/engagements",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
},
"pagination": {
"pagination": {
"parameters": {
"parameters": [
{
"name": "continuation_key",
"value": "={{ $response.body.continuation_key }}"
}
]
},
"maxRequests": 15,
"requestInterval": 250,
"limitPagesFetched": true,
"completeExpression": "={{ $response.body.engagements?.length === 0 }}",
"paginationCompleteWhen": "other"
}
}
},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "min_date",
"value": "={{ $now.minus(1, 'day').toUTC().toISO() }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "TGNtxPoeqfuBtUeE",
"name": "Chorus.AI - API Token"
}
},
"typeVersion": 4.2
},
{
"id": "e703addd-f6ab-4762-b1fc-129c28c6d952",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
-256
],
"parameters": {
"width": 656,
"height": 400,
"content": "## Chorus.AI\nThis part of code will ask Chorus AI about new engagements per last 1 day and load it with pagination and filter items which not contains information about summary.\n"
},
"typeVersion": 1
},
{
"id": "feb3bf00-ad3a-4636-8a71-02a8c036ccfb",
"name": "Combinar interacciones paginadas",
"type": "n8n-nodes-base.code",
"position": [
160,
-96
],
"parameters": {
"jsCode": "let engagements = []\n\nfor (const item of $input.all()) {\n engagements = engagements.concat(item.json.engagements)\n console.log(engagements)\n}\n\nreturn engagements;"
},
"typeVersion": 2
},
{
"id": "9aaef85b-d612-4842-9373-232d3eb0e7d3",
"name": "Filtrar elementos con meeting_summary vacío",
"type": "n8n-nodes-base.filter",
"position": [
352,
-96
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "04f7da95-b5b4-47a8-8f46-bb715b8bdbe6",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.meeting_summary }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a9678b63-5230-4339-af34-236bc8c5ac60",
"name": "Buscar empresa en HubSpot por nombre",
"type": "n8n-nodes-base.httpRequest",
"position": [
944,
-176
],
"parameters": {
"url": "https://api.hubapi.com/crm/v3/objects/companies/search",
"method": "POST",
"options": {},
"jsonBody": "={\n \"filterGroups\": [{\n \"filters\": [{\n \"propertyName\": \"name\",\n \"operator\": \"EQ\",\n \"value\": \"{{ $json.account_name }}\"\n }]\n }],\n \"properties\": [\"name\", \"domain\", \"hs_object_id\"],\n \"limit\": 1\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "hubspotAppToken"
},
"credentials": {
"hubspotAppToken": {
"id": "pZe6yTkF8VqPifNB",
"name": "HubSpot App Token account"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "01b8ba7d-fa0b-4d5b-a273-89548f625d68",
"name": "Nota adhesiva 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
-576
],
"parameters": {
"width": 1760,
"height": 752,
"content": "## HubSpot \nHere we will search company in HubSpot by full equal name between Chorus.AI account_name and HubSpot Company Name.\nIf matched company exists, we will check if current engagement already present in notes.\nIf such engagement not present in notes, we creating it.\n"
},
"typeVersion": 1
},
{
"id": "66a686e5-2dca-459c-bd2d-f01150f4d9fc",
"name": "Si la empresa existe",
"type": "n8n-nodes-base.if",
"position": [
1136,
-176
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "13106367-6866-44c3-8404-9767e67753b4",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.results[0].id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a2c7b0fc-3b9b-4700-92cb-8a54609dc53c",
"name": "Buscar notas",
"type": "n8n-nodes-base.httpRequest",
"position": [
1424,
-240
],
"parameters": {
"url": "https://api.hubapi.com/crm/v3/objects/notes/search",
"method": "POST",
"options": {},
"jsonBody": "={\n \"filterGroups\": [{\n \"filters\": [\n {\n \"propertyName\": \"hs_note_body\",\n \"operator\": \"CONTAINS_TOKEN\",\n \"value\": \"{{ $('Loop Over Engagements').item.json.engagement_id }}\"\n },\n {\n \"propertyName\": \"associations.company\",\n \"operator\": \"EQ\",\n \"value\": \"{{ $json.results[0].id }}\"\n }\n ]\n }],\n \"properties\": [\"hs_note_body\",\"hs_timestamp\"],\n \"limit\": 25\n }",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "hubspotAppToken"
},
"credentials": {
"hubspotAppToken": {
"id": "pZe6yTkF8VqPifNB",
"name": "HubSpot App Token account"
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "9176cd7a-8133-4e3d-bad2-ba4d7a6c61ae",
"name": "Iterar sobre interacciones",
"type": "n8n-nodes-base.splitInBatches",
"position": [
720,
-192
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "a6582225-17c5-4e69-aad5-1c8288ad63ae",
"name": "Si la nota no existe",
"type": "n8n-nodes-base.if",
"position": [
1632,
-176
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8897f49e-83ba-4d8d-950b-b2317958f9fb",
"operator": {
"type": "array",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json.results }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a80f3f6b-18b4-4d2f-a1e6-e492b80f904a",
"name": "Omitir si no se encuentra la empresa",
"type": "n8n-nodes-base.noOp",
"position": [
1344,
-32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d1254ac5-fc4e-451b-b611-a8d3e134b327",
"name": "Omitir si la nota ya existe",
"type": "n8n-nodes-base.noOp",
"position": [
1840,
-32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f673fac3-18b7-4294-b6ba-6fb674e9671a",
"name": "Crear carga útil de nota",
"type": "n8n-nodes-base.code",
"position": [
1840,
-304
],
"parameters": {
"jsCode": "const callSecondsDateTime = $('Loop Over Engagements').first().json.date_time;\nvar callDateTime = new Date(callSecondsDateTime * 1000)\n\nconst callSummary = $('Loop Over Engagements').first().json.meeting_summary;\nconst callLink = $('Loop Over Engagements').first().json.url;\nconst callId = $('Loop Over Engagements').first().json.engagement_id;\n\nvar note_body = `\n<b>Call Date/Time: ${callDateTime.toLocaleString()}</b> \n<br><br>\n<b>Summary body:</b><br> ${callSummary}\"\n<br><br>\n<b>Link to call recording:</b> <a href=\"${callLink}\" target=\"_blank\">${callLink}</a>\n<br>\n<b>Chorus Engagement ID:</b> ${callId}\n`\n\nreturn {\n \"json\": {\n \"properties\": {\n \"hs_timestamp\": callDateTime.toISOString(),\n \"hs_note_body\": note_body,\n },\n \"associations\": [\n {\n \"to\": {\n \"id\": $('Search Company In HubSpot By Name').first().json.results[0].id\n },\n \"types\": [\n {\n \"associationCategory\": \"HUBSPOT_DEFINED\",\n \"associationTypeId\": 190\n }\n ]\n }\n ]\n } \n};"
},
"typeVersion": 2
},
{
"id": "63016a15-dbad-48d3-bae1-b5a30a88e845",
"name": "Crear nota",
"type": "n8n-nodes-base.httpRequest",
"position": [
2032,
-304
],
"parameters": {
"url": "https://api.hubspot.com/crm/v3/objects/notes",
"method": "POST",
"options": {},
"jsonBody": "={{ $json }}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "hubspotAppToken"
},
"credentials": {
"hubspotAppToken": {
"id": "pZe6yTkF8VqPifNB",
"name": "HubSpot App Token account"
}
},
"typeVersion": 4.2
},
{
"id": "9ea518e1-f7c4-4aea-9900-e43d45167f51",
"name": "Continuar",
"type": "n8n-nodes-base.noOp",
"position": [
2192,
-32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c9e6cf34-de5b-46b0-beff-662ee49e9bfa",
"name": "Ejecutar cada hora",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-432,
-192
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c12c466a-8acd-4723-8454-57fc87756752",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-432,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "28c8e238-a8b1-4135-967e-7380d92baa1e",
"name": "Nota adhesiva 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-512,
-352
],
"parameters": {
"width": 272,
"height": 528,
"content": "## Triggers\nHere we are declaring how this workflow can be started"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5c4b90f9-61ad-42ab-8592-e688cd689d57",
"connections": {
"9ea518e1-f7c4-4aea-9900-e43d45167f51": {
"main": [
[
{
"node": "9176cd7a-8133-4e3d-bad2-ba4d7a6c61ae",
"type": "main",
"index": 0
}
]
]
},
"63016a15-dbad-48d3-bae1-b5a30a88e845": {
"main": [
[
{
"node": "9ea518e1-f7c4-4aea-9900-e43d45167f51",
"type": "main",
"index": 0
}
]
]
},
"a2c7b0fc-3b9b-4700-92cb-8a54609dc53c": {
"main": [
[
{
"node": "a6582225-17c5-4e69-aad5-1c8288ad63ae",
"type": "main",
"index": 0
}
]
]
},
"c9e6cf34-de5b-46b0-beff-662ee49e9bfa": {
"main": [
[
{
"node": "590ade85-9a23-4136-b70b-3fc282d2efd3",
"type": "main",
"index": 0
}
]
]
},
"66a686e5-2dca-459c-bd2d-f01150f4d9fc": {
"main": [
[
{
"node": "a2c7b0fc-3b9b-4700-92cb-8a54609dc53c",
"type": "main",
"index": 0
}
],
[
{
"node": "a80f3f6b-18b4-4d2f-a1e6-e492b80f904a",
"type": "main",
"index": 0
}
]
]
},
"a6582225-17c5-4e69-aad5-1c8288ad63ae": {
"main": [
[
{
"node": "f673fac3-18b7-4294-b6ba-6fb674e9671a",
"type": "main",
"index": 0
}
],
[
{
"node": "d1254ac5-fc4e-451b-b611-a8d3e134b327",
"type": "main",
"index": 0
}
]
]
},
"f673fac3-18b7-4294-b6ba-6fb674e9671a": {
"main": [
[
{
"node": "63016a15-dbad-48d3-bae1-b5a30a88e845",
"type": "main",
"index": 0
}
]
]
},
"9176cd7a-8133-4e3d-bad2-ba4d7a6c61ae": {
"main": [
[],
[
{
"node": "a9678b63-5230-4339-af34-236bc8c5ac60",
"type": "main",
"index": 0
}
]
]
},
"a80f3f6b-18b4-4d2f-a1e6-e492b80f904a": {
"main": [
[
{
"node": "9176cd7a-8133-4e3d-bad2-ba4d7a6c61ae",
"type": "main",
"index": 0
}
]
]
},
"feb3bf00-ad3a-4636-8a71-02a8c036ccfb": {
"main": [
[
{
"node": "9aaef85b-d612-4842-9373-232d3eb0e7d3",
"type": "main",
"index": 0
}
]
]
},
"d1254ac5-fc4e-451b-b611-a8d3e134b327": {
"main": [
[
{
"node": "9176cd7a-8133-4e3d-bad2-ba4d7a6c61ae",
"type": "main",
"index": 0
}
]
]
},
"a9678b63-5230-4339-af34-236bc8c5ac60": {
"main": [
[
{
"node": "66a686e5-2dca-459c-bd2d-f01150f4d9fc",
"type": "main",
"index": 0
}
]
]
},
"590ade85-9a23-4136-b70b-3fc282d2efd3": {
"main": [
[
{
"node": "feb3bf00-ad3a-4636-8a71-02a8c036ccfb",
"type": "main",
"index": 0
}
]
]
},
"c12c466a-8acd-4723-8454-57fc87756752": {
"main": [
[
{
"node": "590ade85-9a23-4136-b70b-3fc282d2efd3",
"type": "main",
"index": 0
}
]
]
},
"9aaef85b-d612-4842-9373-232d3eb0e7d3": {
"main": [
[
{
"node": "9176cd7a-8133-4e3d-bad2-ba4d7a6c61ae",
"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 - CRM, 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
Rivers Colyer
@riverscolyerAgency technology director and automation enthusiast + workflow architect. Specializing in creating powerful integrations that simplify business processes. My team designs and delivers custom workflows that connect SaaS platforms, empowering teams to save time and boost productivity. DM me on LinkedIn if you'd like us to set up an automation for your business.
Compartir este flujo de trabajo