Resumen de Llamada con IA + Tarea de Seguimiento en HubSpot

Intermedio

Este es unCRM, AI Summarizationflujo de automatización del dominio deautomatización que contiene 12 nodos.Utiliza principalmente nodos como Hubspot, FormTrigger, HubspotTool, Agent, LmChatOpenAi. Resumen de Llamada con IA + Tarea de Seguimiento en HubSpot

Requisitos previos
  • Clave de API de HubSpot
  • Clave de API de OpenAI
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
{
  "meta": {
    "instanceId": "09423a3357ff64bdcc082268b9d577001317edbe377a3ccfb0b131ffb9554b30"
  },
  "nodes": [
    {
      "id": "62aa0111-3390-474f-9779-1d389398d3a0",
      "name": "Buscar Contacto por Correo Electrónico",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        528,
        224
      ],
      "parameters": {
        "operation": "search",
        "authentication": "oAuth2",
        "filterGroupsUi": {
          "filterGroupsValues": [
            {
              "filtersUi": {
                "filterValues": [
                  {
                    "value": "={{ $json['Contact email'] }}",
                    "propertyName": "email|string"
                  }
                ]
              }
            }
          ]
        },
        "additionalFields": {
          "properties": "={{ [\"email\",\"firstname\",\"lastname\",\"jobtitle\",\"company\",\"country\",\"state\",\"city\",\"hs_language\",\"phone\",\"mobilephone\",\"lifecyclestage\",\"hs_lead_status\",\"hubspot_owner_id\",\"hs_email_last_open_date\",\"hs_email_last_reply_date\",\"hs_latest_meeting_activity\",\"hs_sequences_is_enrolled\",\"hs_sequences_enrolled_count\",\"createdate\",\"hs_lastmodifieddate\",\"hs_timezone\",\"notes_last_contacted\",\"hs_object_id\"] }}"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "bc13ee93-f748-4058-9429-a25883e9c25e",
      "name": "Modelo de Chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        848,
        448
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "1dbedf6b-1427-4127-a0bf-ac745c386e6a",
      "name": "Formulario: Capturar Transcripción",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        304,
        224
      ],
      "webhookId": "4f87bdf1-6594-4675-a20e-037a7f287da5",
      "parameters": {
        "options": {},
        "formTitle": "Get transcript",
        "formFields": {
          "values": [
            {
              "fieldType": "email",
              "fieldLabel": "Contact email",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Paste transcript here",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "e4ce0bc0-eaef-4d12-80af-8be92a32c059",
      "name": "IA: Resumir Llamada y Redactar Tarea",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        848,
        224
      ],
      "parameters": {
        "text": "=### Inputs\n\n* **Contact info:** `{{  JSON.stringify($json.properties) }}`\n* **Call transcript (plain text):** `{{ $('Form: Capture Transcript').item.json['Paste transcript here'] }}`\n\n### Your goals\n\n1. Read the transcript and capture: participants, company, role, problem/opportunity, key requirements, objections/blockers, timeline, and any metrics (team size, volume, \\$\\$, dates).\n2. Write a **120–160 word** plain-English summary a teammate can skim.\n3. Create **one actionable follow-up task** that clearly moves the deal forward.\n4. Based on what you've learned from the call transcript, update any missing HubSpot contact information (blank fields) using the HubSpot \"Update Contact\" tool.\n\n### Rules\n\n* Be factual; **do not invent** details.\n* If data is missing, note it as “unknown”.\n* Normalize dates to `YYYY-MM-DD` (use next business day for “tomorrow”, +7 days for “next week”).\n* Keep original spelling for names/companies.\n* Use concise language; no fluff.\n\nRespond ONLY in the following JSON format:\n{\n  \"Summary\": \"<120–160 word recap>\",\n  \"Task name\": \"<imperative title, e.g., Schedule security review with IT lead>\",\n  \"Task body\": \"<what to deliver, needed inputs, owner, due date and success criteria>\"\n}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "4fdbc6bf-5cf9-4eb1-9951-f865ec218126",
      "name": "Registrar Resumen de Llamada",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        1200,
        224
      ],
      "parameters": {
        "type": "call",
        "metadata": {
          "body": "={{ $json.output.Summary }}",
          "status": "COMPLETED"
        },
        "resource": "engagement",
        "authentication": "oAuth2",
        "additionalFields": {
          "associations": {
            "contactIds": "={{ $('Find Contact by Email').item.json.id }}"
          }
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "23a2c237-2a38-48c8-9c6b-3ca2f07e1816",
      "name": "Crear Tarea de Seguimiento",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        1424,
        224
      ],
      "parameters": {
        "type": "task",
        "metadata": {
          "body": "={{ $('AI: Summarize Call & Draft Task').item.json.output['Task body'] }}",
          "status": "NOT_STARTED",
          "subject": "={{ $('AI: Summarize Call & Draft Task').item.json.output['Task name'] }}",
          "forObjectType": "CONTACT"
        },
        "resource": "engagement",
        "authentication": "oAuth2",
        "additionalFields": {
          "associations": {
            "contactIds": "={{ $('Find Contact by Email').item.json.id }}"
          }
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "8fcb293d-d6b2-4553-af27-cc340208fa8d",
      "name": "Actualizar Contacto desde la Transcripción",
      "type": "n8n-nodes-base.hubspotTool",
      "position": [
        1040,
        448
      ],
      "parameters": {
        "email": "={{ $('Form: Capture Transcript').item.json['Contact email'] }}",
        "options": {},
        "authentication": "oAuth2",
        "additionalFields": {
          "city": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('City', `Update this if the prospect mentions the city`, 'string') }}",
          "country": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Country_Region', `Update this if the prospect mentions the country`, 'string') }}",
          "jobTitle": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Job_Title', `Update this if the prospect mentions their job title`, 'string') }}",
          "jobFunction": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Job_Function', `Update this if the prospect mentions their job function`, 'string') }}"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "affbd7c1-1970-417b-b9e3-80ddea9a77bd",
      "name": "Analizar Salida Estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1216,
        448
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\"Summary\": \"Hand from ClearPath spoke with Jordan (Plumber) regarding slow onboarding. Jordan’s company, which remains unknown, hires 25-40 new employees monthly...\",\n\"Task name\": \"Send demo invite and prep materials to Jordan\",\n\"Task body\": \"Deliver a calendar invite for the 2025-10-01 2:00 PM demo, including a short checklist for the IT lead to prepare and an outline for the two-week sandbox pilot.\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "f3513e1b-b8d2-45e6-a073-9ce960255765",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 448,
        "height": 304,
        "content": "## Get call transcript and contact"
      },
      "typeVersion": 1
    },
    {
      "id": "a287568d-b9ac-408a-b529-8705d5a7ea3a",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 880,
        "height": 496,
        "content": "## Add call summary, follow-up task and contact properties"
      },
      "typeVersion": 1
    },
    {
      "id": "d15dd7dd-df8e-4e07-a23a-cacf7a8f0173",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -288,
        -32
      ],
      "parameters": {
        "color": 5,
        "width": 464,
        "height": 656,
        "content": "## AI Call Summary to HubSpot + Follow-Up Task\n\nPaste a recent call transcript and the contact’s email to auto-log a clean summary in HubSpot and create a follow-up task.\n\n## How it works\n* Capture the contact email and transcript via a form.\n* Look up the contact in HubSpot by email.\n* Send the transcript (and known contact fields) to AI to:\n  * Summarize the call (120–160 words).\n  * Propose a single, actionable follow-up task.\n  * Suggest updates for missing contact properties (city, country, title, function).\n* Log the summary as a completed Call in HubSpot.\n* Create a Task in HubSpot with the AI-generated title/body.\n* Optionally update the HubSpot contact from the transcript hints.\n\n## How to use\n* Open the Form: Capture Transcript node and submit an email + transcript.\n* In AI: Summarize Call & Draft Task, you can tweak the prompt rules if needed.\n* Ensure your HubSpot OAuth is connected on all HubSpot nodes.\n* (Optional) Review the Update Contact from Transcript mappings before enabling in production."
      },
      "typeVersion": 1
    },
    {
      "id": "c04d0fab-a1ba-4f6f-84b5-fcaf3ac7bc29",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        432
      ],
      "parameters": {
        "color": 7,
        "width": 288,
        "height": 288,
        "content": "### 💡 Customizing this workflow\n\n- Instead of a form, try using a google drive folder to fetch call transcripts\n- Take it a step further - extract the audio from the call recording using AI\n- Get creative with fields - add any addtional contact fields to the \"Update Contact\" tool and let the AI auto-populate those based on the transcript "
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Form: Capture Transcript": [
      {
        "formMode": "test",
        "submittedAt": "2025-09-26T11:15:57.804+02:00",
        "Contact email": "miha.ambroz@pm.me",
        "Paste transcript here": "Me: Hi prospect\r\nHans: Hi I am actually from hungary and I work as A product manager. Not sure you have that infor in the crm"
      }
    ]
  },
  "connections": {
    "4fdbc6bf-5cf9-4eb1-9951-f865ec218126": {
      "main": [
        [
          {
            "node": "23a2c237-2a38-48c8-9c6b-3ca2f07e1816",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bc13ee93-f748-4058-9429-a25883e9c25e": {
      "ai_languageModel": [
        [
          {
            "node": "e4ce0bc0-eaef-4d12-80af-8be92a32c059",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "62aa0111-3390-474f-9779-1d389398d3a0": {
      "main": [
        [
          {
            "node": "e4ce0bc0-eaef-4d12-80af-8be92a32c059",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "affbd7c1-1970-417b-b9e3-80ddea9a77bd": {
      "ai_outputParser": [
        [
          {
            "node": "e4ce0bc0-eaef-4d12-80af-8be92a32c059",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "1dbedf6b-1427-4127-a0bf-ac745c386e6a": {
      "main": [
        [
          {
            "node": "62aa0111-3390-474f-9779-1d389398d3a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8fcb293d-d6b2-4553-af27-cc340208fa8d": {
      "ai_tool": [
        [
          {
            "node": "e4ce0bc0-eaef-4d12-80af-8be92a32c059",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "e4ce0bc0-eaef-4d12-80af-8be92a32c059": {
      "main": [
        [
          {
            "node": "4fdbc6bf-5cf9-4eb1-9951-f865ec218126",
            "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?

Intermedio - CRM, Resumen de IA

¿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
Intermedio
Número de nodos12
Categoría2
Tipos de nodos7
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34