Configuración de Respond.io con HubSpot de Principio a Fin

Un equipo de RevOps en una empresa SaaS en etapa de crecimiento ejecutó Respond.io durante 60 días antes de que alguien revisara su lista de contactos de HubSpot. Cuando miraron, encontraron 800 registros duplicados, algunos contactos duplicados 4 o 5 veces, con el historial de conversaciones dividido entre múltiples registros y sin una vista limpia única del cliente.

La causa: la configuración de sincronización predeterminada de Respond.io crea un nuevo contacto de HubSpot para cada conversación, independientemente de si ese número de teléfono o email ya existe en su CRM. Tres cambios de configuración resolvieron el problema. Pero para entonces, el equipo ya había gastado 2 días limpiando la base de datos.

Esta guía cubre la configuración de integración que previene ese escenario, desde la conexión inicial hasta la sincronización de conversaciones, creación de deals y asignación de representantes.

Requisitos previos

Antes de comenzar la integración:

  1. Cuenta de Respond.io con al menos un canal conectado (WhatsApp Business API, Instagram DM o widget de chat del sitio web).
  2. Cuenta de HubSpot con acceso a la API habilitado. Necesita al menos HubSpot Starter para acceder al menú de Integraciones.
  3. Token de aplicación privada de HubSpot: no use una clave API (HubSpot las deprecó). En HubSpot, vaya a Configuración → Integraciones → Aplicaciones privadas → Crear una aplicación privada. Nómbrela "Integración Respond.io" y otorgue permisos: crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.deals.write, conversations.read, oauth. Copie el token, lo necesitará en Respond.io.
  4. Acceso de administrador en ambas plataformas: necesita derechos de administrador en Respond.io para configurar integraciones, y administrador o superadministrador en HubSpot para crear propiedades personalizadas.

Paso 1: Conecte Respond.io a HubSpot vía la integración nativa

En Respond.io, vaya a Configuración → Integraciones → HubSpot. Haga clic en Conectar.

El flujo OAuth le pedirá que inicie sesión en HubSpot y otorgue acceso a Respond.io a su portal. Después de que se complete el OAuth, regresará a Respond.io con una confirmación de que la conexión está activa.

Pero no se detenga ahí. La configuración predeterminada después del OAuth no es correcta para la mayoría de los equipos.

En la página de configuración de integración de HubSpot en Respond.io:

  • Sincronizar todos los contactos: deshabilitado. No quiere que cada visitante anónimo del chat de sitio web se sincronice con HubSpot. Habilite la sincronización de contactos solo para conversaciones donde tiene un identificador (email o teléfono).
  • Crear contactos automáticamente: establezca en "Solo para contactos identificados" (contactos donde se ha recopilado al menos un número de teléfono o email).
  • Etapa del ciclo de vida predeterminada: establezca en "Lead" para nuevos contactos, no "Suscriptor".

Paso 2: Reglas de coincidencia de contactos (aquí es donde vienen los duplicados)

Respond.io hace coincidir una conversación con un contacto de HubSpot existente usando uno de tres identificadores: dirección de email, número de teléfono o ID de WhatsApp. El orden importa.

La prioridad de coincidencia predeterminada es: Email → Teléfono → ID de WhatsApp.

Para un funnel con mucho WhatsApp, esto es al revés. La mayoría de las conversaciones de WhatsApp no tienen una dirección de email al inicio. La recopila más adelante en el flujo de calificación. Si Respond.io intenta hacer coincidir por email primero y no encuentra ninguno, crea un nuevo contacto. Luego cuando llega el email más tarde, crea otro contacto que coincide por email. Resultado: dos contactos para la misma persona.

Cambie la prioridad de coincidencia a: Teléfono → ID de WhatsApp → Email.

Los números de WhatsApp están vinculados a números de teléfono, por lo que esta coincidencia es confiable desde el primer mensaje. Actualice esto en Configuración → Integraciones → HubSpot → Coincidencia de contactos.

También habilite Deduplicación en coincidencia: cuando Respond.io encuentra un contacto de HubSpot existente que coincide con el número de teléfono, actualiza el registro en lugar de crear uno nuevo. Esta única configuración previene aproximadamente el 70% de la creación de duplicados.

Paso 3: Mapeo de campos

En la configuración de integración de HubSpot de Respond.io, vaya a la pestaña Mapeo de campos. Esto controla qué atributos de contacto de Respond.io se sincronizan con qué propiedades de contacto de HubSpot.

Los campos predeterminados que se sincronizan bien de forma predeterminada: Nombre, Apellido, Email, Teléfono. Pero necesita agregar campos personalizados para capturar datos específicos de chat que las propiedades estándar de HubSpot no tienen.

Primero, cree estas propiedades de contacto personalizadas en HubSpot (Configuración → Propiedades → Crear propiedad):

  • Último canal de chat: texto de línea única (ej. WhatsApp, Instagram, Chat del sitio web)
  • Puntuación de calificación de chat: número
  • Fuente del lead de chat: texto de línea única (ej. Anuncio Meta, WhatsApp orgánico, Sitio web)
  • Fecha del primer contacto (chat): selector de fecha
  • Respuestas de calificación: texto de múltiples líneas

Luego mapéelos en Respond.io:

Campo Respond.io Propiedad HubSpot
Nombre Nombre
Apellido Apellido
Email Email
Teléfono Número de teléfono
Canal Último canal de chat (personalizado)
Fuente del contacto Fuente del lead de chat (personalizado)
Creado en Fecha del primer contacto (chat) (personalizado)
Personalizado: Puntuación de calificación Puntuación de calificación de chat (personalizado)

Paso 4: Configuración de sincronización de conversaciones

Respond.io puede sincronizar mensajes de conversación al timeline de contacto de HubSpot. Esto es útil pero crea mucho ruido si sincroniza todo.

La configuración predeterminada sincroniza cada mensaje, incluyendo mensajes automatizados del bot, mensajes del sistema y notas internas.

En Configuración → Integraciones → HubSpot → Sincronización de conversaciones, cambie:

  • Sincronizar conversaciones: Sí, pero solo para conversaciones con estado = "Resuelto" o donde se ha asignado un humano (no conversaciones puras del bot)
  • Sincronizar mensajes del bot: No
  • Sincronizar notas internas: No (estas son para su equipo, no para el registro del CRM)
  • Sincronizar archivos adjuntos: Sí, pero solo imágenes y documentos (no reacciones de emoji o notas de voz)

Una regla práctica más limpia: sincronice un resumen de conversación con HubSpot cuando la conversación llega a un estado terminal (calificado, descalificado o transferido). Una entrada del timeline con un resumen es más útil que 30 entradas que muestran cada mensaje del bot.

Paso 5: Automatización de creación de deals

Cuando un lead califica en su flujo de Respond.io, quiere que se cree automáticamente un Deal de HubSpot, no manualmente por un representante.

En Respond.io, vaya a Workflows → Nuevo Workflow. Configure el disparador en: Atributo de contacto cambiado → Puntuación de calificación → es mayor que → [su umbral].

Acciones en el workflow:

  1. Actualizar contacto: establecer Etapa del ciclo de vida = MQL, Estado del lead = Nuevo
  2. Crear Deal de HubSpot: Título = "Lead de chat: [Nombre del contacto]", Pipeline = [su pipeline de ventas], Etapa = "Nuevo lead", Monto = dejar en blanco, Propietario = [asignación round-robin]
  3. Asignar conversación: asigne la conversación de Respond.io al representante que fue asignado al deal
  4. Enviar notificación al representante: Slack o email con enlace al deal y enlace a la conversación

La lógica del workflow en términos sencillos: cuando un contacto supera su umbral de calificación, muévalo automáticamente a MQL, cree un deal en el pipeline, asigne el deal a un representante y notifique a ese representante.

Paso 6: Asignación de representantes (coincidencia de Respond.io con HubSpot)

La integración no refleja automáticamente los dueños de contactos de HubSpot a los asignados de conversaciones de Respond.io. Tiene que configurarlo.

Dos enfoques:

Opción A (Respond.io a HubSpot): cuando se asigna un representante a una conversación en Respond.io, sincronice esa asignación al Dueño del contacto de HubSpot. Configure esto en Configuración → Integraciones → HubSpot → Sincronizar asignación. Habilite "Sincronizar asignado al dueño del contacto de HubSpot".

Opción B (HubSpot a Respond.io): cuando se establece o cambia un Dueño del contacto de HubSpot, actualice el asignado de conversación de Respond.io. Esto requiere un workflow de HubSpot que llame a la API de Respond.io. Útil si su equipo asigna deals en HubSpot primero.

Para la mayoría de los equipos, la Opción A es más simple. Los representantes trabajan en Respond.io para chat; HubSpot refleja esa asignación.

Para los contactos sin asignar (nuevos leads sin representante todavía), configure round-robin en Respond.io: Configuración → Equipos → [Su equipo de ventas] → Asignación → Round Robin.

Paso 7: Pruebas (5 escenarios antes de la sincronización completa)

Ejecute estos escenarios de prueba antes de habilitar la integración para toda su lista de contactos:

Escenario de prueba Cómo ejecutar Resultado esperado
Nuevo contacto solo con teléfono Envíe un mensaje de WhatsApp desde un número que no esté en HubSpot Nuevo contacto de HubSpot creado con teléfono; sin duplicado
Contacto existente envía mensaje de nuevo Use el mismo número de la prueba 1 Contacto de HubSpot existente actualizado, no duplicado
Flujo de calificación se completa Recorra su flujo completo del bot como lead caliente Etapa del ciclo de vida MQL establecida; deal creado en pipeline; representante notificado
Contacto con teléfono y email Complete el flujo y recopile email Un solo contacto con ambos campos; sin segundo contacto para email
Representante asigna conversación Asigne la conversación de prueba a un representante en Respond.io El dueño del contacto de HubSpot se actualiza a ese representante

Revise HubSpot después de cada prueba antes de pasar a la siguiente.

Paso 8: Ejecutando la primera sincronización real

No habilite la sincronización para todos los contactos de una vez. Comience con un grupo controlado:

  1. En Respond.io, filtre contactos por etiqueta = "Prueba" o por un rango de fechas (ej. conversaciones de ayer solamente)
  2. Habilite la sincronización solo para este grupo filtrado
  3. Revise HubSpot después de 30 minutos. Verifique los registros, busque duplicados, confirme los valores de los campos.
  4. Si está limpio, expanda la sincronización a los últimos 7 días de conversaciones
  5. Ejecute otra auditoría. Extraiga un informe de HubSpot para contactos creados en los últimos 7 días con fuente = "Respond.io" y verifique al menos 20 registros.

Solo después de dos auditorías limpias debe habilitar la sincronización para todos los contactos y todas las conversaciones nuevas.

Errores comunes

Sincronizar todos los contactos en lugar de solo los identificados. Los visitantes anónimos del chat del sitio web que nunca proporcionaron su nombre, teléfono o email crearán contactos en blanco de HubSpot sin datos utilizables.

No establecer una prioridad de coincidencia. La coincidencia predeterminada por email primero causa duplicados para contactos de WhatsApp que proporcionan email más tarde en el flujo. Cambie a coincidencia por teléfono primero antes de habilitar la sincronización completa.

Sincronización de conversaciones sin filtro. Sincronizar cada mensaje del bot a los timelines de HubSpot entierra los contactos en ruido.

Expiración del token de aplicación privada de HubSpot. Los tokens de aplicación privada no expiran, pero si alguien revoca la aplicación o la integración se reconecta con un nuevo token, la sincronización se rompe silenciosamente. Establezca un recordatorio de calendario mensual para verificar el estado de la integración en el panel de configuración de integraciones de Respond.io.

Qué hacer después

Ejecute una sincronización de prueba de 50 contactos usando conversaciones de la semana pasada. Busque duplicados en HubSpot ejecutando un informe de Contactos filtrado por "Fecha de creación = últimos 7 días Y Fuente = Respond.io" y escanee los registros en busca de números de teléfono duplicados.

Una vez que la prueba esté limpia, habilite la sincronización completa y pase a construir sus reglas de enrutamiento de asignación de representantes.

Más información