Fusiona Automáticamente los Contactos Duplicados en HubSpot (CRM) (Workflow n8n Gratis + Video + Guía Descargable)
Esta guía te muestra cómo automatizar la fusión de contactos duplicados en HubSpot usando n8n, incluso con un plan gratuito de HubSpot. No necesitas pagar funciones premium: esta automatización utiliza la API de HubSpot para detectar y fusionar duplicados automáticamente.
Puedes copiar y pegar el workflow listo para usar y ponerlo en marcha de inmediato, sin escribir código, mejorando la calidad de los datos en tu CRM en solo unos minutos.
Hack’celeration: Lo que los expertos nunca te enseñan, aquí te lo damos.






Lo que permite la automatización con n8n para fusionar automáticamente contactos duplicados en HubSpot
¿Quieres fusionar contactos duplicados en HubSpot sin pagar por funciones avanzadas? Esta automatización con n8n está diseñada para ahorrarte tiempo gestionando automáticamente la fusión de contactos a través de la API de HubSpot.
Así es como funciona: sigues el workflow listo para usar, conectas tu cuenta de HubSpot y, en unos pocos clics, automatizas la detección y fusión de contactos duplicados en tu CRM.
Bonus: puedes adaptar fácilmente este setup para filtrar tipos específicos de duplicados o extenderlo a otros objetos del CRM (empresas, oportunidades, etc.).
Olvídate de las tareas repetitivas y las limitaciones del plan gratuito: con n8n automatizas la fusión de contactos duplicados en HubSpot de forma simple, eficiente y sin coste adicional.
Para facilitarte el trabajo, el workflow que descargas está completamente listo para usar: cada paso del escenario está detallado, con notas explicativas integradas directamente en n8n. Verás exactamente cómo funciona cada acción, todo ya está mapeado para ti.
Además del workflow, obtienes una guía en video completa y un tutorial paso a paso que te acompaña desde la instalación hasta la puesta en marcha. Es súper fácil: arrastras el escenario a tu n8n, sigues las instrucciones y automatizas la fusión de contactos duplicados en HubSpot en solo unos minutos.
El objetivo: no solo automatizar rápidamente la fusión de contactos duplicados en HubSpot, sino también ayudarte a entender cómo funciona y mejorar tus habilidades en n8n.
Tutorial en Video – Fusionar Contactos Duplicados en HubSpot con n8n
Detalle del Workflow en n8n: Guía Paso a Paso con Capturas de Pantalla (Fusión de Contactos en HubSpot)
Requisito previo: Definir un Criterio Único para Identificar Contactos Duplicados en HubSpot
Antes de usar esta automatización, es esencial definir un criterio único que permita identificar contactos duplicados en HubSpot. Por defecto, HubSpot detecta duplicados basándose en la dirección de correo electrónico, pero este método tiene sus límites si tus contactos usan varios correos o los cambian.
Para una detección confiable, se recomienda enriquecer las fichas de contacto con un identificador único común. En nuestro caso, usamos el ID de perfil de LinkedIn del contacto (linkedin_profile_id), que es un identificador fiable y único para cada persona.
- Asegúrate de que cada contacto en HubSpot tenga un campo LinkedIn Profile ID.
- Si aún no lo has hecho, enriquece tus datos importando la información de LinkedIn mediante una herramienta externa o este workflow gratuito descargable.
- El workflow que descargas detectará automáticamente todos los contactos que compartan el mismo LinkedIn Profile ID y procederá a fusionarlos.
Importante: esta automatización se basa en la existencia de un campo común fiable. Si no usas LinkedIn, puedes elegir otro campo único (por ejemplo, número de teléfono, ID interno, etc.) siempre que sea idéntico entre los duplicados.
Paso 1: Iniciar el Workflow (Manual Trigger)
Este primer paso te permite probar el workflow manualmente. Gracias al módulo Manual Trigger de n8n, puedes ejecutar el escenario bajo demanda para verificar que todo funcione correctamente antes de automatizarlo en producción.
El disparador manual es muy útil para probar cada paso en tiempo real y diagnosticar errores fácilmente. Una vez que hayas validado las pruebas, puedes reemplazarlo por un disparador automatizado (por ejemplo: cron, webhook…) si lo necesitas.
➡️ Parámetros:
- Tipo de disparador: Manual Trigger
- Uso: Ejecución manual del workflow desde la interfaz de n8n
Para comenzar: haz clic en «Ejecutar workflow» en n8n para iniciar el proceso.
Paso 2: Recuperar Todos los Contactos desde HubSpot
Este paso utiliza el módulo HubSpot para extraer todos los contactos almacenados en tu CRM. El objetivo es obtener una base completa para analizar e identificar duplicados según el criterio único definido (por ejemplo: LinkedIn Profile ID).
Usamos la opción Get All para recuperar todos los datos en una sola vez, lo que permite procesar automáticamente todos los contactos sin limitaciones específicas.
➡️ Parámetros:
- Recurso: Contact
- Operación: Get All
- Return All: Activado (Yes)
- Propiedades recuperadas: linkedin_profile_id (puedes añadir otros campos si lo necesitas)
Este paso te permite centralizar todos los registros de contacto para que puedan ser procesados uno por uno en los siguientes pasos.
Paso 3: Iterar sobre Cada Contacto (SplitInBatches)
Este paso utiliza el módulo SplitInBatches para procesar cada contacto uno por uno. Esto evita sobrecargar las solicitudes a la API y permite un control preciso sobre el tratamiento individual de cada contacto.
El batch está configurado con un tamaño de 1, lo que significa que cada ejecución del workflow procesa un solo contacto antes de pasar al siguiente.
➡️ Parámetros:
- Batch Size: 1
Esta estructura garantiza una ejecución fluida y segura incluso si tienes una gran cantidad de contactos que procesar.
Paso 4: Añadir un Retardo de 1 Segundo (Limitación de Tasa)
Para evitar sobrecargar la API y respetar los límites establecidos por HubSpot, este paso utiliza un módulo Wait para insertar un retardo de 1 segundo entre cada procesamiento de contacto.
Este paso es esencial si estás manejando un volumen alto de contactos: permite evitar errores como «429 Too Many Requests» al hacer llamadas consecutivas a la API de HubSpot.
➡️ Parámetros:
- Wait Time: 1 segundo
Gracias a esta pausa, el workflow se mantiene estable y conforme a las buenas prácticas de uso de la API, incluso cuando se ejecuta con cientos o miles de contactos.
Paso 5: Verificar la Presencia del LinkedIn Profile ID
Este paso es crucial: utiliza un módulo IF para verificar si el contacto actual tiene un LinkedIn Profile ID. Este campo es indispensable para detectar duplicados de manera efectiva.
Si el contacto no tiene este campo completado, el workflow omite ese contacto y pasa al siguiente para evitar errores o búsquedas innecesarias.
➡️ Parámetros:
- Condición: {{$(‘Loop Contacts One by One’).item.json.properties.linkedin_profile_id.value}} is not empty
- Combinador: AND
Este paso ayuda a asegurar el workflow verificando que solo se analicen los contactos elegibles (es decir, aquellos con un ID de LinkedIn).
Paso 6: Buscar Contactos por LinkedIn Profile ID (Búsqueda en HubSpot)
Este paso es fundamental: permite identificar todos los contactos duplicados basándose en el LinkedIn Profile ID. Para ello, usamos el módulo nativo HubSpot – Search, que permite buscar contactos por una propiedad personalizada.
¿Por qué esta opción? A diferencia de la búsqueda de empresas, que requiere una llamada personalizada a la API, aquí podemos utilizar directamente el módulo nativo de n8n porque admite búsquedas por propiedades personalizadas en los contactos.
El módulo consulta la API de HubSpot mediante un endpoint interno y limita la búsqueda a 2 resultados, lo cual es suficiente para identificar un duplicado.
➡️ Parámetros:
- Recurso: Contact
- Operación: Search
- Límite: 2
- Filter Groups:
{ "propertyName": "linkedin_profile_id|number", "value": "={{ $('Loop Contacts One by One').item.json.properties.linkedin_profile_id.value }}" }
Esta consulta busca todos los contactos cuyo LinkedIn Profile ID coincida con el del contacto que se está procesando. La respuesta incluye la información clave del contacto que se va a fusionar.
¿Por qué un límite de 2? Esto permite comprobar si existen al menos dos contactos con el mismo LinkedIn Profile ID. Si es así, se detecta un duplicado y el workflow pasa al siguiente paso para realizar la fusión.
Paso 7: Procesar los Resultados de la Búsqueda (Extracción de IDs)
Este paso utiliza un módulo Code para analizar los resultados devueltos por la búsqueda de HubSpot. Su función es doble: contar el número de resultados y extraer los ID de los contactos que se deben fusionar.
El código comprueba si la búsqueda ha encontrado al menos 2 contactos. Si es así, extrae:
- primaryObjectId: el ID del primer contacto (que se conservará tras la fusión)
- objectIdToMerge: el ID del segundo contacto (que será fusionado y eliminado)
➡️ Código utilizado:
const items = $input.all(); if (items.length < 2) { return [ { json: { hubspotResults: items.length, message: 'Not enough contacts to merge' } } ]; } const primary = items[0]; const secondary = items[1]; return [ { json: { hubspotResults: items.length, primaryObjectId: primary.json.id, objectIdToMerge: secondary.json.id } } ];
Este código también permite añadir una verificación: si se encuentran menos de 2 contactos, se genera un mensaje informativo para indicar que no se realizará ninguna fusión en ese ciclo.
Este paso prepara todos los datos necesarios para la llamada final a la API de fusión.
Paso 8: Verificar si Existen Duplicados (Resultados ≤ 1)
Este paso utiliza un módulo IF para comprobar el número de resultados encontrados durante la búsqueda de duplicados. El objetivo es verificar si existen al menos dos contactos con el mismo LinkedIn Profile ID.
Si el número de resultados es menor o igual a 1, significa que no se ha detectado ningún duplicado, y el workflow pasa directamente al siguiente contacto sin intentar fusionar.
➡️ Parámetros:
- Condición: {{$json.hubspotResults}} ≤ 1
- Sensible a mayúsculas: Yes
- Combinador: AND
Este paso permite evitar llamadas innecesarias a la API cuando la búsqueda solo devuelve un contacto (o ninguno), lo que garantiza un mejor rendimiento y mayor seguridad.
Paso 9: Verificar que los ID sean Diferentes (Prevención de Fusiones Incorrectas)
Este paso utiliza un módulo IF para asegurarse de que los dos contactos a fusionar tengan ID diferentes. Es una medida de seguridad esencial: HubSpot no permite fusionar un contacto consigo mismo, lo que generaría un error si no se controla previamente.
Esta condición evita errores innecesarios en la API al bloquear el intento de fusión si primaryObjectId y objectIdToMerge son iguales.
➡️ Parámetros:
- Condición: {{$json.primaryObjectId}} ≠ {{$json.objectIdToMerge}}
- Sensible a mayúsculas: Yes
- Combinador: AND
Este paso permite asegurar completamente el proceso antes de realizar la llamada final a la API.
Paso 10: Fusionar los Contactos Duplicados (API de HubSpot)
Este último paso utiliza un módulo HTTP Request para enviar una solicitud POST a la API de HubSpot con el fin de fusionar los dos contactos identificados como duplicados.
La llamada a la API utiliza el endpoint oficial: https://api.hubapi.com/crm/v3/objects/contacts/merge
para realizar la fusión, con autenticación mediante el token de HubSpot.
➡️ Parámetros:
- Método: POST
- URL: https://api.hubapi.com/crm/v3/objects/contacts/merge
- Headers: Content-Type: application/json + Authorization: Bearer Token
- Body:
{ "primaryObjectId": "{{ $json.primaryObjectId }}", "objectIdToMerge": "{{ $json.objectIdToMerge }}" }
Esta solicitud fusiona el contacto secundario (objectIdToMerge
) dentro del contacto principal (primaryObjectId
). HubSpot conserva los datos del contacto principal y archiva el duplicado.
Este paso finaliza la automatización, garantizando un CRM limpio, sin duplicados y listo para ser utilizado.
Por Qué Eliminar los Contactos Duplicados en HubSpot es Clave para tu CRM
Mantener un CRM de HubSpot limpio y bien organizado es fundamental para garantizar la calidad de tus datos y maximizar la eficiencia de tus equipos de ventas y marketing. Los contactos duplicados generan errores, distorsionan los informes y complican la relación con los clientes.
Problemas causados por los duplicados:
- Datos inexactos o contradictorios en tus pipelines.
- Riesgo de contactar varias veces al mismo cliente o prospecto.
- Campañas de marketing menos efectivas debido a errores de segmentación.
- Pérdida de tiempo para tus equipos que deben revisar y corregir la información manualmente.
Ventajas de fusionar automáticamente los duplicados en HubSpot:
- Centralización de la información clave de cada contacto.
- Mejor experiencia del cliente gracias a datos precisos y actualizados.
- Automatización de tareas repetitivas para aumentar la productividad.
- Informes y análisis fiables para dirigir tu estrategia comercial.
Al automatizar la fusión de contactos duplicados en HubSpot, garantizas un CRM eficiente, ahorras tiempo y reduces el riesgo de errores. Esta automatización es una palanca real para mejorar la gestión de tu base de datos de clientes y optimizar el crecimiento de tu empresa.