Chorus -> HubSpot - Transferencia de resúmenes de llamadas

Avanzado

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

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos18
Categoría2
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Rivers Colyer

Rivers Colyer

@riverscolyer

Agency 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.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34