---
name: ghl-agents
description: Use when configuring a GHL Conversation AI agent — writing prompts, setting up Bot Goals (contact info actions, appointment booking, human handover), configuring multi-calendar routing, or adjusting advanced settings. Load ghl skill first for variable namespaces.
---

# GHL — Configuración de Agentes IA (Conversation AI)

Fuente oficial: https://help.gohighlevel.com/support/solutions/folders/155000000929

## Campos de prompt

El agente tiene 3 campos en la pestaña **Bot Goals**:

| Campo en GHL                             | Propósito                                                                   |
| ---------------------------------------- | --------------------------------------------------------------------------- |
| **"Who is the bot?"**                    | Identidad, tono, nombre del agente, restricciones de comportamiento         |
| **Goal**                                 | No editable — lo define la plantilla seleccionada al crear el bot           |
| **"Anything else the Bot should know?"** | Contexto del negocio, servicios, reglas de conversación, flujo de preguntas |

**Reglas de formato:**

- GHL no renderiza markdown — texto plano únicamente, sin `#`, `---`, `**`
- Separar ideas con saltos de línea, no con encabezados
- Agregar variables con el botón **+ Add Custom Values** — no escribirlas a mano si la UI lo permite

## Reglas de captura de datos

1. La pregunta por el nombre debe incluir la palabra **"nombre"** de forma explícita para que GHL mapee el campo correctamente
2. Preguntar servicio de interés después del nombre — nunca invertir el orden
3. No repetir preguntas sobre datos que el contacto ya mencionó
4. Máximo 2 preguntas por mensaje
5. Estructura mínima de mensaje: validación de lo anterior + transición + pregunta

## Bot Goals — Acciones disponibles

Las acciones se configuran en **AI Agents → Conversation AI → Bot Goals → Setup Your Actions**. No van en el texto del prompt.

### Contact Info (actualización de campos)

- Solo actualiza campos vacíos — no sobrescribe datos existentes
- Email y teléfono se actualizan automáticamente sin necesidad de esta acción
- Campos custom requieren al menos 2 ejemplos de salida para entrenar la IA
- Después de configurar cada acción, actualizar el prompt para instruir al bot a solicitar ese dato — si no está en el prompt, el bot no lo pedirá

Fuente: https://help.gohighlevel.com/support/solutions/articles/155000004097

### Appointment Booking

**Calendario único:** seleccionar el calendario y configurar comportamiento post-reserva (pausar bot, activar workflow).

**Múltiples calendarios:**

1. Seleccionar los calendarios a incluir — GHL toma automáticamente el nombre y descripción de cada calendario
2. Por cada calendario, agregar una **Descripción IA** (AI Description) con palabras clave adicionales que ayuden al bot a identificar la intención del contacto → esto va en el agente, no en el calendario
3. Definir un **calendario fallback** para solicitudes que no coincidan con ninguno
4. El bot elige el calendario comparando la entrada del usuario contra: nombre del calendario + descripción del calendario + descripción IA del agente

Fuente: https://help.gohighlevel.com/support/solutions/articles/155000006559

### Human Handover

Transfiere la conversación a un humano cuando se cumple alguno de estos criterios:

- **Human Requested:** el contacto pide hablar con una persona (se pueden personalizar las frases que lo activan)
- **Lack of Information:** el bot no tiene información relevante para responder
- **Failed to Resolve Issue:** múltiples intentos fallidos (máximo 2 reintentos)

Acciones disponibles post-transferencia: asignar a usuario, mensaje final de despedida, pausar bot (por horas/días/minutos), crear tarea, agregar tags (default: `human_handover`).

Fuente: https://help.gohighlevel.com/support/solutions/articles/155000005615

### Transfer Bot

Redirige la conversación a: Live Chat, otro bot, un workflow, o un agente/equipo específico.

Fuente: https://help.gohighlevel.com/support/solutions/articles/155000005371

## Configuración avanzada

| Configuración                       | Descripción                                                                     |
| ----------------------------------- | ------------------------------------------------------------------------------- |
| Tiempo de espera antes de responder | 5–20 segundos recomendado — crea flujo natural                                  |
| Límite máximo de mensajes           | Al alcanzarlo, el bot se detiene; se puede reiniciar manualmente o por workflow |
| Enviar bot a dormir                 | Desactiva el bot temporalmente cuando un agente responde manualmente            |

## Canales disponibles

SMS, Email, Facebook Messenger, Instagram, Live Chat. Se activan por canal en la configuración del bot.

## Bot primario vs no primario

Un solo bot puede ser **primario** por sub-cuenta. El bot primario responde en todos los canales no asignados a otro bot. Los bots no primarios se asignan a canales o contactos específicos.

## Limitaciones conocidas

| Limitación                  | Detalle                                                                        |
| --------------------------- | ------------------------------------------------------------------------------ |
| Markdown en prompts         | GHL no renderiza — siempre texto plano                                         |
| Contact Info                | Solo actualiza campos vacíos — no sobrescribe                                  |
| Multi-calendario            | Solo disponible para bots basados en prompts, no en flujos (flow builder)      |
| Publicar ≠ Guardar          | Los cambios requieren publicación explícita para activarse                     |
| `{{location.full_address}}` | No existe — usar `{{location.address}}, {{location.city}}, {{location.state}}` |

## Variables de appointment (en workflows de recordatorio)

```
{{appointment.start_time}}        — fecha + hora completa
{{appointment.only_start_time}}   — solo hora
{{appointment.only_start_date}}   — solo fecha
{{appointment.meeting_location}}  — ubicación del calendario
{{appointment.reschedule_link}}   — link para reagendar
{{appointment.user.first_name}}   — nombre del asesor asignado
```

Usar `{{appointment.reschedule_link}}`, NO `{{reschedule_link}}`.

## Auto-actualización

Si durante la sesión se descubre algo nuevo sobre el agente IA en GHL:

- **Comportamiento nuevo o corregido** → actualizar la sección correspondiente
- **Limitación no documentada** → agregar a "Limitaciones conocidas" con detalle
- **Variable nueva confirmada** → agregar al bloque de variables con descripción
- **Algo deprecado** → marcar `[DEPRECADO - YYYY-MM]`, no borrar
- **Fuente:** incluir siempre el link a `help.gohighlevel.com/support/...`
- **Sin doc oficial:** marcar `[Observación empírica, sin doc oficial]`
