integrations tools gohighlevel

    GoHighLevel MCP for your AI agent

    Cogny's GoHighLevel integration exposes 15 tools (9 read, 5 write, 1 destructive) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

    • 9readonly reads data.
    • 5writecreates or changes something.
    • 1destructivedeletes, removes or replaces something.

    Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations. Plans, approvals and limits

    set it up.

    Add Cogny to your AI client once, then connect GoHighLevel in Cogny. Every GoHighLevel tool below appears in the client.

    • Claude CodeRun claude mcp add --transport http cogny https://app.cogny.com/mcp, then authorise in the browser.
    • Claude.aiSettings → Connectors → Add custom connector, URL https://app.cogny.com/mcp, then log in and pick your workspace.
    • ChatGPTSettings → Apps → Advanced settings → Developer mode → Create app, URL https://app.cogny.com/mcp, authentication OAuth.
    • CursorIn Cogny, Settings → Data & Integrations → Connect AI Clients shows the block to paste into .mcp.json, with an API key.
    • CodexRun codex mcp add cogny --url https://app.cogny.com/mcp.

    Full setup, and how to undo it

    Notes

    GoHighLevel (now branded HighLevel) connects with two values from HighLevel → Settings → Private Integrations and Dashboard: the Private Integration Token and the Location ID. Create a new integration in Settings → Private Integrations, tick the scopes the agent should have, and copy the generated token. Get your Location ID under Settings → Business Profile, or from the end of the sub-account URL. The dashboard joins them with :.

    There is no OAuth flow or app registration: the token is a static Personal Access Token that does not expire unless you rotate it in HighLevel. It carries the permissions of the scopes you ticked when you created the integration, so give it only what Cogny needs.

    The integration works on a single sub-account (location) at a time — the Location ID you connect. Pipelines, conversations, calendars, tags and contacts are all scoped to that location. Writes stay ask-first until you allow them in Settings.

    HighLevel rate limits are roughly 100 requests per 10 seconds per location, up to 200,000 per day. The proxy surfaces HTTP 429 with a clear wait-and-retry message.

    Known gaps

    • No message sending. Creating a message (POST /conversations/messages) is intentionally not built — it sends to a real customer and is publish-gated. The agent reads the messages of a conversation but cannot reply.
    • No contact deletes. Contacts are upserted and updated, and tags added and removed, but a contact can't be hard-deleted.
    • Opportunities are created, updated (name, stage, status, value) and searched, but not deleted.
    • No funnels, workflows, calendar booking (only listing), forms or surveys.
    • Pipelines are listed with their stages, but not created or edited.

    what each tool does.

    Read 9 · only reads data

    • list_contactsReadList GoHighLevel contacts in the connected location, optionally filtered by name/email/phone.
    • get_contactReadGet one GoHighLevel contact by id, including its tags and any custom field values.
    • search_opportunitiesReadSearch GoHighLevel opportunities (deals), optionally filtered by pipeline and status (open, won or lost).
    • list_pipelinesReadList the GoHighLevel opportunity pipelines and their stages for the connected location.
    • search_conversationsReadSearch GoHighLevel conversations for the connected location, optionally for one contact, newest first.
    • list_conversation_messagesReadList the messages of one GoHighLevel conversation, newest first.
    • list_calendarsReadList the GoHighLevel booking calendars for the connected location.
    • get_locationReadGet the connected GoHighLevel location (sub-account) — its name, phone, address and settings.
    • list_location_tagsReadList the GoHighLevel tags available in the connected location, so you know which tags you can add to contacts.

    Write 5 · creates or changes something

    • upsert_contactWriteUpsert a GoHighLevel contact: update the existing contact that matches the email or phone, or create a new one.
    • update_contactWriteUpdate fields, tags or custom fields of an existing GoHighLevel contact.
    • add_contact_tagsWriteAdd tags to a GoHighLevel contact.
    • create_opportunityWriteCreate a new GoHighLevel opportunity (deal) in a pipeline stage.
    • update_opportunityWriteUpdate a GoHighLevel opportunity (deal): rename it, move it to another stage, change its status or set its value.

    Destructive 1 · deletes, removes or replaces something

    • remove_contact_tagsDestructiveRemove tags from a GoHighLevel contact.

    Exact input schemas come from tools/list once GoHighLevel is connected; the free plan is enough to check. Missing something? Your agent can ask for it with request_feature.