플랫폼
특징
상담원 스튜디오
신속한 에이전트 구축 및 사용자 지정
자율 엔진
LLMs 사용하여 대화 및 작업 안내
지식 베이스
사용자 지정 지식 소스로 봇을 학습시키세요
테이블
대화 데이터 저장 및 관리
채널
Whatsapp 엠블럼
WhatsApp
Instagram 엠블럼
Instagram
Facebook Messenger 로고
Messenger
Slack 로고
Slack
모든 채널
통합
허브스팟 로고
HubSpot
Notion 로고
Notion
Jira 로고
Jira
Calendly 로고
Calendly
모든 통합
LLM 공급자
OpenAI 로고
OpenAI
Anthropic 로고
Anthropic
Groq 로고
Groq
허깅페이스 로고
Hugging Face
모두 LLMs
솔루션
For
엔터프라이즈
미션 크리티컬 프로덕션 워크플로우 자동화
대행사
정교한 상담원 서비스 제공
개발자
상담원 개발을 위한 강력한 API 살펴보기
고객 사례
성공적인 고객 사례를 통해 Botpress 이 전 세계 비즈니스를 어떻게 혁신하고 있는지 알아보세요.
산업별
전자 상거래
교육
금융
호스피탈리티
모든 산업
부서별
판매
엔지니어링
제품
ITSM
모든 부서
사용 사례별
쇼핑 도우미
리드 생성
직원 경험
티켓 관리
모든 사용 사례
자원
필수
Academy
선별된 강좌를 통해 빌드 배우기
라이브러리
AI 워크플로우를 개선하기 위한 리소스
블로그
Botpress 및 AI 에이전트에 대한 인사이트 및 업데이트
건물
디스코드
수천 명의 동료와 함께 아이디어를 공유하세요
문서
종합 가이드 및 참고 자료
API
외부 시스템과 함께 사용하기 위한 참고 자료
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

놀라운 AI 상담원 경험을 만들어 보세요.

시작하세요 - 무료입니다
화살표 아이콘
자세한 내용은 다음에서 확인하세요. Botpress Academy

엄선된 교육 과정, 가이드 및 튜토리얼 컬렉션을 통해 AI 에이전트를 더 빠르고 효과적으로 구축하세요.

전문가 고용하기

인증된 개발자와 연결하여 필요에 맞는 전문 빌더를 찾아보세요.

모든 시스템 운영
SOC 2
인증
GDPR
규정 준수
© 2025
플랫폼
가격정책
상담원 스튜디오
자율 엔진
지식 베이스
테이블
허브
통합
채널
LLMs
자원
판매 부서와 대화하기
문서화
전문가 고용하기
영상
고객 사례
API 참조
블로그
상태
V12 자원
커뮤니티
커뮤니티 지원
파트너가 되세요
홍보대사 되기
제휴사 되기
회사
회사에 대해서
경력
뉴스 & 보도자료
법적
개인 정보 보호
© Botpress 2025