平台
特点
代理工作室
快速建立和定制您的代理
自主发动机
使用LLMs 引导对话和任务
知识库
使用自定义知识源训练机器人
表格
存储和管理对话数据
渠道
Whatsapp 徽章
WhatsApp
Instagram 徽章
Instagram
FacebookMessenger 徽标
Messenger
Slack 徽标
Slack
所有频道
集成
Hubspot 徽标
HubSpot
Notion 徽标
Notion
Jira 徽标
Jira
Calendly 徽标
Calendly
所有集成
LLM 提供商
OpenAI 徽标
OpenAI
Anthropic 徽标
Anthropic
Groq 徽标
Groq
拥抱脸庞徽标
Hugging Face
全部LLMs
解决方案
对于
企业
实现关键任务生产工作流程自动化
机构
提供完善的代理服务
开发者
探索用于代理开发的强大 API
客户故事
从成功客户那里了解Botpress 如何改变全球业务。
按行业分类
电子商务
教育
财务
接待服务
所有行业
部门
销售
工程学
产品
ITSM
所有部门
按用例
购物助理
潜在客户生成
员工体验
票务管理
所有用例
资源
必要
Academy
通过精心设计的课程学习建造
图书馆
增强人工智能工作流程的资源
博客
有关Botpress 和人工智能代理的见解和最新情况
建筑物
Discord
与成千上万的同行一起交流思想
文件
全面的指南和参考资料
应用程序接口
与外部系统配合使用的参考资料
LLM 排名
比较模式提供商的性能和成本
视频
教程、演示和产品演示
更新日志
了解Botpress 的最新更新
合作伙伴
成为合作伙伴
加入我们的认证专家网络
聘请专家
与合作伙伴和顾问联系
文件
企业
价格
登录
联系方式注册
返回Hub

GoHighLevel

v1.0.1
安装到工作区
由Botpress 增长团队维护
  # Botpress Integration: GoHighLevel

## **GoHighLevel OAuth Integration Guide** ##

For further details, refer to the [**GoHighLevel API documentation**](https://highlevel.stoplight.io/docs/integrations/0443d7d1a4bd0-overview). 


### **[Loom video walk through setting up the OAuth configuration.](https://www.loom.com/share/0b7aad49278d4411993c2e88e05405f8?sid=4bbd0c57-b64f-49e6-b6a4-1ab12a05af21)** ###

## **Step 1: Create a Developer App**

1. Go to the [GoHighLevel Marketplace](https://marketplace.gohighlevel.com/).  
2. Sign up for a **developer account** (if you haven’t already).  
3. Navigate to **"My Apps"**, then click on **"Create App."**  
4. Fill in the required details in the form and submit it. Your app will be created.  
5. Click on your newly created app to access its settings.  
6. Configure the required **redirect URI**, **OAuth scopes** and generate API keys.

### **Required OAuth Scopes (If using every card)**

```contacts.readonly
contacts.write
conversations.readonly
users.write
opportunities.readonly
opportunities.write
payments/orders.readonly
payments/orders.write
calendars.readonly
calendars.write
calendars/events.readonly
calendars/events.write
companies.readonly
businesses.readonly
businesses.write
```

## **Step 2: Generate the Authorization URL**

Use the appropriate **authorization URL** based on whether you are using the standard GoHighLevel or a white-label instance.

### **Standard (Non-White Label) URL**
```
https://marketplace.gohighlevel.com/oauth/chooselocation?response_type=code&redirect_uri=BOTPRESS_WEBHOOK/oauth&client_id=CLIENT_ID&scope=contacts.readonly contacts.write conversations.readonly users.write opportunities.readonly opportunities.write payments/orders.readonly payments/orders.write calendars.readonly calendars.write calendars/events.readonly calendars/events.write companies.readonly businesses.readonly businesses.write
```
### **White Label URL**

```
https://marketplace.leadconnectorhq.com/oauth/chooselocation?response_type=code&redirect_uri=BOTPRESS_WEBHOOK/oauth&client_id=CLIENT_ID&scope=contacts.readonly contacts.write conversations.readonly users.write opportunities.readonly opportunities.write payments/orders.readonly payments/orders.write calendars.readonly calendars.write calendars/events.readonly calendars/events.write companies.readonly businesses.readonly businesses.write
```
## **Step 3: Obtain the Authorization Code**

When a user grants access, their browser will be **redirected to the specified redirect URI** with an **authorization code** as a query parameter.

 Example:

 https://myapp.com/oauth/callback/gohighlevel?code=7676cjcbdc6t76cdcbkjcd09821jknnkj

**Copy the authorization code** from the URL.

## **Step 4: Exchange the Code for an Access Token**

1. Go to [GoHighLevel API Token Exchange](https://highlevel.stoplight.io/docs/integrations/00d0c0ecaa369-get-access-token).  
2. Enter the following details:  
   * **Client ID**  
   * **Client Secret**  
   * **Authorization Code** (from Step 3\)  
3. Submit the request.

## **Step 5: Save the Access and Refresh Tokens**

Once you successfully exchange the authorization code, you will receive a response containing:

{  
  "access\_token": "your\_access\_token\_here",  
  "refresh\_token": "your\_refresh\_token\_here",  
}

* **Save the `access_token` and `refresh_token`.**  
* Enter these credentials into **Botpress and your client id and secret id** for authentication.


## Overview
This Botpress integration allows seamless interaction with the **GoHighLevel** CRM. It enables users to manage contacts, opportunities, appointments, and orders directly through their chatbot.

## Features
- **Contacts Management:** Create, retrieve, update, delete, and upsert contacts.
- **Opportunities Management:** Create, update, delete, and retrieve opportunities.
- **Appointments & Calendar Events:** Create, update, retrieve, and delete events.
- **Orders Management:** List orders and retrieve orders by ID.
- **General API Call:** Execute custom API requests to GoHighLevel.


---
## API Functions & Usage
Below are the available actions in this integration:

### 1️⃣ **Contacts Management**

#### **Create Contact**
- **Description:** Creates a new contact.
- **Method:** `POST /contacts/`
- **Input:**
  ```json
  {
    "firstName":"John",
    "lastName":"Doe",
    "locationId":"qWRoUZ6kNRf4Mx3RRtgs"
  }
  ```
- **Output:**
  ```json
  {
    "success": true,
    "message": "Contact created successfully",
    "data": "{contact details}"
  }
  ```

#### **Get Contact**
- **Description:** Retrieves a contact by ID.
- **Method:** `GET /contacts/{contactId}`
- **Input:**
  ```json
    contactId: 123456
  ```
- **Output:** Same as above.

#### **Update Contact**
- **Description:** Updates an existing contact.
- **Method:** `PUT /contacts/{contactId}`
- **Input:**
  ```json
    contactId: 12345
    
  {    
    "firstName": "NewFirstName"
  }
  ```
- **Output:** Same as above.

#### **Delete Contact**
- **Description:** Deletes a contact by ID.
- **Method:** `DELETE /contacts/{contactId}`
- **Input:**
  ```json
    contactId: 123456
  ```
- **Output:**
  ```json
  {
    "success": true,
    "message": "Contact deleted successfully"
  }
  ```

#### **Upsert Contact**
- **Description:** Creates or updates a contact based on existing data.
- **Method:** `POST /contacts/upsert`
- **Input:** Same as `Create Contact`.
- **Output:** Same as `Create Contact`.

#### **Get Contacts by Business ID**
- **Description:** Retrieves contacts for a specific business ID.
- **Method:** `GET /contacts/business/{businessId}`
- **Input:**
  ```json
    businessId: 123456
  ```
- **Output:**
  ```json
  {
    "success": true,
    "message": "Contacts retrieved successfully",
    "data": "{list of contacts}"
  }
  ```

---
### 2️⃣ **Opportunities Management**

#### **Create Opportunity**
- **Description:** Creates a new opportunity.
- **Method:** `POST /opportunities/`
- **Input:**
  ```json
  {
    "pipelineId":"J0VnRDNAXHjlq2GbcnEm",
    "locationId":"qWRoUZ6kNRf4Mx3RRtgs",
    "name":"New Opp",
    "pipelineStageId":"a1ecd775-b7eb-4352-8a07-c2298dca1e7b",
    "status":"open",
    "contactId":"eKJzJtRYlFlcjqiUArC7"
  }
  ```
- **Output:** Same as `Create Contact`.

#### **Get Opportunity**
- **Description:** Retrieves an opportunity by ID.
- **Method:** `GET /opportunities/{opportunityId}`
- **Input:**
  ```json
    opportunityId: 123456
  ```
- **Output:** Same as above.

#### **Update Opportunity**
- **Description:** Updates an opportunity.
- **Method:** `PUT /opportunities/{opportunityId}`
- **Input:** Same as `Update Contact`.
- **Output:** Same as `Update Contact`.

#### **Update Opportunity Status**
- **Description:** Updates an opportunity.
- **Method:** `PUT /opportunities/{opportunityId}`
- **Input:** Same as `Update Contact`.
- **Output:** Same as `Update Contact`.

#### **Delete Opportunity**
- **Description:** Deletes an opportunity by ID.
- **Method:** `DELETE /opportunities/{opportunityId}`
- **Input:**
  ```json
    opportunityId: 123456
  ```
- **Output:** Same as `Delete Contact`.

#### **Upsert Opportunity**
- **Description:** Creates or updates an opportunity.
- **Method:** `POST /opportunities/upsert`
- **Input:** Same as `Create Opportunity`.
- **Output:** Same as `Create Opportunity`.

---
### 3️⃣ **Orders Management**

#### **List Orders**
- **Description:** Retrieves a list of orders.
- **Method:** `GET /payments/orders`
- **Input:**
  ```json
  {
    "altId": "string",
    "altType": "string"
  }
  ```
- **Output:**
  ```json
  {
    "success": true,
    "message": "Orders retrieved successfully",
    "data": "{list of orders}"
  }
  ```

#### **Get Order By ID**
- **Description:** Retrieves an order by ID.
- **Method:** `GET /payments/orders/{orderId}`
- **Input:**
  ```json
    orderId: 123
    altId: 123
    altType: abc
  ```
- **Output:** Same as above.

---
### 4️⃣ **Appointments & Calendar Events**

#### **Create Appointment**
- **Description:** Creates an Appointment.
- **Method:** `POST /calendars/events/appointments`
- **Input:**
  ```json
    {
      "calendarId":"5Bv4N9KLGetAIdfZCyGo",
      "locationId":"qWRoUZ6kNRf4Mx3RRtgs",
      "contactId":"655SZAMnQw45ImQenL3b",
      "startTime":"2025-07-23T03:30:00+05:30"
    }
  ```
- **Output:** Same as above.

#### **Get Appointment**
- **Description:** Gets an Appointment.
- **Method:** `GET /calendars/events/appointments/{appointmentId}`
- **Input:**
  ```json
    appointmentId: 123456
  ```
- **Output:** Same as above.

#### **Get Calendar Events**
- **Description:** Gets all Appointments for a calendar.
- **Method:** `GET /calendars/events`
- **Input:**
  ```json
    {
      "calendarId":"5Bv4N9KLGetAIdfZCyGo",
      "locationId":"qWRoUZ6kNRf4Mx3RRtgs",
      "startTime":"2025-07-22T15:00:00-07:00",
      "endTime":"2025-07-22T16:00:00-07:00"
    }
  ```
- **Output:** Same as above.

#### **Update Appointment**
- **Description:** Updates an Appointment.
- **Method:** `PUT /calendars/events/appointments/{appointmentId}`
- **Input:**
  ```json
    {
      "startTime":"2025-11-22T15:00:00-07:00",
      "title":"Updated event"
    }
  ```
- **Output:** Same as above.

#### **Delete Event**
- **Description:** Deletes an Appointment.
- **Method:** `DELETE /calendars/events/{eventId}`
- **Input:**
  ```json
    appointmentId: 123456
  ```
- **Output:** Same as above.

---
### 5️⃣ **General API Call**

- **Method:** Dynamic
- **Input:**
  ```json
  {
    "endpoint": "string",
    "method": "GET | POST | PUT | DELETE",
    "data": "Optional JSON object",
    "params": "Optional params"
  }
  ```
- **Output:** Dynamic based on response.
---
## Notes
- API responses are standardized to include `success`, `message`, and `data`.

For further details, refer to the [**GoHighLevel API documentation**](https://highlevel.stoplight.io/docs/integrations/0443d7d1a4bd0-overview).

---

**🔗 Developed for seamless CRM automation in Botpress.** 🚀


用Botpress

打造令人惊叹的人工智能代理体验。

开始免费使用
箭头图标
了解更多信息,请访问Botpress Academy

利用我们精心挑选的课程、指南和教程,更好更快地构建人工智能代理。

聘请专家

与我们的认证开发人员联系,寻找适合您需求的Botpress 专家。

所有系统运行
SOC 2
认证
GDPR
符合要求
© 2025
平台
价格
代理工作室
自主发动机
知识库
表格
Hub
集成
渠道
LLMs
资源
咨询销售人员
文档
聘请专家
视频
客户故事
API参考
博客
状态
v12 资源
社区
社区支持
成为合作伙伴
成为大使
成为会员
公司
关于
职业机会
新闻中心
法律门户
隐私权
©Botpress 2025