gohighlevel-api

2
1
Source

Connect Claude to your GoHighLevel CRM. Manage contacts, conversations, calendars, pipelines, invoices, payments, workflows, social media, and 30+ more endpoint groups — all through natural language. Includes interactive setup wizard and 40+ pre-built API commands.

Install

mkdir -p .claude/skills/gohighlevel-api && curl -L -o skill.zip "https://mcp.directory/api/skills/download/6673" && unzip -o skill.zip -d .claude/skills/gohighlevel-api && rm skill.zip

Installs to .claude/skills/gohighlevel-api

About this skill

GoHighLevel API Skill

Turn your AI assistant into a GoHighLevel command center. Search contacts, send messages, book appointments, manage pipelines, create invoices, schedule social posts — across all 39 GHL API v2 endpoint groups, using plain English.

Don't have GoHighLevel yet? Start with the free 5-Day AI Employee Challenge and build a fully automated system: 👉 Start the 5-Day AI Employee Challenge

Requirements

RequirementDetails
RuntimePython 3.6+ (uses only standard library: urllib, json, os, re, sys, time)
External packagesNone — zero pip install required
Environment variablesHIGHLEVEL_TOKEN (Primary — your Private Integration bearer token)
HIGHLEVEL_LOCATION_ID (your sub-account Location ID)
Network accessHTTPS to services.leadconnectorhq.com only

Base URL: https://services.leadconnectorhq.com Required Headers: Authorization: Bearer $HIGHLEVEL_TOKEN + Version: 2021-07-28 Rate Limits: 100 requests/10 seconds burst, 200K/day per location

Security Design

All API functions use pre-defined endpoint paths — there is no arbitrary HTTP request capability. Every user-supplied ID is validated against a strict alphanumeric regex (^[a-zA-Z0-9_-]{1,128}$) before being included in any URL path, preventing path traversal and injection. The scripts use only Python's built-in urllib.request for all network calls. No shell commands, no external binaries, no file writes outside of stdout.

Setup — /highlevel-setup

If the user says "set up highlevel", "connect my GHL", or /highlevel-setup, run the setup wizard:

python3 scripts/setup-wizard.py

The wizard automatically: checks environment variables → guides Private Integration creation → tests the connection → pulls first 5 contacts as a quick win.

Manual Setup (if wizard can't run)

Step 1: Create a Private Integration (NOT the old API Keys method)

  1. Log into app.gohighlevel.com

  2. Switch to your Sub-Account (recommended for single-location use)

  3. Click Settings (bottom-left gear icon)

  4. Select Private Integrations in the left sidebar

    • If not visible, enable it first: Settings → Labs → toggle Private Integrations ON
  5. Click "Create new Integration"

  6. Enter a name (e.g., "Claude AI Assistant") and description

  7. Grant only the scopes you need (least-privilege recommended):

    Use caseRecommended scopes
    Contact management onlycontacts.readonly, contacts.write
    Contacts + messagingAbove + conversations.readonly, conversations.write, conversations/message.write
    Full CRM (contacts, calendar, pipeline)Above + calendars.readonly, calendars.write, opportunities.readonly, opportunities.write
    Adding workflows & invoicesAbove + workflows.readonly, invoices.readonly, invoices.write
    Read-only reportingcontacts.readonly, opportunities.readonly, calendars.readonly, invoices.readonly, locations.readonly

    You can always add more scopes later in Settings → Private Integrations → Edit without regenerating the token.

  8. Click Create → Copy the token IMMEDIATELY — it is shown only once and cannot be retrieved later

Agency vs Sub-Account Integrations

FeatureAgency IntegrationSub-Account Integration
Created atAgency Settings → Private IntegrationsSub-Account Settings → Private Integrations
Access scopeAgency + all sub-accounts (pass locationId)Single location only
Available scopesAll scopes including locations.write, oauth.*, saas.*, snapshots.*, companies.readonlySub-account scopes only
Best forMulti-location management, SaaS configuratorSingle client integrations (recommended default)

Recommendation: Start with a Sub-Account integration and the minimum scopes you need. You can upgrade to Agency-level later if you need multi-location access.

Step 2: Get Your Location ID

  1. While in the sub-account, go to SettingsBusiness Info (or Business Profile)
  2. The Location ID is displayed in the General Information section
  3. Alternative: check the URL bar — it's the ID after /location/ in app.gohighlevel.com/v2/location/{LOCATION_ID}/...

Step 3: Set Environment Variables

export HIGHLEVEL_TOKEN="your-private-integration-token"
export HIGHLEVEL_LOCATION_ID="your-location-id"

Step 4: Test Connection

Run python3 scripts/ghl-api.py test_connection — should return location name and status.

After successful setup, pull 5 contacts as a quick win to confirm everything works.

Helper Script

scripts/ghl-api.py — Executable Python script (stdlib only) with built-in retry logic, pagination, input validation, and error handling.

Core Commands:

CommandDescription
test_connectionVerify token + location ID work
search_contacts [query]Search by name, email, or phone
get_contact [id]Get full contact details
create_contact [json]Create new contact
update_contact [id] [json]Update contact fields
list_opportunitiesList pipeline opportunities
list_conversationsList recent conversations
send_message [contactId] [message]Send SMS/email
list_calendarsList all calendars
get_free_slots [calendarId] [startDate] [endDate]Available booking slots
list_workflowsList all workflows
add_to_workflow [contactId] [workflowId]Enroll contact in workflow
list_invoicesList invoices
list_productsList products
list_formsList forms
list_campaignsList campaigns
get_location_detailsGet location info
list_location_tagsList location tags
list_coursesList courses/memberships

All functions are safe, pre-defined endpoints. No arbitrary request capability.

Complete API v2 Coverage (39 Endpoint Groups)

The skill provides safe, specific functions for all major GHL operations. Each function maps to a specific, allowed API endpoint with validated parameters.

#GroupBase PathKey OperationsScope Prefix
1Contacts/contacts/CRUD, search, upsert, tags, notes, tasks, bulk opscontacts
2Conversations/conversations/Search, messages (SMS/email/WhatsApp/FB/IG/chat), recordingsconversations
3Calendars/calendars/CRUD, free slots, groups, resources, appointmentscalendars
4Opportunities/opportunities/CRUD, search, pipelines, stages, status, followersopportunities
5Workflows/workflows/List workflows, enroll/remove contactsworkflows
6Campaigns/campaigns/List campaigns (read-only)campaigns
7Invoices/invoices/CRUD, send, void, record payment, Text2Pay, schedules, estimatesinvoices
8Payments/payments/Orders, transactions, subscriptions, coupons, providerspayments
9Products/products/CRUD, prices, collections, reviews, store statsproducts
10Locations/locations/Get/update location, custom fields, custom values, tags, templateslocations
Custom Fields CRUD:
GET /locations/{id}/customFields — List
POST /locations/{id}/customFields — Create
PUT /locations/{id}/customFields/{fid} — Update
DELETE /locations/{id}/customFields/{fid} — Delete
Custom Values CRUD:
GET /locations/{id}/customValues — List
POST /locations/{id}/customValues — Create
PUT /locations/{id}/customValues/{vid} — Update
DELETE /locations/{id}/customValues/{vid} — Delete
Tags CRUD:
GET /locations/{id}/tags — List
POST /locations/{id}/tags — Create
PUT /locations/{id}/tags/{tid} — Update
DELETE /locations/{id}/tags/{tid} — Delete
11Users/users/CRUD, filter by email/roleusers
12Forms/forms/List forms, get submissionsforms
13Surveys/surveys/List surveys, get submissionssurveys
14Funnels/funnels/List funnels, pages, redirectsfunnels
15Social Planner/social-media-posting/Posts CRUD, accounts, CSV import, categories, statssocialplanner
16Blogs/blogs/Create/update posts, categories, authorsblogs
17Email/emails/Templates CRUD, scheduled emailsemails
18Media/medias/Upload, list, delete filesmedias
19Trigger Links/links/CRUD trigger linkslinks
20Businesses/businesses/CRUD businessesbusinesses
21Companies/companies/Get company details (Agency)companies
22Custom Objects/objects/Schema CRUD, record CRUDobjects
23Associations/associations/CRUD associations and relationsassociations
24Proposals/Docs/proposals/Documents, contracts, templatesdocuments_contracts
25Snapshots/snapshots/List, status, share links (Agency)snapshots
26SaaS/saas/Subscription mgmt, plans, bulk ops (Agency $497)saas
27Courses/courses/Import courses/membershipscourses
28Voice AI/voice-ai/Call logs, agent CRUD, actions, goalsvoice-ai
29Phone System/phone-system/Phone numbers, number poolsphonenumbers
30Custom Menus/custom-menus/CRUD c

Content truncated.

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,6841,428

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

1,2621,324

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,5331,147

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

1,353807

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

1,263727

pdf-to-markdown

aliceisjustplaying

Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.

1,481684