TL;DR: Configura un webhook de Whapi.Cloud como oyente en el disparador de webhook entrante de GoHighLevel, agrega tu URL de webhook de GHL a la configuración de Whapi, establece reglas de creación de contacto en GHL por número de teléfono, luego agrega webhooks salientes desde las acciones de GHL de vuelta a las llamadas API de Whapi. Este tubo bidireccional permite que los eventos de WhatsApp (mensajes, uniones a grupos, cambios de contacto) activen flujos de trabajo en GHL, y los flujos de trabajo de GHL envíen mensajes de WhatsApp de vuelta. Un ejemplo práctico: miembro del grupo se une a WhatsApp → webhook se dispara → GHL crea/encuentra contacto → agrega etiqueta → flujo de trabajo envía mensaje de bienvenida → contacto está listo para automatización de ventas.
Cómo funciona la integración de WhatsApp y GoHighLevel
Sincronización bidireccional entre WhatsApp y GoHighLevel es un patrón donde Whapi.Cloud actúa como puente. Los eventos de WhatsApp (mensajes entrantes, cambios de pertenencia a grupos, estado de contacto) fluyen desde tu número de WhatsApp a través de webhooks de Whapi hacia GHL, activando flujos de trabajo y actualizaciones de contactos. Los flujos de trabajo de GHL luego envían datos de vuelta a WhatsApp a través de webhooks salientes, enviando mensajes, actualizando campos de contacto o registrando actividad. Esto no requiere aprobación de Meta, sin pre-registro de plantillas y sin asociaciones con operadores: solo tres servicios conectados por webhooks HTTP.
Qué datos puedes sincronizar entre WhatsApp y GoHighLevel
El valor real llega aquí. La integración de WhatsApp-GHL no se trata de espejo: se trata de automatizar el siguiente paso en tu flujo de trabajo con clientes.
-
Contactos: número de teléfono de WhatsApp → GHL encuentra o crea un contacto; nombre, apellido y campos personalizados se sincronizan en una dirección (WhatsApp → GHL) o bidireccional si GHL tiene un webhook saliente.
-
Mensajes: mensaje entrante de WhatsApp → conversación de GHL creada o actualizada; flujo de trabajo de GHL llega a una acción "enviar mensaje de WhatsApp" → llamada a API de Whapi envía el mensaje de vuelta al cliente.
-
Eventos de grupo: miembro se une a grupo de WhatsApp, miembro se va, promoción de miembro → webhook de Whapi se dispara → webhook entrante de GHL activa un flujo de trabajo (etiquétalo, asigna propietario, envía bienvenida, crea tarea).
-
Etiquetas y campos personalizados: GHL puede etiquetar contactos basándose en comportamiento de WhatsApp (ej., etiqueta "miembro-grupo-whatsapp"); esas etiquetas pueden activar flujos de trabajo posteriores (secuencias de nutrición, reglas de asignación, filtros de informes).
-
Disparadores de flujo de trabajo: cualquier flujo de trabajo de GHL puede escuchar el tipo de evento de webhook entrante y ejecutar acciones basadas en la carga útil (lógica condicional, llamadas API, secuencias de múltiples pasos).
Arquitectura de sincronización bidireccional
Este es el concepto crítico. La mayoría de los equipos piensan en la integración de WhatsApp como unidireccional: los mensajes salen, pero nada regresa. Whapi + GHL es diferente porque GoHighLevel orquesta la ruta de retorno.
Aquí está el flujo:
ENTRANTE (WhatsApp → Whapi → GHL):
1. Cliente actúa en WhatsApp
(envía mensaje, se une a grupo, actualiza estado, etc.)
2. Whapi.Cloud recibe el evento
y dispara un webhook a tu URL de webhook entrante de GHL
Carga útil: { event, phone, name, group_id, timestamp, ... }
3. Disparador de Webhook Entrante de GHL
recibe la carga útil JSON
La valida (verificación de firma opcional)
Extrae datos: teléfono, nombre, tipo de evento
4. Flujo de trabajo de GHL se ejecuta
Encuentra o Crea Contacto (por teléfono)
Agrega Etiquetas (ej., "miembro-grupo-whatsapp")
Actualiza Campos Personalizados
Activa flujos de trabajo anidados (envía email, SMS, WhatsApp, asigna propietario)
SALIENTE (GHL → Whapi → WhatsApp):
5. Acción de Flujo de Trabajo de GHL se dispara
(ej., "Enviar Mensaje de WhatsApp" webhook personalizado)
6. Webhook Personalizado Llama API de Whapi
POST https://gate.whapi.cloud/messages/text
Cuerpo: { to: phone, body: message_text }
Encabezados: Authorization: Bearer YOUR_WHAPI_TOKEN
7. Whapi envía el mensaje a través de WhatsApp
al número del cliente
8. Cliente recibe el mensaje en WhatsApp
(sin notificación de aplicación, solo aparece en chat)
9. (Opcional) Webhook de Whapi se dispara de vuelta a GHL
marcando el mensaje como entregado/leído
Conversación de GHL se actualiza con estado de entrega
Paso 1: Conecta eventos de WhatsApp a GoHighLevel
Comienza aquí: configura el webhook entrante en GoHighLevel para recibir eventos de WhatsApp de Whapi.
En GoHighLevel:
- Ve a Flujos de Trabajo → crea un nuevo flujo de trabajo (o abre uno existente).
- Agrega un Disparador: busca "Inbound Webhook".
- GHL genera una URL de webhook única: se ve así:
https://api.gohighlevel.com/webhooks/[WORKSPACE_ID]/[TRIGGER_ID] - Copia esta URL. La pegarás en la configuración de Whapi.
En Whapi.Cloud (panel.whapi.cloud):
- Ve a Configuración → Webhooks.
- Agrega una nueva URL de webhook. Pega la URL de webhook entrante de GHL que copiaste arriba.
- Selecciona los tipos de evento que deseas recibir:
message.created(mensajes entrantes)group.member.joined(eventos de pertenencia a grupo)contact.status_changed(en línea/sin conexión, escribiendo, etc.)
- Guarda. Whapi probará el webhook enviando un evento de prueba a GHL.
- Si GHL lo recibe, verás una marca de verificación verde. Si no, verifica que el disparador de flujo de trabajo de GHL esté activo.
En este punto, los eventos de WhatsApp fluyen hacia GHL. Ahora puedes construir el flujo de trabajo que los procesa.
Paso 2: Crea y actualiza contactos en GHL desde WhatsApp
GHL debe reconocer a la persona que envía el mensaje de WhatsApp. El enfoque estándar: coincide por número de teléfono (o crea un nuevo contacto si el número es desconocido).
Dentro de tu flujo de trabajo de GHL (después del disparador Webhook Entrante):
- Agrega una acción: Encuentra o Crea Contacto.
- Establece el campo de coincidencia en Teléfono.
- Asigna el número de teléfono de carga útil de webhook entrante al campo de teléfono de contacto.
- Ruta de carga útil:
${trigger.body.data.phone}(ajusta según la forma de tu carga útil de webhook de Whapi)
- Ruta de carga útil:
- Si existe un contacto con ese teléfono, GHL lo encuentra. Si no, GHL crea un nuevo contacto con:
- Teléfono:
${trigger.body.data.phone} - Nombre:
${trigger.body.data.name}(opcional; establece un valor predeterminado como "Contacto de WhatsApp" si no se proporciona)
- Teléfono:
Almacena el contacto para uso posterior. GHL expondrá el ID de contacto en una variable (ej., ${contact.id}) que puedes usar en acciones posteriores.
Paso 3: Sincroniza mensajes de WhatsApp con conversaciones de GHL
Después de que el contacto sea creado o encontrado, GHL puede ingerir el mensaje de WhatsApp en una Conversación de GHL. Aquí es donde la sincronización bidireccional se vuelve visible: el mensaje aparece en GHL como si viniera de un canal SMS o email, porque para GHL, un evento de webhook de Whapi es solo otro mensaje entrante.
Mensaje entrante (WhatsApp → GHL): La acción de Webhook Entrante de GHL crea o actualiza automáticamente una Conversación para el contacto coincidido. El cuerpo del mensaje se almacena en el hilo de conversación.
Mensaje saliente (GHL → WhatsApp): Esto requiere un webhook personalizado (o una acción específica de Whapi si GHL la ha integrado directamente, aunque la mayoría de los equipos usan webhooks personalizados para máxima flexibilidad).
Agrega una acción a tu flujo de trabajo de GHL:
- Webhook Personalizado (o "Enviar Solicitud HTTP").
- Establece método en POST.
- URL:
https://gate.whapi.cloud/messages/text - Encabezados:
Authorization: Bearer YOUR_WHAPI_TOKENContent-Type: application/json
- Cuerpo (JSON):
to: número de teléfono del contacto (ej.,${contact.phone})body: texto del mensaje (ej.,"Welcome to our group!")
{
"to": "+1234567890",
"body": "¡Bienvenido al grupo, Juan! Nos emociona tenerte. Verifica los mensajes fijados para actualizaciones importantes."
}
Cuando GHL ejecuta esta acción, el mensaje se envía a WhatsApp a través de Whapi. El cliente lo recibe en su chat de WhatsApp instantáneamente (sin demoras, sin cola).
Ejemplo real: Unirse a un grupo de WhatsApp → Flujo en GHL → Mensaje de bienvenida
Aquí es donde la teoría se encuentra con la realidad. Un equipo ejecuta un grupo de WhatsApp para sus agentes de Bienes Raíces. Los nuevos agentes son invitados al grupo. Cuando se unen, un flujo de trabajo automatizado debe: reconocerlos, etiquetarlos, asignar un gerente y enviar un mensaje de bienvenida con enlaces importantes.
El evento de webhook (de Whapi):
{
"event": "group.member.joined",
"phone": "+1987654321",
"name": "Sarah Martinez",
"group_id": "[email protected]",
"group_name": "Real Estate Team - North Region",
"timestamp": 1695283200
}
Pasos del flujo de trabajo de GHL (en orden):
- Disparador: Webhook Entrante recibe el evento
group.member.joined. - Encuentra o Crea Contacto: Busca por teléfono
+1987654321. Sarah es nueva, así que GHL crea un contacto con nombre "Sarah Martinez". - Agrega Etiquetas: Agrega
"miembro-grupo-whatsapp"y"inmobiliario-región-norte"al contacto de Sarah. - Asigna Propietario: Dirige al gerente de la Región Norte (ej., a través de una regla de flujo de trabajo: si la etiqueta = "inmobiliario-región-norte", asigna al propietario "[email protected]").
- Crea Tarea: "Bienvenido a Sarah al equipo: envía documentos de incorporación".
- Webhook Personalizado (Enviar WhatsApp): Llama API de Whapi para enviar un mensaje de bienvenida personalizado al número de Sarah.
- Mensaje:
"¡Bienvenida, ${contact.firstName}! Ahora eres parte del Equipo Inmobiliario. Verifica tu email para documentos de incorporación. ¿Preguntas? Responde aquí."
- Mensaje:
- Registra Nota: Agrega una nota al contacto de Sarah: "Se unió al grupo de WhatsApp el [fecha]. Flujo de trabajo ejecutado."
El resultado: Sarah se une a un grupo de WhatsApp, y en segundos su gerente ve un nuevo contacto (Sarah) etiquetado y asignado, se crea una tarea, y Sarah recibe un mensaje de bienvenida personalizado explicando qué sigue. Este patrón se escala a cientos de uniones a grupos por día.
Crea más flujos de trabajo en GoHighLevel con eventos de WhatsApp
El ejemplo de unión a grupo es un patrón. Aquí hay otros que puedes construir una vez que el tubo bidireccional esté activo:
-
Nuevo mensaje de cliente → creación de ticket: el mensaje entrante de WhatsApp activa la creación de un ticket; si no existe un ticket abierto, dirige a cola de soporte y envía respuesta automática: "Recibimos tu mensaje. El soporte responde en 2 horas."
-
Flujo de trabajo de abandono de contacto: contacto no activo en WhatsApp durante 30 días → GHL envía mensaje de re-engagement de WhatsApp, seguimiento con email, crea tarea de ventas.
-
Actualizaciones de estado de pedido: cliente etiquetado "tiene-pedido-activo" → GHL envía diario de WhatsApp: "Tu pedido se envía mañana. Seguimiento: [URL]."
-
Flujo de calificación de lead: nuevo contacto se une a grupo → GHL hace preguntas de calificación a través de WhatsApp → los etiqueta "lead-caliente" o "lead-frío" basado en respuestas → dirige al flujo de trabajo de ventas apropiado.
-
Mensajes basados en permiso: campo de contacto "consentimiento-marketing" = verdadero → GHL envía WhatsApp promocional; si falso, solo mensajes transaccionales. Cumplimiento integrado en flujo de trabajo.
Evita problemas de sincronización y eventos duplicados
Una vez que escales más allá de unos pocos contactos de prueba, surgen casos edge. Estos son los problemas más comunes que encontramos en producción:
Problema 1: Contactos duplicados: el mismo teléfono coincide con múltiples contactos de GHL. Refuerza restricción de teléfono único y usa formato estandarizado (siempre +código_país). Prueba con tu propio número: ¿dos eventos de unión a grupo crean un contacto o dos?
Problema 2: Normalización de teléfono: WhatsApp envía +1234567890, GHL almacena 1234567890. Normaliza en GHL antes de "Encuentra o Crea" asegurando prefijo + y código de país, o configura carga útil de webhook de Whapi para normalizar upstream.
Problema 3: Duplicados de reintento de webhook: la entrega al menos una vez de Whapi significa que GHL puede recibir el mismo webhook dos veces si toma 2+ segundos responder 200 OK. Haz flujos de trabajo idempotentes: verifica "¿Este contacto tiene etiqueta 'bienvenida-enviada' hoy?" Si sí, omite. Usa banderas de campo personalizado para marcar flujos de trabajo completados.
Problema 4: Bucles infinitos: GHL envía mensaje de WhatsApp → mensaje regresa como evento entrante → GHL recibe webhook → envía otro mensaje. Detecta mensajes iniciados por GHL (prefijo de etiqueta o remitente = tu número) y omite flujo de trabajo, trata como eco.
Problema 5: Demoras de entrega: Whapi envía inmediatamente, pero WhatsApp puede encolar a escala (100+ mensajes/hora a un contacto). Espacía envíos, usa plantillas para alcance masivo, monitorea encabezados de límite de velocidad.
Lista de verificación para integración WhatsApp + GoHighLevel
Antes de lanzar a producción, confirma que todos estos están en su lugar:
-
URL de webhook de Whapi está en vivo en GHL: prueba enviando un mensaje de WhatsApp desde otro número; confirma que GHL recibe el webhook entrante (verifica registros de webhook de GHL).
-
La coincidencia de contacto funciona: crea un contacto de prueba en GHL con un teléfono conocido, envía un mensaje de WhatsApp desde ese teléfono, confirma que GHL encuentra el contacto existente (no crea uno duplicado).
-
Los mensajes salientes de WhatsApp se envían exitosamente: ejecuta la acción "Enviar WhatsApp" webhook en GHL, confirma que el mensaje llega a WhatsApp. Observa errores 401 o 403 (problema de token de auth) y errores 404 (teléfono no conectado en Whapi).
-
Los flujos de trabajo son idempotentes: dispara manualmente la misma carga útil de webhook dos veces; confirma que las tareas, etiquetas y mensajes no se duplican.
-
El formato del número de teléfono es consistente: todos los números de teléfono en GHL usan el mismo formato (ej.,
+1234567890con prefijo+). Verifica consultando unos pocos contactos y comparando con cargas útiles de webhook de Whapi. -
El manejo de errores está en su lugar: el flujo de trabajo de GHL incluye una condición para "si el webhook falla" (ej., token de Whapi expirado, número de WhatsApp no conectado); agrega una acción de respaldo como "enviar SMS" o "registra error y alerta al admin".
-
Se respetan los límites de velocidad: si envía 100+ mensajes/hora, espacíalos (agrega retraso de 1 segundo entre envíos en GHL o usa una cola). Monitorea el panel de Whapi para recuentos de llamadas API y advertencias de límite de velocidad de WhatsApp.
-
El registro y monitoreo están habilitados: GHL registra cada webhook entrante y acción de mensaje saliente (verifica registros de ejecución de GHL); el panel de Whapi muestra estado de entrega de webhook y confirmaciones de entrega de mensaje.
Una vez que todos los cuadros estén en verde, puedes escalar a producción. Comienza con un grupo pequeño (< 50 contactos) y monitorea durante 48 horas: observa mensajes duplicados, fallos de entrega o desajustes de contacto. Luego expande a tu lista completa.
El patrón de sincronización bidireccional demostrado aquí está probado en producción en equipos de bienes raíces (incorporación de grupos), comercio electrónico (actualizaciones de pedidos) y soporte SaaS (enrutamiento de tickets). Cada industria usa la misma arquitectura, solo lógica de flujo de trabajo diferente. Whapi.Cloud maneja la entrega de webhook y el envío de mensajes de manera confiable, para que puedas enfocarte en la automatización de GHL.
¿Listo para automatizar tu flujo de trabajo de WhatsApp + GHL? Comienza con Whapi.Cloud: sin verificación de Meta requerida, plantillas de mensaje opcionales, acceso completo a grupos y canales integrado.
Comienza con Whapi.Cloud








