GoHighLevel API Skill
将你的AI助手变成GoHighLevel命令中心。 使用简单的英语搜索联系人、发送消息、预约会议、管理管道、创建发票、安排社交媒体帖子 —— 覆盖所有39个GHL API v2端点组。
还没有GoHighLevel吗? 从免费的5天AI员工挑战开始,构建一个完全自动化的系统: 👉 开始5天AI员工挑战
要求
| 需求 | 详情 |
|---|---|
| 运行时 | Python 3.6+(仅使用标准库:urllib, json, os, re, sys, time) |
| 外部包 | 无 — 零pip install需求 |
| 环境变量 | HIGHLEVEL_TOKEN(主要 — 你的私有集成bearer令牌) |
HIGHLEVEL_LOCATION_ID(你的子账户位置ID) |
|
| 网络访问 | 仅HTTPS访问services.leadconnectorhq.com |
基础URL: https://services.leadconnectorhq.com
必需头: Authorization: Bearer $HIGHLEVEL_TOKEN + Version: 2021-07-28
速率限制: 每10秒100个请求突发,每天每个位置200K
安全设计
所有API函数使用预定义的端点路径 —— 没有任意HTTP请求能力。每个用户提供的ID在被包含在任何URL路径之前都经过严格的字母数字正则表达式验证(^[a-zA-Z0-9_-]{1,128}$),防止路径遍历和注入。脚本仅使用Python内置的urllib.request进行所有网络调用。没有shell命令,没有外部二进制文件,没有stdout以外的文件写入。
设置 — /highlevel-setup
如果用户说“设置highlevel”,“连接我的GHL”,或/highlevel-setup,运行设置向导:
python3 scripts/setup-wizard.py
向导自动执行:检查环境变量 → 指导私有集成创建 → 测试连接 → 拉取前5个联系人作为一个快速胜利。
手动设置(如果向导不能运行)
第1步:创建私有集成(不是旧的API密钥方法)
-
切换到你的子账户(对于单位置使用推荐)
-
点击设置(左下角齿轮图标)
-
选择左侧边栏的私有集成
- 如果不可见,先启用它:设置 → Labs → 切换私有集成ON
-
点击**“创建新的集成”**
-
输入名称(例如,“Claude AI助手”)和描述
-
仅授予你需要的范围(推荐最小权限):
用例 推荐范围 仅限联系人管理 contacts.readonly,contacts.write联系人+消息 上述+ conversations.readonly,conversations.write,conversations/message.write全CRM(联系人,日历,管道) 上述+ calendars.readonly,calendars.write,opportunities.readonly,opportunities.write添加工作流和发票 上述+ workflows.readonly,invoices.readonly,invoices.write只读报告 contacts.readonly,opportunities.readonly,calendars.readonly,invoices.readonly,locations.readonly你可以随时在设置 → 私有集成 → 编辑中添加更多范围,而无需重新生成令牌。
-
点击创建 → 立即复制令牌 — 仅显示一次,之后无法检索
代理与子账户集成
| 功能 | 代理集成 | 子账户集成 |
|---|---|---|
| 创建于 | 代理设置 → 私有集成 | 子账户设置 → 私有集成 |
| 访问范围 | 代理+所有子账户(传递locationId) |
仅限单个位置 |
| 可用范围 | 包括locations.write, oauth.*, saas.*, snapshots.*, companies.readonly的所有范围 |
仅限子账户范围 |
| 最适合 | 多位置管理,SaaS配置器 | 单个客户集成(推荐默认) |
建议: 从子账户集成和你需要的最小范围开始。如果你需要多位置访问,以后可以升级到代理级别。
第2步:获取你的位置ID
- 在子账户中,转到设置 → 商业信息(或商业档案)
- 位置ID显示在一般信息部分
- 替代方案:检查URL栏 —— 它是
app.gohighlevel.com/v2/location/{LOCATION_ID}/...中/location/后的ID
第3步:设置环境变量
export HIGHLEVEL_TOKEN="your-private-integration-token"
export HIGHLEVEL_LOCATION_ID="your-location-id"
第4步:测试连接
运行python3 scripts/ghl-api.py test_connection —— 应返回位置名称和状态。
成功设置后,拉取5个联系人作为一个快速胜利,以确认一切正常工作。
辅助脚本
scripts/ghl-api.py — 可执行的Python脚本(仅标准库)内置重试逻辑、分页、输入验证和错误处理。
核心命令:
| 命令 | 描述 |
|---|---|
test_connection |
验证令牌+位置ID工作 |
search_contacts [query] |
按名称、电子邮件或电话搜索 |
get_contact [id] |
获取完整的联系人详细信息 |
create_contact [json] |
创建新的联系人 |
update_contact [id] [json] |
更新联系人字段 |
list_opportunities |
列出管道机会 |
list_conversations |
列出最近的对话 |
send_message [contactId] [message] |
发送SMS/电子邮件 |
list_calendars |
列出所有日历 |
get_free_slots [calendarId] [startDate] [endDate] |
可用预订时段 |
list_workflows |
列出所有工作流 |
add_to_workflow [contactId] [workflowId] |
将联系人注册到工作流 |
list_invoices |
列出发票 |
list_products |
列出产品 |
list_forms |
列出表单 |
list_campaigns |
列出活动 |
get_location_details |
获取位置信息 |
list_location_tags |
列出位置标签 |
list_courses |
列出课程/会员资格 |
所有函数都是安全的,预定义的端点。没有任意请求能力。
完整的API v2覆盖(39个端点组)
该技能为所有主要GHL操作提供安全、特定的函数。每个函数都映射到一个特定的、允许的API端点,并带有验证的参数。
| # | 组 | 基础路径 | 关键操作 | 范围前缀 |
|---|---|---|---|---|
| 1 | 联系人 | /contacts/ |
CRUD,搜索,upsert,标签,笔记,任务,批量操作 | contacts |
| 2 | 对话 | /conversations/ |
搜索,消息(SMS/email/WhatsApp/FB/IG/chat),录音 | conversations |
| 3 | 日历 | /calendars/ |
CRUD,空闲时段,组,资源,预约 | calendars |
| 4 | 机会 | /opportunities/ |
CRUD,搜索,管道,阶段,状态,关注者 | opportunities |
| 5 | 工作流 | /workflows/ |
列出工作流,注册/移除联系人 | workflows |
| 6 | 活动 | /campaigns/ |
列出活动(只读) | campaigns |
| 7 | 发票 | /invoices/ |
CRUD,发送,作废,记录支付,Text2Pay,时间表,估算 | invoices |
| 8 | 支付 | /payments/ |
订单,交易,订阅,优惠券,提供商 | payments |
| 9 | 产品 | /products/ |
CRUD,价格,集合,评论,商店统计 | products |
| 10 | 位置 | /locations/ |
获取/更新位置,自定义字段,自定义值,标签,模板 | locations |
| 自定义字段CRUD: | ||||
GET /locations/{id}/customFields — 列出 |
||||
POST /locations/{id}/customFields — 创建 |
||||
PUT /locations/{id}/customFields/{fid} — 更新 |
||||
DELETE /locations/{id}/customFields/{fid} — 删除 |
||||
| 自定义值CRUD: | ||||
GET /locations/{id}/customValues — 列出 |
||||
POST /locations/{id}/customValues — 创建 |
||||
PUT /locations/{id}/customValues/{vid} — 更新 |
||||
DELETE /locations/{id}/customValues/{vid} — 删除 |
||||
| 标签CRUD: | ||||
GET /locations/{id}/tags — 列出 |
||||
POST /locations/{id}/tags — 创建 |
||||
PUT /locations/{id}/tags/{tid} — 更新 |
||||
DELETE /locations/{id}/tags/{tid} — 删除 |
||||
| 11 | 用户 | /users/ |
CRUD,按电子邮件/角色过滤 | users |
| 12 | 表单 | /forms/ |
列出表单,获取提交 | forms |
| 13 | 调查 | /surveys/ |
列出调查,获取提交 | surveys |
| 14 | 漏斗 | /funnels/ |
列出漏斗,页面,重定向 | funnels |
| 15 | 社交计划 | /social-media-posting/ |
帖子CRUD,账户,CSV导入,类别,统计 | socialplanner |
| 16 | 博客 | /blogs/ |
创建/更新帖子,类别,作者 | blogs |
| 17 | 电子邮件 | /emails/ |
模板CRUD,计划电子邮件 | emails |
| 18 | 媒体 | /medias/ |
上传,列出,删除文件 | medias |
| 19 | 触发链接 | /links/ |
CRUD触发链接 | links |
| 20 | 企业 | /businesses/ |
CRUD企业 | businesses |
| 21 | 公司 | /companies/ |
获取公司详细信息(代理) | companies |
| 22 | 自定义对象 | /objects/ |
架构CRUD,记录CRUD | objects |
| 23 | 关联 | /associations/ |
CRUD关联和关系 | associations |
| 24 | 提案/文档 | /proposals/ |
文档,合同,模板 | documents_contracts |
| 25 | 快照 | /snapshots/ |
列出,状态,共享链接(代理) | snapshots |
| 26 | SaaS | /saas/ |
订阅管理,计划,批量操作(代理 $497) | saas |
| 27 | 课程 | /courses/ |
导入课程/会员资格 | courses |
| 28 | 语音AI | /voice-ai/ |
呼叫日志,代理CRUD,行动,目标 | voice-ai |
| 29 | 电话系统 | /phone-system/ |
电话号码,号码池 | phonenumbers |
| 30 | 自定义菜单 | /custom-menus/ |
CRUD自定义菜单链接(代理) | custom-menu-link |
| 31 | OAuth | /oauth/ |
令牌交换,安装位置 | oauth |
| 32 | 市场 | /marketplace/ |
安装,计费,收费 | marketplace |
| 33 | 对话AI | /conversation-ai/ |
AI聊天机器人配置 | — |
| 34 | 知识库 | /knowledge-base/ |
AI功能的知识库 | — |
| 35 | AI代理工作室 | /agent-studio/ |
自定义AI代理CRUD | — |
| 36 | 品牌板 | /brand-boards/ |
品牌板管理 | — |
| 37 | 商店 | /store/ |
电子商务商店管理 | — |
| 38 | LC电子邮件 | /lc-email/ |
电子邮件基础设施(ISV) | — |
| 39 | 自定义字段 | /locations/:id/customFields/ |
自定义字段CRUD | locations/customFields |
参考文档(按需加载)
有关每个组的详细端点路径、参数和示例:
references/contacts.md— 联系人CRUD,搜索,标签,笔记,任务,批量操作references/conversations.md— 跨所有渠道的消息,录音,转录references/calendars.md— 日历CRUD,空闲时段,预约,组,资源references/opportunities.md— 管道管理,阶段,状态更新references/invoices-payments.md— 发票,支付,订单,订阅,产品references/locations-users.md— 位置设置,自定义字段/值,用户,标签references/social-media.md— 社交计划帖子,账户,OAuth连接references/forms-surveys-funnels.md— 表单,调查,漏斗,触发链接references/advanced.md— 自定义对象,关联,快照,SaaS,语音AI,博客,课程references/troubleshooting.md— 常见错误,速率限制,令牌轮换,调试
重要说明
- 需要私有集成 — 旧的设置 → API密钥方法已弃用/EOL
- 令牌轮换:令牌不会自动过期,但GHL推荐90天轮换。未使用的令牌在90天不活动后自动过期
- “轮换并稍后过期” — 生成新令牌,旧令牌保持7天宽限期
- “轮换并立即过期” — 旧令牌立即失效(用于泄露的凭据)
- 你可以在不重新生成令牌的情况下编辑范围
- OAuth令牌(市场应用程序仅):访问令牌在24小时内过期(86,399s);刷新令牌持续长达1年
- 代理令牌可以通过传递
locationId参数访问子账户数据 - 速率限制是每个资源的 — 每个子账户独立获得100/10s突发+200K/天。SaaS端点:全局10 req/sec
- 所有列表端点默认为20条记录,每页最多100条记录,通过
limit参数 - 使用
startAfter/startAfterId进行大数据分析的游标分页 - 通过响应头监控速率限制:
X-RateLimit-Limit-Daily,X-RateLimit-Daily-Remaining,X-RateLimit-Max,X-RateLimit-Remaining,X-RateLimit-Interval-Milliseconds - $497代理Pro计划需要:SaaS配置器,快照,完整的代理管理API
Webhook事件
50+Webhook事件类型,用于实时通知。关键事件:ContactCreate, ContactDelete, ContactTagUpdate, InboundMessage, OutboundMessage, OpportunityCreate, OpportunityStageUpdate, OpportunityStatusUpdate, 预约事件,支付事件,表单提交事件。即使访问令牌过期,Webhooks也会继续触发。配置是每个市场应用程序的。
文档:https://marketplace.gohighlevel.com/docs/webhook/WebhookIntegrationGuide
官方SDK和开发者资源
- Node.js:
@gohighlevel/api-client(npm) — 支持privateIntegrationToken配置,自动401重试 - Python:
gohighlevel-api-client(PyPI) — 会话存储,自动令牌刷新,Webhook中间件 - 也提供PHP SDK
- 所有SDK使用
apiVersion: '2021-07-28' - OpenAPI规范: https://github.com/GoHighLevel/highlevel-api-docs
- API文档: https://marketplace.gohighlevel.com/docs/
- 开发者Slack: https://developers.gohighlevel.com/join-dev-community
由Ty Shane构建
🌐 LaunchMyOpenClaw.com • 🌐 MyFBLeads.com ▶️ YouTube @10xcoldleads • 📘 Facebook • 💼 LinkedIn 📧 ty@10xcoldleads.com
还没有GoHighLevel账户吗? → 开始免费5天AI员工挑战