Migrar datos entre CRMs sin perder automatizaciones (guía 2026)
Procedimiento para migrar datos CRM HubSpot Pipedrive n8n España sin que se caigan los flujos que ya tenías montados: inventario previo, mapear campos CRM origen destino Europe/Madrid, export import contactos CRM upsert n8n por lotes y reenganchar automatismos post migración CRM RGPD con una checklist que puedes ejecutar en un fin de semana.
Cambiar de CRM no es solo pulsar «exportar» y subir un CSV. En la práctica, el dolor aparece cuando el lunes siguiente un formulario sigue escribiendo en Pipedrive mientras el equipo ya trabaja en HubSpot, o cuando un webhook de n8n dispara acciones sobre IDs que ya no existen. Esta guía separa dos trabajos que muchos equipos mezclan: mover los datos históricos y reconectar las automatizaciones que dependían del sistema anterior. Si los tratas como un solo paso, pierdes contexto comercial y rompes flujos en producción.
El vídeo muestra el planteamiento de una migración B2B con importación de contactos por lotes, deduplicación por email y registro de qué workflows hay que reconectar después del corte.
Transcripción del vídeo
Cuando un equipo comercial decide cambiar de CRM, lo primero que suele intentar es la exportación nativa: descargar contactos, empresas y oportunidades, y subirlos al sistema nuevo. Eso puede funcionar si el volumen es bajo y no hay nada conectado por fuera. En cuanto entran webhooks, integraciones con formularios, hojas de cálculo o flujos de n8n, la exportación por sí sola deja un agujero: los datos viajan, pero las automatizaciones siguen apuntando al CRM que ya no quieres usar.
La migración ordenada empieza por un inventario. Antes de mover una sola fila, anota qué sistemas escriben en el CRM origen: landing pages, Typeform, LinkedIn Lead Gen, WhatsApp, secuencias de email, reporting en Google Sheets. Cada uno de esos puntos necesitará una fecha de corte y un plan de reconexión al destino. Sin esa lista, el día del cambio descubrirás leads nuevos entrando por la puerta trasera al sistema antiguo.
El segundo bloque es el mapeo de campos. HubSpot llama «Lead stage» a algo que en Pipedrive es «pipeline stage», y los campos personalizados rara vez coinciden uno a uno. Antes de importar, construye una tabla origen → destino: qué pasa con el owner, cómo traduces las etapas del pipeline, qué campos personalizados se migran y cuáles se descartan por no tener base legal o por estar obsoletos. Ese mapa es lo que después alimentará un nodo Code en n8n o un JSON de configuración reutilizable.
Para la carga masiva, el patrón más estable en B2B español es el upsert por email normalizado: leer un lote del origen vía API, transformar con el mapa de campos, buscar si el contacto ya existe en destino y crear o actualizar según corresponda. Trabajar por lotes pequeños —cinco o diez registros al principio— evita bloqueos por rate limit y te permite corregir el mapeo antes de escalar. Un flujo n8n puede automatizar ese ciclo, registrar en una hoja de inventario qué IDs se migraron y avisar por Slack cuando termine cada tanda.
La importación de contactos no sustituye al criterio comercial sobre qué conservar. Notas internas con datos sensibles, campos de scraping antiguos o teléfonos personales que nadie usa ya no deberían copiarse solo porque «estaban en el export». El RGPD exige minimización: migra lo necesario para seguir vendiendo, documenta el cambio en tu registro de actividades de tratamiento y planifica borrado en origen cuando verifiques que el destino es correcto.
Tras los datos viene el reenganche. Clona cada workflow de n8n que escuchaba webhooks del CRM antiguo, cambia credenciales y URLs al nuevo proveedor, prueba con un contacto de prueba y recién entonces desactiva el flujo legacy. Lo mismo aplica si usabas Make u otra herramienta: el objetivo es que el viernes a las 18:00 todo el tráfico nuevo entre por el CRM destino, no por el que estás apagando.
Finalmente, el hosting de n8n importa si la migración dura varios días. Un VPS en Hetzner, OVH o IONOS con Docker Compose mantiene los lotes corriendo fuera de horario comercial Europe/Madrid; n8n Cloud simplifica la operación si prefieres no administrar servidor. Lo que no conviene es ejecutar cargas grandes desde un portátil que se suspende a mitad de un lote.
Contenido con fines educativos y operativos; no constituye asesoramiento financiero, fiscal ni legal.
Por qué las migraciones rompen automatizaciones
Un CRM no es una base de datos aislada: es el hub donde aterrizan formularios, mensajes de WhatsApp, secuencias de outbound y alertas de pipeline. Cuando cambias de plataforma, los contactos pueden viajar en un CSV, pero los identificadores internos, los webhooks y las credenciales OAuth no se transfieren solos.
IDs internos que dejan de existir
cada Lead, contacto o empresa tiene un ID numérico o UUID en el CRM origen. Tus flujos de n8n, Zapier o Make guardan referencias a esos IDs en variables, hojas de cálculo o URLs de webhook. Tras la migración, el destino genera IDs nuevos: cualquier workflow que haga «actualizar Lead 8842» seguirá llamando a un registro que ya no existe o que pertenece al sistema antiguo.
Webhooks que siguen apuntando al CRM viejo
Los webhooks son contratos entre sistemas: «cuando pase X en el CRM, avisa a esta URL». Si migras datos un viernes pero el formulario de la web sigue creando leads en Pipedrive hasta el lunes, tendrás dos fuentes de verdad durante el fin de semana. Peor aún si un flujo de automatizar envío de leads de formulario al CRM con n8n sigue activo contra el origen mientras el equipo opera en el destino.
Campos personalizados sin equivalente
Las automatizaciones suelen leer campos concretos: «si scoring > 70, avisar por Slack». Si el campo personalizado no se creó en el CRM nuevo con el mismo tipo y nombre lógico, el workflow falla en silencio o escribe valores vacíos. Por eso el checklist migración CRM sin perder workflows n8n empieza por el mapa de campos, no por el botón de exportar.
Inventario antes de mover nada
Antes de exportar el primer contacto, documenta todo lo que escribe o lee del CRM origen. Este inventario es la diferencia entre una migración controlada y un lunes caótico.
Qué anotar en la checklist
- Fuentes de entrada: formularios web, Typeform, LinkedIn Lead Gen, importaciones CSV manuales, integraciones de WhatsApp como la descrita en integrar WhatsApp Business con tu CRM vía automatización.
- Flujos n8n activos: nombre del workflow, trigger (webhook, cron, polling), credencial usada, CRM destino de cada nodo.
- Otras herramientas: Make, Zapier, scripts propios, add-ons del CRM.
- Salidas de datos: sincronización con hojas de cálculo (sincronizar leads CRM ↔ hojas de cálculo), dashboards, alertas de Slack o Telegram.
- Usuarios y permisos: owners de Leads, equipos, reglas de asignación por territorio.
Ventana de corte y entorno de prueba
Define una fecha y hora Europe/Madrid en la que dejarás de escribir en origen. Hasta ese momento, congela cambios estructurales: no crees campos nuevos ni renombres pipelines. Monta un sandbox o un pipeline de prueba en el CRM destino para validar el mapeo con cinco contactos reales antes de tocar producción. Si vienes de una comparativa entre plataformas como HubSpot vs Salesforce para equipos B2B con automatización, aprovecha lo aprendido sobre límites de API y campos nativos.
Mapeo de campos origen → destino
El mapa de campos es el documento que traduce la realidad comercial del CRM antiguo al nuevo. Sin él, importarás teléfonos en campos de texto libre, etapas de pipeline en valores que el destino no reconoce y owners que quedan sin asignar.
Contactos, empresas y Leads
Separa el mapeo por objeto. En contactos prioriza email, teléfono E.164, nombre, cargo y owner. En empresas, dominio web y sector. En Leads u oportunidades, traduce etapas con una tabla de equivalencias explícita —«Qualified → SQL», «Proposal sent → Negociación»— en lugar de confiar en que el importador adivine.
Campos personalizados y valores picklist
Lista cada propiedad custom del origen: tipo (texto, número, fecha, select), valores permitidos y si migra o se descarta. Los picklist exigen correspondencia uno a uno; si un valor no existe en destino, créalo antes del lote o mapea a un valor por defecto documentado. Los campos calculados o de solo lectura no se importan: se regeneran en destino si hace falta.
Export nativo, ETL o n8n por lotes
Tres caminos habituales para mover datos entre CRMs. Ninguno reengancha automatizaciones solo; la diferencia está en control, coste y capacidad de deduplicar.
| Criterio | Export / import nativo | ETL (Fivetran, Stitch…) | n8n por lotes (upsert) |
|---|---|---|---|
| Coste inicial | Bajo (incluido en CRM) | Alto (licencia + setup) | Bajo–medio (VPS o n8n Cloud) |
| Deduplicación | Limitada; depende del asistente de import | Configurable en transformaciones | Total control (email, dominio, teléfono) |
| Rate limits API | No aplica (archivo) | Gestionado por el conector | Manual: pausas entre lotes |
| Inventario de workflows | No | No | Sí (registro en Sheets/Slack) |
| Reenganche automatizaciones | No | No | Parcial (mismo stack n8n) |
| Ideal para | <500 contactos, sin integraciones | Data warehouse + BI | Equipos B2B con n8n ya en producción |
Para la mayoría de equipos comerciales B2B en España que ya usan n8n, el upsert por lotes ofrece el mejor equilibrio: ves cada error en el log del workflow, ajustas el mapa y repites sin pagar una licencia ETL. Make puede servir para migraciones puntuales muy simples, pero duplicar lógica entre Make y n8n complica el mantenimiento posterior.
Upsert por lotes con n8n
El patrón recomendado: leer N registros del origen vía HTTP, transformar con un nodo Code, buscar por email en destino, crear o actualizar, registrar el resultado y pausar antes del siguiente lote.
Clave de deduplicación
Normaliza emails a minúsculas, recorta espacios y rechaza dominios personales si tu regla comercial exige email corporativo. Complementa con teléfono E.164 cuando el email falte. El mismo enfoque evita duplicados que el descrito en cómo evitar duplicados de leads al automatizar tu CRM: buscar antes de crear, siempre.
Ejemplo de fieldMap en JSON
Centraliza el mapeo en un objeto que el nodo Code lea en cada iteración. Así cambias traducciones de etapas sin reescribir el flujo entero.
{
"source": "pipedrive",
"destination": "hubspot",
"dedupeKey": "email",
"batchSize": 10,
"fieldMap": {
"person.email": "email",
"person.name": "firstname",
"person.phone": "phone",
"org.name": "company",
"org.website": "website",
"Lead.title": "dealname",
"Lead.value": "amount",
"Lead.stage_id": {
"target": "dealstage",
"map": {
"1": "appointmentscheduled",
"3": "qualifiedtobuy",
"5": "presentationscheduled",
"7": "closedwon"
}
},
"person.owner_id": {
"target": "hubspot_owner_id",
"map": {
"120984": "87654321"
}
}
},
"skipIfMissing": ["email"],
"timezone": "Europe/Madrid"
}
Orden de migración recomendado
Primero empresas (accounts/organizations), después contactos vinculados, luego Leads u oportunidades con la relación correcta. Las actividades y notas van al final: son voluminosas y menos críticas para el arranque del pipeline. Si usas HubSpot, revisa cómo integrar n8n con HubSpot paso a paso para reutilizar credenciales del destino.
Reenganchar webhooks y workflows
Migrar datos cierra la parte histórica; reenganchar automatizaciones evita que el presente siga escribiendo en el CRM equivocado.
Clonar, probar y apagar legacy
Por cada workflow del inventario: duplica el flujo en n8n, sustituye nodos del CRM origen por los del destino, actualiza URLs de webhook en formularios o Meta, ejecuta con un contacto de prueba y compara el resultado en ambos sistemas. Solo cuando el clon funciona, desactiva el flujo antiguo y marca la fila del inventario como «reenganchado».
Webhooks entrantes y salientes
Los webhooks entrantes (formulario → n8n → CRM) cambian la credencial del nodo final. Los salientes (CRM → n8n cuando cambia una etapa) requieren registrar la URL de n8n en el panel del CRM nuevo y validar el secret. El patrón de verificación descrito en webhooks con n8n: guía práctica de integraciones B2B aplica igual tras la migración.
Cron y jobs programados
Los flujos que leían el CRM origen cada hora —reporting, alertas de oportunidades calientes, sync con Sheets— deben actualizar filtros, IDs de pipeline y campos en el nodo de búsqueda. Programa la primera ejecución en horario valle Europe/Madrid para detectar errores sin interrumpir al equipo.
Hosting n8n 24/7 para migraciones largas
Una migración de 15 000 contactos repartida en lotes de 10 puede tardar horas. Necesitas una instancia n8n que no se apague cuando cierras el portátil.
Self-hosted en VPS UE (Hetzner, OVH, IONOS)
Docker Compose con Postgres y WEBHOOK_URL apuntando a tu dominio HTTPS es la opción más económica para equipos que ya administran un VPS en Frankfurt, París o Madrid. Ventajas: datos en UE, control de backups, sin límite de ejecuciones mensuales estricto. Inconveniente: tú aplicas parches y monitorizas disco. Si aún no tienes n8n en servidor, cómo instalar n8n con Docker paso a paso cubre el stack base.
n8n Cloud
n8n Cloud elimina la operación del servidor: actualizaciones, SSL y escalado los gestiona el proveedor. Para una migración puntual de un equipo pequeño puede ser más rápido de arrancar que montar VPS. Revisa límites de ejecución concurrente y ubicación de datos según tu contrato. La comparativa n8n self-hosted vs n8n Cloud ayuda a decidir si el migration sprint justifica Cloud o prefieres VPS permanente.
Nota sobre Make
Make (Integromat) puede mover registros entre CRMs con escenarios visuales, pero mezclar Make para la migración y n8n para producción deja dos stacks que mantener. Si ya estandarizaste n8n, usa Make solo como red temporal si no alcanzas a clonar flujos a tiempo —documenta qué escenario apagará cuándo.
RGPD y minimización de datos
Migrar no es copiar un disco duro entero al CRM nuevo. El Reglamento General de Protección de Datos exige purpose limitation y minimización: solo deben viajar datos con base legal vigente y necesarios para la relación comercial.
Qué revisar antes de importar
- Consentimientos y fuentes de captación: ¿siguen válidos en el destino?
- Notas con datos sensibles (salud, opiniones): ¿hace falta migrarlas?
- Contactos inactivos años sin interacción: ¿conviene archivar en lugar de migrar?
- Transferencia internacional: confirma que el CRM destino procesa en UE o con cláusulas adecuadas.
Documentación y borrado en origen
Actualiza el registro de actividades de tratamiento con el cambio de responsable o encargado si aplica, la fecha de migración y los campos transferidos. Tras verificar muestras en destino, planifica borrado seguro en origen para no duplicar indefinidamente el mismo titular en dos sistemas. Los logs de n8n con emails en texto plano deben rotarse o anonimizarse según tu política de retención.
Fallos habituales en migraciones CRM
Estos errores aparecen una y otra vez en migraciones B2B; conocerlos de antemano ahorra semanas de limpieza manual.
- Import masivo sin dedupe: duplicar cada contacto que ya existía por un formulario reciente. Solución: upsert por email antes de escalar el lote.
- Etapa de pipeline mal traducida: Leads que aparecen como «closed lost» cuando eran «negotiation». Solución: tabla de equivalencias probada con muestra.
- Owner huérfano: el comercial del origen no existe en destino y el Lead queda sin responsable. Solución: mapa owner_id → hubspot_owner_id en el fieldMap.
- Rate limit 429 ignorado: el workflow marca éxito pero la mitad del lote falló. Solución: nodo IF + Wait + reintento exponencial.
- Corte sin congelar entradas: leads nuevos en origen tras la fecha acordada. Solución: redirigir formularios antes de empezar lotes grandes.
- Workflow legacy olvidado: un cron del viernes sigue escribiendo en Pipedrive seis meses después. Solución: inventario con fecha de apagado y revisión mensual hasta cero tráfico en origen.
Preguntas frecuentes
¿Puedo migrar un CRM completo con la exportación CSV nativa sin tocar n8n?
Para volúmenes pequeños y sin automatizaciones externas, a veces basta. En cuanto hay webhooks, Make o flujos n8n apuntando al CRM antiguo, la exportación nativa no reengancha nada: solo mueve filas. n8n sirve para upsert controlado y para documentar qué workflow hay que reconectar después.
¿Qué campo usar como clave de deduplicación al importar contactos?
El email corporativo normalizado suele ser la clave más fiable en B2B. Si falta, combina dominio de empresa + teléfono E.164. Evita usar solo el nombre o un ID interno del CRM origen que el destino no reconoce.
¿Cuántos registros puedo mover por lote con n8n sin saturar la API?
Empieza con 5–10 contactos por ejecución en horario Europe/Madrid, revisa los códigos 429 (rate limit) y sube el batch solo cuando el destino responde estable. HubSpot y Pipedrive tienen límites distintos; ajusta pausas entre lotes si ves throttling.
¿Qué pasa con los workflows de n8n que escuchaban webhooks del CRM antiguo?
Siguen activos pero apuntan a un sistema que dejarás de usar. Antes del corte, clona cada flujo, cambia credenciales y URLs de webhook al CRM nuevo, prueba con un contacto de prueba y solo entonces desactiva el flujo legacy.
¿La migración de datos CRM cumple RGPD si copio todo el histórico?
Copiar campos que ya no tienen base legal o conservar notas con datos sensibles sin necesidad puede incumplir el principio de minimización. Documenta qué campos migras, actualiza el registro de actividades de tratamiento y borra en origen lo que ya no necesites tras verificar el destino.