Español

Integración de WhatsApp Business API con su CRM (configuración que funciona)

Esta es una realidad frustrante: usted logra que fluyan las conversaciones de WhatsApp, los reps responden, los leads expresan interés y luego el 40% de esos contactos nunca aparece en su CRM. No por una limitación técnica, sino porque la integración estaba mal configurada de una forma que falla silenciosamente.

Una manager de RevOps en una empresa B2B SaaS descubrió esto cuando extrajo un reporte de WhatsApp y lo comparó contra HubSpot. La brecha era real y se había acumulado durante dos meses. La corrección tomó una tarde una vez que identificó en qué ruta estaba y qué estaba mal configurado.

Esta guía le explica las tres configuraciones de integración principales: ManyChat hacia HubSpot, Respond.io hacia HubSpot y webhook hacia cualquier CRM, con los pasos específicos de mapeo de campos, lógica de deduplicación y atribución UTM que cada una requiere.

Cómo elegir su ruta de integración

Antes de tocar cualquier configuración, elija su ruta. La decisión depende de su stack de herramientas actual y su CRM. Según la documentación oficial de Meta para WhatsApp Business Platform, la Business API admite tres niveles de autenticación con diferentes capacidades de mensajería. Su ruta de integración determina cuál nivel aplica a su caso de uso. Si aún está decidiendo qué plataforma de chat se ajusta mejor a su flujo de trabajo, la comparación entre Respond.io y ManyChat para ventas B2B desglosa las diferencias con claridad.

Ruta Ideal para Requisito técnico Profundidad de sincronización
ManyChat hacia HubSpot Equipos que ya usan ManyChat para flujos Baja (conector nativo) Contacto + propiedades personalizadas
Respond.io hacia HubSpot Equipos que usan Respond.io como inbox principal Baja (conector nativo) Contacto + lifecycle stage + historial de conversación
Webhook hacia cualquier CRM Salesforce, Pipedrive, CRMs personalizados Media (requiere Zapier o Make) Configurable vía payload del webhook

Si está en HubSpot y construye flujos activamente en ManyChat, use la Ruta A. Si opera todas las conversaciones a través de Respond.io, la Ruta B ofrece una sincronización más profunda. Si su CRM no es HubSpot, la Ruta C es su opción.

Ruta A: ManyChat hacia HubSpot

Activar la integración

En ManyChat, vaya a Settings, luego Integrations y seleccione HubSpot. Necesitará:

  • Una cuenta de HubSpot con acceso a Contacts
  • Un rol de administrador en ManyChat
  • API key de HubSpot o conexión OAuth (se prefiere OAuth)

Haga clic en Connect, autorice la conexión con HubSpot y confirme el portal vinculado.

Permisos requeridos en HubSpot

El usuario de HubSpot que realiza la conexión necesita como mínimo: Contacts (ver y editar), Properties (ver) y Workflows (ver). Si usa workflows de HubSpot disparados por datos de ManyChat, añada Workflows (editar).

Mapeo de campos de contacto

Los datos de suscriptores de ManyChat se mapean a propiedades de contacto en HubSpot. Este es el mapeo predeterminado y lo que querrá personalizar:

Campo de ManyChat Propiedad en HubSpot Notas
First Name firstname Auto-mapeado
Last Name lastname Auto-mapeado
Phone phone Mapea al teléfono principal (verifique el formato E.164)
Email email Solo presente si se recopiló en el flujo
Atributo personalizado: company_size company_size (personalizado) Debe crear la propiedad primero en HubSpot
Atributo personalizado: industry industry Mapea a propiedad estándar de HubSpot
Atributo personalizado: use_case hs_lead_status (personalizado) Cree un campo personalizado para esto
Fuente del flujo (ad ID) hs_analytics_source Requiere configuración de passthrough UTM

Para mapear un atributo personalizado, vaya a ManyChat, luego Integrations, luego HubSpot, luego Field Mapping y añada una nueva fila. La propiedad de HubSpot debe existir antes de que pueda mapearse a ella. Créela primero en HubSpot bajo Contacts, luego Properties.

Asignación del propietario del contacto

ManyChat puede asignar un propietario de contacto en HubSpot con base en round-robin o un propietario fijo. Configure esto en la configuración de integración de HubSpot, bajo Default Owner. Para equipos con enrutamiento por territorio, deberá usar un workflow de HubSpot disparado en la creación del contacto para reasignar según empresa o región.

Qué sincroniza y qué no

ManyChat sincroniza propiedades de contacto y opcionalmente envía una nota con el resumen de la conversación. No sincroniza transcripciones completas de conversación a HubSpot de forma nativa. Para historial de conversación, necesita la Ruta B o una solución vía webhook.

La integración tampoco actualiza los contactos en tiempo real por cada mensaje. Se dispara en eventos específicos dentro de su flujo (generalmente en el opt-in o cuando un paso del flujo ejecuta la acción de HubSpot).

Ruta B: Respond.io hacia HubSpot

Conexión vía el módulo nativo de HubSpot en Respond.io

En Respond.io, vaya a Settings, luego Integrations y seleccione HubSpot. Se autenticará vía OAuth. Respond.io requiere una cuenta de administrador de HubSpot para la conexión inicial.

Una vez conectado, Respond.io crea una sincronización bidireccional: los contactos creados en Respond.io aparecen en HubSpot y los contactos existentes en HubSpot pueden traerse a las conversaciones de Respond.io.

Mapeo de lifecycle stage

Respond.io puede actualizar los lifecycle stages de HubSpot con base en eventos de conversación. Configure esto en la configuración de integración de HubSpot:

  • Nuevo contacto desde WhatsApp: Lead
  • Preguntas de calificación completadas: Marketing Qualified Lead
  • Reunión agendada: Sales Qualified Lead

Configure estos mapeos para que se disparen automáticamente cuando el paso correspondiente en su flujo se complete.

Deduplicación de contactos por número de teléfono

Respond.io usa el número de teléfono como clave primaria de deduplicación al sincronizar con HubSpot. Si ya existe un contacto en HubSpot con el mismo número de teléfono en formato E.164, Respond.io actualiza el registro existente en lugar de crear un duplicado.

La trampa: el formato del número de teléfono debe coincidir exactamente. Si HubSpot tiene "+1 (555) 000-0000" y Respond.io envía "+15550000000", no se deduplicarán. Estandarice todos los números de teléfono al formato E.164 en ambos sistemas. En HubSpot, puede usar un workflow con la acción "Format phone number" para normalizar los registros existentes.

Opciones de sincronización del historial de conversación

Respond.io puede enviar el historial de conversación a HubSpot como una nota en el registro del contacto. Actívelo en la integración de HubSpot, bajo Sync Options, luego Log Conversations. Cada conversación se convierte en una nota con marca de tiempo y el intercambio completo.

Esta es la mayor ventaja de la Ruta B sobre la Ruta A para equipos que quieren que los reps vean el contexto antes de llamar a un lead originado por chat.

Ruta C: Webhook hacia cualquier CRM

Estructurar el payload del webhook de Respond.io

Respond.io admite webhooks salientes disparados por eventos de conversación (nuevo contacto, mensaje recibido, paso de flujo completado). Configure estos en Settings, luego Developer y luego Webhooks.

Un ejemplo de payload cuando un contacto completa un paso de flujo de calificación:

{
  "event": "contact.updated",
  "contact": {
    "id": "abc123",
    "phone": "+15550001234",
    "firstName": "Jane",
    "lastName": "Chen",
    "customAttributes": {
      "company_size": "50-200",
      "use_case": "sales_automation",
      "timeline": "Q2_2026",
      "source_ad_id": "23849572894"
    },
    "createdAt": "2026-04-18T09:32:00Z",
    "optInTimestamp": "2026-04-18T09:31:47Z"
  },
  "conversation": {
    "id": "conv_xyz789",
    "channel": "whatsapp"
  }
}

Construir el Zap en Zapier o Make

En Zapier:

  1. Disparador: Webhooks by Zapier, opción Catch Hook
  2. Copie la URL del webhook en Respond.io
  3. Envíe un contacto de prueba por el flujo para poblar datos de muestra
  4. Acción: Crear o actualizar contacto en su CRM
  5. Mapee los campos del payload del webhook a los campos del CRM
  6. Añada un paso de filtro: proceder solo si phone no está vacío

En Make (antes Integromat), use el módulo Webhooks como disparador y luego dirija al módulo Crear/Actualizar Contacto de su CRM.

Cómo manejar el problema del formato de número de teléfono

WhatsApp siempre envía números de teléfono en formato E.164. La mayoría de los CRMs aceptan E.164, pero algunos (especialmente Salesforce) tienen requisitos de formato local. Añada un paso de formateador de texto en Zapier o Make para eliminar el prefijo del código de país o reformatear según sea necesario antes de que se ejecute la acción del CRM.

Atribución UTM y de fuente

Cuando un contacto ingresa a su Funnel de WhatsApp desde un anuncio de Meta, los datos de la fuente del anuncio lo acompañan, pero solo si ha configurado correctamente el traspaso. Para la configuración completa de anuncios que alimenta este Pipeline de atribución, consulte la guía sobre campañas de anuncios Click-to-WhatsApp.

Meta pasa un parámetro ad_id y campaign_id cuando la conversación se inicia desde un anuncio Click-to-WhatsApp. Respond.io los captura automáticamente en los metadatos de la conversación. ManyChat los captura como variables User Input si añadió el paso de fuente de anuncio de Meta a su flujo.

Para obtener atribución a nivel de campaña en su CRM:

  1. Almacene ad_id, ad_set_id y campaign_id como atributos personalizados en su plataforma de chat
  2. Inclúyalos en su mapeo de campos o payload de webhook hacia el CRM
  3. Cree una propiedad personalizada en HubSpot llamada "WhatsApp Campaign Source" mapeada a campaign_id
  4. Construya un reporte en HubSpot filtrado por "WhatsApp Campaign Source" para ver el Pipeline por campaña

Esto le da una vista simple de campaña hacia Pipeline sin necesitar una herramienta de atribución de terceros.

Reglas de deduplicación

Cuando el mismo número de teléfono ingresa a su Funnel varias veces (común en campañas de retargeting), su integración necesita una regla clara. Esto es especialmente relevante cuando la automatización de captura de leads está captando contactos de múltiples canales simultáneamente.

El orden de prioridad:

  1. Coincidencia por número de teléfono primero (normalizado a E.164)
  2. Si hay coincidencia: actualizar el registro existente, no crear uno nuevo
  3. Si no hay coincidencia: crear nuevo contacto y marcarlo como nuevo lead
  4. Si el teléfono coincide pero el email es diferente: actualizar el email solo si el registro existente no tiene email

En HubSpot, la deduplicación nativa solo coincide por email de forma predeterminada. Para la deduplicación por teléfono, use un workflow de HubSpot: dispárelo en la creación del contacto, busque el contacto existente por número de teléfono y, si se encuentra, fusione los registros usando un paso de código personalizado o una aplicación de deduplicación de terceros como Dedupely.

En Salesforce, use reglas de duplicados en Setup, bajo Duplicate Management, con una regla de coincidencia en el campo Phone. Un estudio de Gartner sobre calidad de datos en CRM encontró que la baja calidad de datos le cuesta a las organizaciones un promedio de 12,9 millones de dólares al año. La deduplicación por teléfono es una de las correcciones más rentables.

Prueba de la integración

Ejecute esta secuencia de 6 pasos antes de salir en vivo:

  1. Pásese usted mismo por el flujo completo de WhatsApp usando un número de teléfono de prueba
  2. Verifique en su plataforma de chat (ManyChat o Respond.io) que el contacto fue creado con todos los atributos personalizados completados
  3. Espere 2 o 3 minutos y luego revise su CRM para confirmar que hay un nuevo contacto con el número de teléfono correspondiente
  4. Verifique que cada campo mapeado llegó con el valor correcto, especialmente los atributos personalizados
  5. Compruebe que el propietario del contacto fue asignado correctamente
  6. Envíe una segunda prueba con el mismo número de teléfono para verificar la deduplicación (actualización, no duplicado)

Si el paso 3 falla: primero verifique el estado de la conexión de su integración, luego revise el registro de eventos en su plataforma de chat para ver errores de sincronización.

Si el paso 4 falla con atributos personalizados faltantes: confirme que el atributo se completó durante el flujo (revise el registro del contacto en ManyChat o Respond.io) y que el mapeo de campos está configurado correctamente.

Errores comunes

Incompatibilidad en el formato del número de teléfono. El fallo más común por amplio margen. Normalice todo a E.164 antes de construir cualquier mapeo. Chat funnels conformes con GDPR para compradores en la UE cubre los requisitos adicionales para el almacenamiento de números de teléfono si sus contactos están en la Unión Europea.

Falta de marca de tiempo del opt-in. Tanto GDPR como la política de WhatsApp Business exigen que registre cuándo un usuario hizo opt-in. Almacene la marca de tiempo del opt-in como un campo del CRM desde el primer día, no como un añadido posterior.

CRM que bloquea registros sin email. HubSpot y Salesforce pueden configurarse para exigir email al crear un contacto. Los contactos de WhatsApp frecuentemente no tienen email recopilado. Puede eliminar el requisito de email para contactos originados por chat o recopilar el email como paso en el flujo.

Conflictos de tipo de propiedad en HubSpot. Si mapea un atributo de texto de ManyChat a una propiedad numérica de HubSpot, la sincronización fallará silenciosamente. Haga coincidir exactamente los tipos de propiedad: texto con texto, número con número, dropdown con dropdown.

Próximos pasos

Una vez confirmada la integración, construya una vista en su CRM filtrada por "WhatsApp Campaign Source is not empty". Combine esta vista con un sólido diseño del modelo de datos del CRM para que sus propiedades de chat personalizadas estén en un esquema consistente desde el inicio. Esta será su vista permanente para monitorear el Pipeline originado por chat. Revísela semanalmente frente a sus otras fuentes de leads para ver la contribución del canal.

A partir de ahí, conecte los puntos de atribución con los ingresos. Cuando un lead originado por chat cierra, etiquete el deal con la fuente de campaña original. Después de 60 días tendrá suficientes datos para optimizar el gasto en anuncios hacia las campañas que generan no solo conversaciones, sino ingresos cerrados.

Más recursos