
# Integración con GoHighLevel (GHL)

¿Ya utiliza GoHighLevel (GHL) para gestionar su negocio? Esta integración le permite añadir la mensajería con IA de <span data-t="appName">Your AI Connector</span> a su configuración actual de GHL. Los mensajes que llegan a GHL se reenvían a <span data-t="appName">Your AI Connector</span> para su gestión mediante IA, y las respuestas de <span data-t="appName">Your AI Connector</span> se envían de vuelta a través de GHL al cliente por el canal original.

> ¿Utiliza un CRM diferente? No necesita una pantalla dedicada para funcionar con <span data-t="appName">Your AI Connector</span>: consulte [Conexión de una herramienta que no enumeramos](connecting-other-tools.md) para ver funciones personalizadas, la API y los webhooks.

Esto significa que puede seguir utilizando GHL como su centro principal mientras permite que la IA gestione las conversaciones impulsadas por inteligencia artificial.

::: note
**Nota:** Esta es una integración más técnica que implica configurar flujos de trabajo automatizados y conectar sistemas mediante webhooks (notificaciones automáticas entre aplicaciones) y llamadas a la API. Si no se siente cómodo con esto, es posible que desee entregar esta página a un desarrollador o a un miembro del equipo con conocimientos técnicos.
:::


---

## Requisitos previos

- Una **cuenta de <span data-t="appName">Your AI Connector</span>** activa con su clave API (que encontrará en **Settings → Integrations → API Key**). Una clave API es un código único que permite a GHL comunicarse de forma segura con su cuenta.
- Una **cuenta de GoHighLevel** con permisos para crear flujos de trabajo y gestionar webhooks (notificaciones automatizadas entre sistemas).

---

## Cómo funciona

| Dirección | Qué sucede |
|---|---|
| **GHL a <span data-t="appName">Your AI Connector</span>** | Un cliente le envía un mensaje por SMS, correo electrónico, Messenger, Instagram o chat en vivo en GHL. Un flujo de trabajo reenvía automáticamente ese mensaje a <span data-t="appName">Your AI Connector</span>. <span data-t="appName">Your AI Connector</span> lo procesa (respuesta de IA, etiquetado, etc.). |
| **<span data-t="appName">Your AI Connector</span> a GHL** | Cuando <span data-t="appName">Your AI Connector</span> envía una respuesta (manualmente o mediante IA), notifica automáticamente a GHL. Un flujo de trabajo en GHL localiza al contacto y envía la respuesta a través del canal correcto. |

---

## Flujo de trabajo 1: GHL a <span data-t="appName">Your AI Connector</span>

Este flujo de trabajo reenvía los mensajes entrantes de GHL a <span data-t="appName">Your AI Connector</span>.

### Paso 1: Crear el flujo de trabajo

1. En GHL, vaya a **Automation > Workflows**.
2. Haga clic en **Create New Workflow**.
3. Asígnele un nombre descriptivo, como "Enviar mensaje a <span data-t="appName">Your AI Connector</span>".

### Paso 2: Añadir activadores

Añada un activador para cada canal que desee reenviar:

- El cliente respondió - SMS
- El cliente respondió - Correo electrónico
- El cliente respondió - Mensaje de Facebook
- El cliente respondió - DM de Instagram
- El cliente respondió - Chat en vivo

Puede añadirlos todos o solo los canales relevantes para su configuración.

### Paso 3: Añadir filtro de etiquetas (opcional)

Si solo desea reenviar mensajes de contactos específicos:

1. Haga clic en **Add Filter** (Añadir filtro) en el activador.
2. Establezca la condición en "Contact has tag" (El contacto tiene la etiqueta).
3. Elija su(s) etiqueta(s).
4. Seleccione si el contacto debe tener **any** (alguna) o **all** (todas) las etiquetas seleccionadas.

### Paso 4: Crear una división de canal

Añada una acción de **Condition** (Condición) para dirigir cada canal a su propio webhook:

| Rama | Condición |
|---|---|
| Rama 1 | El origen del mensaje es igual a `Email` |
| Rama 2 | El origen del mensaje es igual a `SMS` |
| Rama 3 | El origen del mensaje es igual a `Messenger` |
| Rama 4 | El origen del mensaje es igual a `Instagram` |
| Rama 5 | El origen del mensaje es igual a `Live Chat` |

### Paso 5: Configurar webhooks

Para cada rama, añada una acción de **Webhook / HTTP Request** (Webhook / Solicitud HTTP):

- **Method:** `POST`
- **URL:**
  ```
  https://api.youraiconnector.com/v1/incoming_custom_channel_message?apiKey=YOUR_API_KEY
  ```

- **Custom Data fields:** (Campos de datos personalizados):

| Campo | Valor | Notas |
|---|---|---|
| `messageSid` | `{{right_now.second}}{{contact.id}}` | Identificador único de mensaje |
| `fromId` | `{{contact.id}}` | ID de contacto de GHL |
| `toId` | `{{user.id}}` | Su ID de usuario de GHL |
| `body` | `{{message.body}}` | El contenido del mensaje |
| `channel` | Ver tabla a continuación | Debe coincidir con la rama |
| `status` | `created` | Establecer siempre en `created` |
| `messageType` | `text` | Tipo de mensaje |

**Valores de canal por rama:**

| Rama | Valor de `channel` |
|---|---|
| Email | `email` |
| SMS | `sms` |
| Messenger | `messenger` |
| Instagram | `ig` |
| Live Chat | `livechat` |

::: warning
**Importante:** Asegúrese de que el valor `channel` coincida exactamente; estos distinguen entre mayúsculas y minúsculas.
:::


### Paso 6: Habilitar reingreso

En la configuración del flujo de trabajo, asegúrese de que **Allow Re-entry** (Permitir reingreso) esté habilitado. Sin esto, solo se reenviará el primer mensaje de cada contacto.

---

## Flujo de trabajo 2: Your AI Connector a GHL

Este flujo de trabajo recibe las respuestas de Your AI Connector y las envía al cliente a través del canal de GHL correcto.

### Paso 1: Crear un webhook entrante en GHL

1. En GHL, vaya a **Settings > Developers / API**.
2. Haga clic en **Create New Webhook** (o "Inbound Webhook").
3. Asígnele el nombre "Messages".
4. Guarde y **copie la URL del webhook**; la necesitará en el siguiente paso.

### Paso 2: Configurar Your AI Connector

1. En Your AI Connector, haz clic en **Settings** en la barra lateral.
2. En **Channels**, haz clic en **Channels**.
3. Desplázate hasta la tarjeta **Custom channel** en la parte inferior de la página.
4. Pega la URL del webhook de entrada de GHL que acabas de copiar en **Webhook URL** (debe ser una dirección HTTPS pública) y haz clic en **Save**.

> **Esta no es la página Settings → Integrations → Webhooks.** Esa página es para notificaciones de eventos y envía una carga útil diferente. El relé de salida de GHL se configura en la tarjeta **Custom channel** en **Settings → Channels**.

Your AI Connector enviará ahora automáticamente una notificación a GHL cada vez que se envíe un mensaje a un contacto. Los datos enviados tienen este aspecto:

```json
{
  "contactId": "NtL97bwnhITrfIq8lWFi",
  "messageId": "s28dtg13qNuhXLoKpcLs",
  "userId": "wpDZRvaw4Hgh4whUBpwlKPRftOi2",
  "body": "Message content here",
  "toId": "qtpBsc6fiqkXTnSOeze3",
  "channel": "email"
}
```

> **Nota de navegación:** la clave API que utilizas para el flujo de trabajo 1 y la tarjeta de canal personalizado que utilizas aquí se encuentran en lugares diferentes: **Settings → Integrations → API Key** para la clave, y la tarjeta **Custom channel** en la parte inferior de **Settings → Channels** para este relé. La página independiente **Settings → Integrations → Webhooks** es para notificaciones de eventos y envía una carga útil diferente; consulta [Webhooks](webhooks.md) si eso es lo que buscas en su lugar.

### Paso 3: Crear el flujo de trabajo de respuesta

1. En GHL, ve a **Automation > Workflows**.
2. Crea un nuevo flujo de trabajo llamado "Send Message to Contact".
3. Establece el activador (trigger) en **Inbound Webhook** y selecciona el webhook que creaste en el Paso 1.

### Paso 4: Agregar una acción de búsqueda de contacto

1. Agrega una acción **Find Contact**.
2. Establece el campo de búsqueda en **Contact ID**.
3. Usa el valor: `{{inboundWebhookRequest.toId}}`

### Paso 5: Agregar una verificación de etiqueta opcional

Si desea limitar qué contactos reciben mensajes de Your AI Connector:

1. Agrega una acción **Condition**.
2. Verifica si el contacto tiene una etiqueta específica.
3. Si falta la etiqueta, finaliza el flujo de trabajo (agrega una acción "Stop" en la rama falsa).

### Paso 6: Agregar una división de canal

Añada una acción de **Condición** que dirija el mensaje según `{{inboundWebhookRequest.channel}}`:

| Rama | Condición | Acción |
|---|---|---|
| Rama 1 | igual a `email` | Enviar correo electrónico |
| Rama 2 | igual a `sms` | Enviar SMS |
| Rama 3 | igual a `messenger` | Enviar mensaje de Facebook |
| Rama 4 | igual a `ig` | Enviar mensaje de Instagram |
| Rama 5 | igual a `livechat` | Enviar mensaje de chat |

### Paso 7: Configurar cada acción de envío

En cada acción de envío, establezca el cuerpo del mensaje en:

```
{{inboundWebhookRequest.body}}
```

### Paso 8: Habilitar reingreso

Al igual que con el Flujo de trabajo 1, asegúrese de que **Permitir reingreso** esté habilitado en la configuración del flujo de trabajo.

---

## Prueba de la integración

### Probar GHL a <span data-t="appName">Your AI Connector</span> (Flujo de trabajo 1)

1. Envíe un mensaje a su número de GHL o canal conectado (por ejemplo, envíese un SMS a usted mismo).
2. Abra <span data-t="appName">Your AI Connector</span> y verifique que el mensaje aparece en **Chats**.
3. Compruebe que la etiqueta del canal sea correcta (SMS, correo electrónico, etc.).
4. Repita el proceso para cada canal que haya configurado.

### Probar <span data-t="appName">Your AI Connector</span> a GHL (Flujo de trabajo 2)

1. En <span data-t="appName">Your AI Connector</span>, envía una respuesta a un contacto (manualmente o deja que la IA responda).
2. Abre GHL y verifica que el contacto haya recibido el mensaje.
3. Confirma que se envió a través del canal correcto.
4. Comprueba que el contenido del mensaje coincida.

---

## Solución de problemas

| Problema | Qué comprobar |
|---|---|
| Los mensajes no llegan a <span data-t="appName">Your AI Connector</span> | Verifica que tu clave API sea correcta en la URL del webhook. Comprueba que los activadores del flujo de trabajo se estén ejecutando (registros de flujo de trabajo de GHL). Confirma que la opción "Allow Re-entry" esté habilitada. |
| Los mensajes no llegan a GHL | Verifica que la URL del webhook de entrada de GHL esté pegada correctamente en **Webhook URL** en la tarjeta **Custom channel** en la parte inferior de **Settings → Channels** (no en la página Settings → Integrations → Webhooks, que es una función diferente). Comprueba que el webhook de entrada de GHL esté activo. Revisa los registros de ejecución del flujo de trabajo de GHL. |
| Contacto no encontrado en GHL | El `toId` en los datos del webhook debe coincidir con un ID de contacto de GHL existente. Asegúrate de que los contactos existan en ambos sistemas con IDs coincidentes. |
| Se utilizó el canal incorrecto para la respuesta | Comprueba dos veces los valores del canal en tus ramas de condición. Deben coincidir exactamente: `email`, `sms`, `messenger`, `ig`, `livechat`. |
| Solo se reenvía el primer mensaje | Habilita **Allow Re-entry** en ambos ajustes del flujo de trabajo. |

---

## Próximos pasos

- [Webhooks](webhooks.md) — configura webhooks para otros eventos de <span data-t="appName">Your AI Connector</span>.
- [Acceso a la API](api-access.md) — utiliza la API para integraciones personalizadas más allá de GHL.
- [Canales personalizados](../messaging-channels/custom-channels.md) — obtén más información sobre la mensajería en canales personalizados.
