Prompt13.

Recursos de GoHighLevel

Cómo conectar la API de GoHighLevel

La documentación oficial es completa y está toda en inglés. Esta página traduce el camino de entrada: qué necesitas, en qué orden, y cómo hacer tu primera llamada sin perder una tarde.

En resumen

La API de GoHighLevel es el conjunto de endpoints que permite que otro programa lea y escriba en tu cuenta sin pasar por la interfaz. Muchas tareas comunes, como meter los leads de un formulario, se resuelven sin ella: empieza por la sección de abajo para saber si es tu caso. Si sí necesitas la API, hacen falta 3 cosas: un token de integración privada, el Location ID de la subcuenta, y la versión de la API en el encabezado. La documentación oficial vive en marketplace.gohighlevel.com/docs.

Actualizado

Antes de empezar: ¿de verdad necesitas la API?

Mucha gente llega aquí a resolver algo que no requiere la API, consigue un token y se queda atascada. Encuentra tu caso primero:

Camino A1

No programas y tu cliente acepta usar un formulario de GoHighLevel

Este es el camino corto y no necesita API, ni token, ni programador. GoHighLevel te da un código para insertar su formulario en cualquier web (Squarespace, Wix, Shopify, WordPress, Duda) y los contactos entran solos.

En GoHighLevel: Sites, luego Forms arriba a la derecha. Elige tu formulario o crea uno con "+ Add Form". Después entra a la pestaña Integrate, arriba a la derecha, y oprime Copy Embed Code. Ese código se pega en la web.

Guía oficial de insertar formularios en webs que no son de GoHighLevel

Camino A2

No programas y el formulario que ya existe se queda como está

Este es el caso más común y también se resuelve sin API. En vez de llamar tú a GoHighLevel, haces que GoHighLevel te escuche: creas un webhook entrante, que es una dirección propia a la que el formulario le manda los datos. Ojo con la trampa: el disparador solo ARRANCA el workflow, no crea el contacto. Hay que agregarle la acción.

Los 5 pasos están abajo, en su propia sección.

Guía oficial del disparador Inbound Webhook

Camino B

No programas, y ninguno de los dos caminos de arriba te alcanza

Entonces tu trabajo aquí es conseguir las credenciales y entregar el encargo bien armado. Haz los pasos 1 al 6 (son todos dentro de GoHighLevel, sin código) y quédate con dos datos: el token y el Location ID.

Pásale a tu programador el enlace de esta página, esos dos datos, y dile en una frase qué tiene que pasar. Con eso tiene todo lo que necesita para empezar.

Camino C

Programas, o vas a usar un asistente de IA para escribir el código

Sigue toda la página de corrido. Y usa el atajo que casi nadie ve: en la documentación oficial, cada endpoint tiene botones de Copy for LLM, Open in Claude y Open in ChatGPT, que le entregan al asistente la especificación exacta de ese endpoint.

Empieza por UN endpoint, no por entenderlo todo.

El camino sin código, completo: conectar un formulario que ya existe

Si escogiste el Camino A2, esto es todo lo que hay que hacer. No lleva token, ni API, ni programador. El paso 4 es el que casi todo el mundo se salta, y sin él el workflow parece configurado y no hace nada:

  1. 1

    Crea el workflow con el disparador

    En GoHighLevel: Automation, Workflows, y crea uno nuevo. Como disparador elige "Inbound Webhook". Se genera una URL única para ese workflow: cópiala.

  2. 2

    Manda los datos del formulario a esa URL

    Este paso pasa en la web, no en GoHighLevel. Busca en tu plugin de formularios una opción llamada Webhook, Webhooks o Send to URL, y pega ahí la URL que copiaste. Elementor Forms, WPForms, Gravity Forms y Fluent Forms la tienen (en varios casos solo en su versión de pago). Contact Form 7 no la trae de fábrica: ahí necesitas Zapier o Make de puente.

  3. 3

    Llena el formulario una vez, de prueba

    Con datos reales tuyos. Esto es obligatorio y no es opcional: GoHighLevel necesita recibir un envío para aprender cómo se llaman los campos que le manda tu formulario. Sin esa prueba no tienes nada que emparejar en el paso siguiente.

  4. 4

    Agrega la acción que crea el contacto

    Aquí es donde casi todo el mundo se queda a medias. El disparador solo arranca el workflow: hay que agregarle una acción que cree o actualice el contacto, y emparejar los campos que llegaron (nombre, correo, teléfono) con los campos del contacto en GoHighLevel.

  5. 5

    Guarda, publica y comprueba con tus ojos

    Guarda el disparador, publica el workflow, y llena el formulario otra vez. Después busca ese contacto en la subcuenta. Si aparece, funciona. Si no aparece, el problema está en el paso 2 (la URL) o en el 4 (el emparejamiento), en ese orden.

Si tu plugin de formularios no puede mandar datos a una URL, el puente se hace con Zapier o Make y sigue siendo sin código: Guía oficial de webhooks de HighLevel con Zapier.

Todo lo que viene después de aquí es para quien SÍ va a usar la API. Si lo de arriba te resolvió el caso, ya terminaste.

Lo que hace falta además del token

Esto es lo que más confunde y casi nunca se dice: la API no se llama sola. Un formulario en una página web no puede hablarle a GoHighLevel por su cuenta. Hace falta algo en medio, un programa corriendo en algún servidor, que reciba el dato del formulario y haga la llamada. Cuando contratas a alguien para "conectar la API", eso de en medio es lo que estás pagando.

El formularioTu códigoGoHighLevelen la web de tu clientecorriendo en un servidorel contacto apareceesto de en medio es lo que hay que construir

Seis palabras que vas a ver

Endpoint
Una dirección web de GoHighLevel a la que tu programa le habla.
Encabezado (header)
Datos que van junto a la llamada, aparte de la dirección: quién eres y qué versión usas.
Token
Una contraseña larga que identifica a tu integración. Quien la tenga, entra.
JSON
El formato de texto en que viajan los datos. Se ve como una lista de campo y valor entre llaves.
Terminal
El programa de texto que ya viene en tu computadora para escribir comandos. En Mac se llama Terminal, en Windows PowerShell. Si nunca la has abierto, usa la documentación interactiva en su lugar.
Error 401
La respuesta que da la API cuando no le gustó tu token: o está mal copiado, o no tiene el permiso que pediste.
Variable de entorno
Un lugar fuera del código donde el programa guarda datos secretos como tu token. Si no programas, guárdalo en tu gestor de contraseñas y ya.
Scopes (permisos)
La lista de cosas que tu token puede hacer. Tú los marcas al crear la integración.
Labs
La sección de GoHighLevel donde se activan funciones que todavía no salen por defecto. Ahí se prende Private Integrations si no te aparece.

Qué es un endpoint, en una frase

Un endpoint es una dirección web que conecta con GoHighLevel. Lo que cambia es el método, o sea la intención con la que llamas a esa dirección:

MétodoQué haceEjemplo
GETTrae información. No cambia nada.Leer un contacto
POSTCrea algo o dispara una acción.Crear una oportunidad
PUTActualiza algo que ya existe.Cambiar el teléfono de un contacto
DELETEBorra.Eliminar una cita

La URL sola no alcanza. GoHighLevel necesita saber quién llama y en qué subcuenta, y eso viaja en los encabezados:

Tu programaGoHighLevelapp, script o agentetu subcuentaLo que viaja en la llamadaPOST /contacts/Authorization: Bearer …Version: 2021-07-28locationId: ABC123…← respuesta JSON← X-RateLimit-Remaining

Qué puedes hacer con ella

Hay cientos de endpoints. Estas son las 6 familias donde casi todo el mundo empieza:

Contactos y CRM

Crear, leer, actualizar y borrar contactos, con etiquetas y campos personalizados.

Para qué sirve: Meter un lead desde tu propio formulario, sincronizar una lista, etiquetar por comportamiento.

Conversaciones

SMS, correo y llamadas: enviar mensajes, manejar hilos y leer el historial.

Para qué sirve: Responder un SMS desde tu app, leer la conversación antes de una llamada.

Calendario y citas

Agendar, mover y cancelar citas, y leer la disponibilidad real.

Para qué sirve: Un bot que confirma citas, o que ofrece el turno que se acaba de liberar.

Oportunidades

El pipeline: crear y mover oportunidades entre etapas.

Para qué sirve: Mover el deal cuando se firma, crear la oportunidad al recibir un lead calificado.

Pagos

Cobros, suscripciones y datos de transacciones.

Para qué sirve: Marcar un contacto como cliente cuando paga, leer suscripciones activas.

Webhooks

Avisos en tiempo real de más de 50 eventos, sin que tengas que preguntar cada rato.

Para qué sirve: Reaccionar en el momento en que entra un lead, en vez de revisar cada 5 minutos.

Cuál de los 3 métodos de autenticación te toca

Esta es la decisión que define todo lo demás, y equivocarse aquí significa rehacer el trabajo. Para automatizar tu cuenta o la de un cliente, la respuesta es la integración privada:

MétodoPermisosVersiónCaducidadCuándo usarlo
Integración privada (PIT)Permisos que tú eliges, por integraciónAPI v2.0No caduca; se rota a mano cuando tú decidasAutomatizar tu cuenta o la de un cliente. Es la recomendada hoy.
Llave de API (legado)Acceso sin restricción a toda la cuentaAPI v1.0, sin mantenimientoNo caducaNada nuevo. Solo existe para integraciones viejas que aún no migran.
OAuth 2.0Permisos que aprueba cada cuenta al instalarAPI v2.0El token caduca a diario y hay que refrescarloDistribuir o vender la integración a cuentas de terceros.

Paso a paso para conectarla

  1. 1

    Decide qué tipo de integración necesitas

    Hay tres formas de autenticarte y elegir mal cuesta rehacer el trabajo. Para automatizar tu cuenta o la de un cliente, la respuesta correcta hoy es una integración privada.

    • Integración privada (recomendada): token que generas desde la interfaz, con permisos que tú eliges. Usa la API v2.0.
    • Llave de API (legado): da acceso sin restricción a toda la cuenta y corre sobre la v1.0, que ya no se mantiene. No la uses para algo nuevo.
    • App de Marketplace con OAuth 2.0: para distribuir la integración a cuentas de otros. Sus tokens caducan a diario y hay que refrescarlos.
  2. 2

    Abre Private Integrations en los ajustes de la agencia

    El menú vive en los ajustes a nivel de agencia, no dentro de la subcuenta. Si no lo ves ahí, no está roto: la función se activa primero en Labs.

    • Ruta: Settings (ajustes de la agencia) y busca Private Integrations en la lista.
    • Si no aparece: Settings, Labs, y activa la función. Después vuelve a Settings.
    • Por defecto todos los admin de agencia pueden crearlas. Para restringirlo: Settings, Team, edita el usuario, Roles & Permissions. Ahí se controla por separado el acceso a las integraciones de la agencia y a las de las subcuentas.
  3. 3

    Crea la integración y ponle nombre

    Haz clic en "Create new Integration" y dale un nombre y una descripción que digan para qué es. En seis meses, con cuatro tokens creados, el nombre es lo único que te va a decir cuál puedes revocar sin romper nada.

    • Un token por integración, no uno para todo.
    • Nombra por función y no por herramienta: "confirmación de citas dentales" sirve más que "token 2".
  4. 4

    Elige solo los permisos que vas a usar

    En el paso de scopes se marca a qué puede acceder el token. Marca lo mínimo. Aquí está la ventaja real sobre las llaves de API viejas: una llave da acceso a todo, este token da acceso solo a lo que tú marcaste.

    • Si tu integración solo lee contactos, no le des permiso de borrar.
    • Los permisos se pueden editar después sin generar un token nuevo, así que empieza corto y amplía cuando haga falta.
  5. 5

    Copia el token AHORA

    El token se muestra una sola vez y no se puede volver a ver. Si cierras esa pantalla sin copiarlo, no hay recuperación: toca rotarlo y empezar de nuevo. Guárdalo en un gestor de contraseñas o en una variable de entorno, nunca dentro del código.

    • Si vas a pasárselo a un desarrollador, mándalo por un canal privado, nunca por un chat de grupo ni por correo.
    • Un token que acabó en un repositorio se revoca, no se esconde: el historial de git lo conserva.
  6. 6

    Saca el Location ID de la barra de direcciones

    Casi todo endpoint necesita saber en qué subcuenta trabajar. Entra a la subcuenta y mira la URL de tu navegador: el Location ID es la cadena de letras y números que va después de /location/.

    • app.gohighlevel.com/v2/location/ABC123xyz/dashboard, donde ABC123xyz es tu Location ID.
    • Algunos endpoints de nivel agencia piden el Company ID en vez del Location ID.
  7. 7

    Prueba la llamada sin escribir una sola línea de código

    No necesitas instalar nada ni abrir la terminal para probar si tu token sirve. La documentación oficial ejecuta la llamada desde el navegador, y es la forma más rápida de saber si el problema es el token, el permiso o el dato. Los pasos exactos están abajo.

  8. 8

    Ponle fecha a la rotación

    HighLevel recomienda rotar el token cada 90 días. La rotación no corta el servicio: al rotar tienes una ventana de 7 días en la que el token viejo y el nuevo funcionan a la vez, para que actualices sin apuro.

    • Ruta: Settings, Private Integrations, haz clic en tu integración, y usa "Rotate and expire this token later".
    • Dentro de esos 7 días puedes "Cancel rotation" si necesitas más tiempo, o "Expire Now" si ya actualizaste todo.
    • Si crees que el token se filtró, no esperes: usa "Rotate and expire this token now", que corta el viejo de inmediato.

Probarla desde el navegador, paso por paso

Esta es la ruta sin código. Los nombres de los campos y del botón son literales, tal como aparecen en la documentación oficial:

  1. 1.Abre la documentación oficial y busca en la barra lateral izquierda la familia de tu endpoint (por ejemplo Contacts) y luego el endpoint (por ejemplo Create Contact).
  2. 2.En el panel de la derecha, en la sección Auth, verás un campo que dice "Bearer Token". Pega tu token ahí.
  3. 3.Justo debajo, en Parameters, el desplegable "Version" ya viene con el valor correcto para ese endpoint. No lo cambies si no sabes por qué.
  4. 4.En la sección Body hay un JSON de ejemplo, editable. Cambia el "locationId" por el tuyo y pon datos reales en los otros campos.
  5. 5.Oprime el botón azul "Send API Request".
  6. 6.La respuesta aparece abajo, en la sección RESPONSE. Si el contacto se creó, ábrelo en GoHighLevel para comprobarlo con tus propios ojos.
Abrir el endpoint de crear contacto en la doc oficial

Si programas: la misma llamada en código

Estos dos bloques se pegan en una terminal (el programa de comandos de tu computadora), o se los pasas a quien vaya a construir la integración. No van en el navegador ni dentro de GoHighLevel.

Tu primera llamada: leer contactos
bash
curl -X GET \
  'https://services.leadconnectorhq.com/contacts/?locationId=TU_LOCATION_ID' \
  -H 'Authorization: Bearer TU_TOKEN' \
  -H 'Version: 2021-07-28' \
  -H 'Accept: application/json'
Crear un contacto
bash
curl -X POST \
  'https://services.leadconnectorhq.com/contacts/' \
  -H 'Authorization: Bearer TU_TOKEN' \
  -H 'Version: 2021-07-28' \
  -H 'Content-Type: application/json' \
  -d '{
    "locationId": "TU_LOCATION_ID",
    "firstName": "María",
    "lastName": "Rivera",
    "email": "maria@ejemplo.com",
    "phone": "+13055550123",
    "tags": ["lead-web"]
  }'

Si te da 401 y el token está bien

Ojo con el encabezado Authorization: la documentación del marketplace muestra el token con el prefijo Bearer, y el artículo de ayuda lo muestra sin prefijo. Empieza con Bearer, que es lo que trae la doc más nueva, y si recibes un 401 con el token correcto, prueba mandándolo sin el prefijo antes de seguir buscando.

Cambia TU_TOKEN y TU_LOCATION_ID por los tuyos. La URL base siempre es https://services.leadconnectorhq.com. Versiones disponibles hoy en el selector de la doc oficial: v32023-02-212021-07-282021-04-15.

Qué cambia según tu plan

No todos los planes abren los mismos endpoints, y esto es lo que más sorprende a mitad de un proyecto. Usamos los nombres de plan tal como los escribe HighLevel, no el precio, porque los precios cambian:

AccesoPlanesQué incluye
API básicaStarter y UnlimitedLa mayoría de los endpoints: contactos, oportunidades, calendarios, citas, formularios, conversaciones. Llaves de API a nivel de subcuenta (Location API Keys).
API avanzadaAgency ProTodo lo anterior más las llaves a nivel de agencia (Agency API Keys) y los endpoints de OAuth 2.0. Es lo que necesitas para crear subcuentas, cargar snapshots o crear usuarios por código.

Límites de uso

Límite de ráfaga

100 solicitudes por cada 10 segundos

por app de Marketplace, recurso o compañía

Límite de diario

200,000 solicitudes por día

por app de Marketplace, recurso o compañía

Cada respuesta trae encabezados que te dicen cuánto te queda. Un programa bien hecho los lee y frena solo, en vez de esperar a que la API le devuelva un error:

X-RateLimit-MaxEl techo de solicitudes de la ventana actual.
X-RateLimit-RemainingCuántas te quedan en esta ventana.
X-RateLimit-Interval-MillisecondsDe cuántos milisegundos es la ventana.
X-RateLimit-Limit-DailyTu techo del día.
X-RateLimit-Daily-RemainingCuántas te quedan hoy.

Los 4 errores que cuestan más tiempo

  1. Olvidar el encabezado Version. El token está bien y la URL está bien, pero la llamada falla. Es el primer sitio donde mirar.
  2. Confundir Location ID con Company ID. El primero es la subcuenta, el segundo la agencia. Los endpoints de nivel agencia piden el segundo.
  3. Pedir un endpoint que tu plan no abre. Crear subcuentas o cargar snapshots requiere la API avanzada. No es un bug tuyo.
  4. Dejar el token en el código. Va en una variable de entorno. Un token subido a un repositorio hay que revocarlo, no esconderlo.

Preguntas frecuentes

¿Qué es la API de GoHighLevel?

Es el conjunto de direcciones web (endpoints) que le permiten a otro programa leer y escribir dentro de tu cuenta de GoHighLevel sin pasar por la interfaz. Con ella un contacto se crea desde tu propio formulario, una cita se agenda desde tu app, o un agente de IA mueve una oportunidad de etapa. La documentación oficial vive en marketplace.gohighlevel.com/docs.

¿Necesito saber programar para usarla?

Para usarla directamente, sí, aunque sea poco. Pero hay un camino intermedio real: darle la URL de la documentación oficial a un asistente de IA, explicarle tu negocio y pedirle que te arme y te explique la llamada. Es la recomendación que da HighLevel mismo, y funciona mejor si empiezas por UN endpoint en vez de intentar entenderlo todo.

¿Qué es un endpoint y qué significan GET, POST, PUT y DELETE?

Un endpoint es una URL que conecta con GoHighLevel. El método dice qué hace: GET trae información, POST crea algo o dispara una acción, PUT actualiza algo que ya existe, y DELETE lo borra. Es la misma dirección con distinta intención.

¿Qué necesito para autenticarme?

Un token en el encabezado Authorization con el formato Bearer, la versión de la API en el encabezado Version, y el Location ID de la subcuenta donde vas a trabajar. Algunos endpoints de nivel agencia piden Company ID en vez de Location ID.

¿Cuál es la diferencia entre integración privada y app de Marketplace?

La integración privada usa un token y sirve para automatizar tu propia cuenta o la de un cliente tuyo. La app de Marketplace usa OAuth 2.0, la instala cada cuenta que la quiera, y es el camino si vas a distribuir o vender la integración a terceros.

¿Todos los planes tienen el mismo acceso?

No. Los planes Starter y Unlimited traen la API básica con llaves a nivel de subcuenta. El plan Agency Pro añade la API avanzada: llaves a nivel de agencia y los endpoints de OAuth 2.0, que son los que permiten crear subcuentas, cargar snapshots y crear usuarios por código.

¿Cuáles son los límites de uso?

Cien solicitudes por cada diez segundos y 200,000 por día, contadas por app de Marketplace, recurso o compañía. Cada respuesta trae encabezados que te dicen cuántas te quedan, así que un programa bien hecho se frena solo antes de chocar con el límite.

¿Qué versión de la API debo usar?

Para algo nuevo, la más reciente disponible en el selector de versión de la documentación. Si mantienes una integración que ya funciona, quédate en su versión y cambia a propósito, no por accidente: cambiar de versión puede alterar la forma de la respuesta.

Fuentes oficiales

Esta página es una guía de entrada en español, no un reemplazo de la documentación. Cuando necesites el detalle exacto de un endpoint, la fuente manda:

Datos verificados contra esas fuentes el 2026-08-24. GoHighLevel cambia su API y sus planes: si algo no cuadra, la documentación oficial es la que vale. Explicación del recorrido de la documentación tomada del video «The GHL API is the most powerful feature» de Andrew George.

Sigue con los cambios diarios de GoHighLevel, los recursos de GHL del catálogo o el glosario de términos de IA.