highlevel
Connect your AI assistant to GoHighLevel CRM via the official API v2.
Skill by Ty Shane
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/javimosch-highlevel
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, sales
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/highlevel
What's inside
- Skill name
highlevel- Description
- Connect your AI assistant to GoHighLevel CRM via the official API v2. Manage contacts, conversations, calendars, pipelines, invoices, payments, workflows, and 30+ endpoint groups through natural language. Includes interactive setup wizard and 100+ pre-built, safe API commands. Python 3.6+ stdlib only — zero external dependencies.
- License
- MIT
- Compatibility
- Requires Python 3.6+ (stdlib only, no pip installs). Requires two environment variables: HIGHLEVEL_TOKEN and HIGHLEVEL_LOCATION_ID.
- Metadata
- author: Ty Shane · version: 1.2.0
- Instructions
- 232 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- files: referenced but missing: scripts/ghl-api.py, references/contacts.md, references/conversations.md, references/calendars.md, references/opportunities.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# 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**](https://gohighlevel.com/5-day-challenge?fp_ref=369ai)
## Requirements
| Requirement | Details |
|-------------|---------|
| **Runtime** | Python 3.6+ (uses only standard library: `urllib`, `json`, `os`, `re`, `sys`, `time`) |
| **External packages** | **None** — zero `pip install` required |
| **Environment variables** | `HIGHLEVEL_TOKEN` (Primary — your Private Integration bearer token) |
| | `HIGHLEVEL_LOCATION_ID` (your sub-account Location ID) |
| **Network access** | HTTPS 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:
```bash
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 case | Recommended scopes |
|----------|--------------------|
| Contact management only | `contacts.readonly`, `contacts.write` |
| Contacts + messaging | Above + `conversations.readonly`, `conversations.write`, `conversations/message.write` |
| Full CRM (contacts, calendar, pipeline) | Above + `calendars.readonly`, `calendars.write`, `opportunities.readonly`, `opportunities.write` |
| Adding workflows & invoices | Above + `workflows.readonly`, `invoices.readonly`, `invoices.write` |
| Read-only reporting | `contacts.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
| Feature | Agency Integration | Sub-Account Integration |
|---------|-------------------|------------------------|
| Created at | Agency Settings → Private Integrations | Sub-Account Settings → Private Integrations |
| Access scope | Agency + all sub-accounts (pass `locationId`) | Single location only |
| Available scopes | All scopes including `locations.write`, `oauth.*`, `saas.*`, `snapshots.*`, `companies.readonly` | Sub-account scopes only |
| Best for | Multi-location management, SaaS configurator | Single 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 **Settings** → **Business 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
```bash
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:**
| Command | Description |
|---------|-------------|
| `test_connection` | Verify 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_opportunities` | List pipeline opportunities |
| `list_conversations` | List recent conversations |
| `send_message [contactId] [message]` | Send SMS/email |
| `list_calendars` | List all calendars |
| `get_free_slots [calendarId] [startDate] [endDate]` | Available booking slots |
| `list_workflows` | List all workflows |
| `add_to_workflow [contactId] [workflowId]` | Enroll contact in workflow |
| `list_invoices` | List invoices |
| `list_products` | List products |
| `list_forms` | List forms |
| `list_campaigns` | List campaigns |
| `get_location_details` | Get location info |
| `list_location_tags` | List location tags |
| `list_courses` | List 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.From javimosch/open-claw-skills, MIT.
More from javimosch/open-claw-skills
- 0.454score
time-checker
javimosch
Check accurate current time, date, and timezone information for any location worldwide using time.is.
SkillCFreshness: CClaude Code +9 - 0.454score
skill-refiner
javimosch
Audit and fix all skills in the workspace for compliance with skill-creator requirements.
SkillCFreshness: CClaude Code +9 - 0.451score
mema
javimosch
Mema's personal brain - SQLite metadata index for documents and Redis short-term context buffer.
SkillCFreshness: CClaude Code +9 - 0.450score
stability-ai
javimosch
Generate high-quality images via Stability AI API (SDXL, SD3, Stable Image Core).
SkillCFreshness: CClaude Code +9 - 0.450score
mermaid-architect
javimosch
Generate beautiful, hand-drawn Mermaid diagrams with robust syntax (quoted labels, ELK layout).
SkillCFreshness: CClaude Code +9 - 0.450score
node-red-manager
javimosch
Manage Node-RED instances via Admin API or CLI.
SkillCFreshness: CClaude Code +9 - 0.450score
system-architect
javimosch
Acts as a Senior System Architect to design robust, scalable, and maintainable software architectures.
SkillCFreshness: CClaude Code +9 - 0.448score
byr-cli
javimosch
Use BYR CLI for auth, search, detail inspection, and safe torrent download planning with JSON envelopes.
SkillCFreshness: CClaude Code +9 - 0.448score
search-cluster
javimosch
Aggregated search aggregator using Google CSE, GNews RSS, Wikipedia, Reddit, and Scrapling.
SkillCFreshness: CClaude Code +9 - 0.447score
line-client
javimosch
LINE messaging integration via Chrome extension gateway.
SkillCFreshness: CClaude Code +9 - 0.447score
cloudflare-manager
javimosch
Manage Cloudflare DNS records, Tunnels (cloudflared), and Zero Trust policies.
SkillCFreshness: CClaude Code +9 - 0.447score
security-guardian
javimosch
Automated security auditing for OpenClaw projects.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 1
- Last commit (this folder)
- Jun 6, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.2.0
- License
- MIT
- Repository
- github.com/javimosch/open-claw-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
highlevel skill. Agent Mart. https://agentmart.dev/skills/javimosch-highlevel (last updated 2026-10-24)