---
title: GoHighLevel
summary: Connect a GoHighLevel sub-account so your AI agents can read and act on contacts, conversations, calendars, opportunities, payments, and invoices — using a Private Integration Token you create yourself, no app setup or approval.
category: integrations
slug: gohighlevel
---

## What GoHighLevel in Kronos lets your agents do

GoHighLevel connects to Kronos through GoHighLevel's own MCP server. You
create a token inside your GoHighLevel sub-account, paste it into Kronos,
and your AI agents can then work across your CRM — within the scopes your
token allows.

Through a compact set of tools, an agent can reach hundreds of operations
across your sub-account, including:

- **Contacts** — find, read, create, update, tag, and add notes or tasks
  to contacts; look people up by name, email, phone, or tag.
- **Conversations & messages** — read conversation history and send
  messages back to a contact.
- **Calendars & appointments** — check calendars, find free or blocked
  slots, and create or update appointments.
- **Opportunities & pipelines** — search opportunities, move them through
  pipeline stages, and create or update deals.
- **Payments** — look up orders, transactions, subscriptions, and
  coupons.
- **Invoicing** — read and manage invoices and estimates.
- **Products & store** — read products, prices, collections, and
  inventory.

The exact operations an agent can perform are decided by the scopes you
select when you create the token in GoHighLevel — if a scope isn't on the
token, that action simply isn't available.

## Connecting GoHighLevel

You don't register an app or wait for any approval. You create a token in
your own GoHighLevel sub-account and paste it into Kronos.

1. In GoHighLevel, open the **sub-account (location)** you want to
   connect.
2. Go to **Settings → Private Integrations → Create New Integration**.
3. Give it a name (for example, "Kronos"), select the **scopes** you want
   your agents to be able to use (contacts, conversations, calendars,
   opportunities, payments, and so on), and create it.
4. Copy the **Private Integration Token** it gives you. It starts with
   `pit-`.
5. Find your **Location ID** — it's under **Settings → Business Profile**,
   or it's the ID in your sub-account URL.
6. In Kronos, open **Connect** in the sidebar → **Applications** tab →
   click the **GoHighLevel** card.
7. Paste the **Private Integration Token** and the **Location ID**, then
   click **Connect GoHighLevel**.

The connection is made at the account level — you choose which agents can
use it afterwards, so you're never locked into a single agent.

Kronos checks the connection immediately and lists the available tools.
If the token or Location ID is wrong, the connection is rejected on the
spot with an error — nothing is saved.

Each connection works with a single sub-account. To connect more than one
sub-account, create a token in each one and add them separately.

## Choosing scopes

The scopes you check when creating the Private Integration Token decide
what your agents can do. A read-only setup (contacts, conversations, and
calendars marked read-only) lets an agent answer questions and summarize
without changing anything. Adding write scopes lets it create contacts,
send messages, book appointments, or move opportunities.

If you later want an agent to do more (or less), edit the token's scopes
in GoHighLevel, then reconnect in Kronos so the new capabilities are
picked up.

## Giving an agent access

Connecting GoHighLevel does not grant any agent access on its own. To let
an agent use it, open the **AI Agent editor**, scroll to the **MCP
Servers** section, and toggle the GoHighLevel connection on for that
agent. Open its settings there to fine-tune which of the connection's
tools that agent may use.

Repeat for each agent that should have access — one connection can be
shared by as many agents as you want, each with its own tool settings. An
agent you never toggle on simply cannot see GoHighLevel at all.

## Naming the connection

When connecting, you can give the connection a **Display Name** (it
defaults to "GoHighLevel"). If you connect several sub-accounts, a clear
name like "GoHighLevel — Acme" or "GHL — Main Location" makes them easy to
tell apart in the list.

## When something goes wrong

- **Connection rejected while connecting** — the Private Integration Token
  or Location ID is wrong, or the token doesn't have any usable scopes.
  Double-check both values in GoHighLevel and try again. Remember the
  token starts with `pit-`.
- **Agent says it can't do something in GoHighLevel** — the action needs a
  scope your token doesn't have. Edit the token's scopes in GoHighLevel
  (Settings → Private Integrations), then reconnect in Kronos.
- **"Needs reconnect"** — the token was deleted or rotated in GoHighLevel.
  Create a fresh token and reconnect. GoHighLevel recommends rotating
  tokens periodically for security.
- **Wrong records showing up** — the Location ID points at a different
  sub-account than you expected. Reconnect with the correct Location ID.

## Privacy

Kronos does not store your GoHighLevel data. Each time an agent uses a
GoHighLevel action, it fetches or writes just-in-time through the
connection and keeps only what it needs to finish the task. Your Private
Integration Token is used only to talk to GoHighLevel on your behalf and
is never shown back to you or to your agents after you paste it.

When you remove the connection or cancel your Kronos subscription, the
connection is deleted immediately. Revoking the token inside GoHighLevel
also cuts off access instantly.
