Platform
Kenmerken
Studio agent
Stel je agent snel samen en pas hem aan
Autonome motor
LLMs gebruiken om gesprekken en taken te begeleiden
Kennisbanken
Train uw bot met aangepaste kennisbronnen
Tabellen
Gespreksgegevens opslaan en beheren
Kanalen
Whatsapp Embleem
WhatsApp
Instagram Embleem
Instagram
Facebook Messenger logo
Messenger
Slack logo
Slack
Alle kanalen
Integraties
Hubspot logo
HubSpot
Notion
Notion
Jira-logo
Jira
Calendly logo
Calendly
Alle integraties
LLM Aanbieders
OpenAI logo
OpenAI
Anthropic logo
Anthropic
Groq logo
Groq
HuggingFace logo
Hugging Face
Alle LLMs
Oplossingen
Voor
Onderneming
Bedrijfskritische productieworkflows automatiseren
Agentschappen
Geavanceerde agentservices bieden
Ontwikkelaars
Verken een robuuste API voor agentontwikkeling
Verhalen van klanten
Ontdek van succesvolle klanten hoe Botpress bedrijven wereldwijd transformeert.
Door de industrie
E-commerce
Onderwijs
Financiën
Gastvrijheid
Alle industrieën
Per afdeling
Verkoop
Engineering
Product
ITSM
Alle afdelingen
Per gebruikssituatie
Winkelassistent
Leads genereren
Werknemerservaring
Ticketbeheer
Alle gebruikssituaties
Bronnen
Essentieel
Academy
Leer bouwen door middel van cursussen
Bibliotheek
Hulpmiddelen om uw AI-workflows te verbeteren
Blog
Inzichten en updates over Botpress en AI-agenten
gebouw
Discord
Doe mee met duizenden collega's en deel ideeën
Docs
Uitgebreide gidsen en referenties
API
Referentiemateriaal voor gebruik met externe systemen
LLM Rangschikking
Prestaties en kosten voor modelaanbieders vergelijken
Video's
Tutorials, demo's en product walkthroughs
Changelog
Blijf op de hoogte van de nieuwste Botpress
Partners
Partner worden
Word lid van ons netwerk van gecertificeerde experts
Een expert inhuren
Contact maken met partners en consultants
Docs
Onderneming
Prijzen
Inloggen
Neem contact op metAanmelden
terug naar Hub

GoHighLevel

v1.0.1
Installeren op uw werkruimte
Onderhouden door Botpress Groeiteam
  # 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.** 🚀


Bouw beter met Botpress

Maak verbazingwekkende AI-agent-ervaringen.

Ga aan de slag - het is gratis
Pictogram van een pijl
Meer informatie op Botpress Academy

Bouw beter en sneller AI-agents met onze verzameling cursussen, handleidingen en zelfstudies.

Een expert inhuren

Neem contact op met onze gecertificeerde ontwikkelaars om een deskundige bouwer te vinden die aan jouw behoeften voldoet.

Alle systemen operationeel
SOC 2
Gecertificeerd
GDPR
Conform
© 2025
Platform
Prijzen
Studio agent
Autonome motor
Kennisbanken
Tabellen
Hub
Integraties
Kanalen
LLMs
Bronnen
Praat met Verkoop
Documentatie
Een expert inhuren
Video's
Verhalen van klanten
API referentie
Blog
Status
v12 Hulpmiddelen
Gemeenschap
Steun van de Gemeenschap
Partner worden
Word ambassadeur
Word een affiliate
Bedrijf
Over
Carrière
Nieuws & Pers
Wettelijk
Privacy
© Botpress 2025