Piattaforma
Caratteristiche
Studio dell'agente
Costruire e personalizzare rapidamente il vostro agente
Motore autonomo
Utilizzare LLMs per guidare le conversazioni e i compiti
Basi di conoscenza
Addestrate il vostro bot con fonti di conoscenza personalizzate
Tavoli
Memorizzare e gestire i dati delle conversazioni
Canali
Whatsapp Emblema
WhatsApp
Instagram Emblema
Instagram
Logo Facebook Messenger
Messenger
Logo Slack
Slack
Tutti i canali
Integrazioni
HubSpot
Notion
Jira
Calendly
Tutte le integrazioni
LLM Fornitori
OpenAI
Anthropic
Groq
Hugging Face
Tutti LLMs
Soluzioni
Per
Impresa
Automatizzare i flussi di lavoro di produzione mission-critical
Agenzie
Fornire servizi sofisticati agli agenti
Sviluppatori
Esplorare una robusta API per lo sviluppo di agenti
Storie di clienti
Scoprite dai clienti di successo come Botpress sta trasformando il business in tutto il mondo.
Per industria
Ecommerce
Istruzione
Finanza
Ospitalità
Tutti i settori
A cura del Dipartimento
Vendite
Ingegneria
Prodotto
ITSM
Tutti i dipartimenti
Per caso d'uso
Assistente alla spesa
Generazione di lead
Esperienza dei dipendenti
Gestione dei biglietti
Tutti i casi d'uso
Risorse
Essenziale
Academy
Imparare a costruire attraverso corsi curati
Biblioteca
Risorse per migliorare i flussi di lavoro dell'IA
Blog
Approfondimenti e aggiornamenti su Botpress e sugli agenti AI
edificio
Discord
Unirsi a migliaia di colleghi e condividere idee
Documenti
Guide e riferimenti completi
API
Materiale di riferimento da utilizzare con sistemi esterni
LLM Classifica
Confrontare le prestazioni e i costi dei fornitori di modelli
Video
Tutorial, dimostrazioni e presentazioni del prodotto
Changelog
Rimanete aggiornati sugli ultimi aggiornamenti di Botpress
Partner
Diventare partner
Unitevi alla nostra rete di esperti certificati
Assumere un esperto
Connettersi con partner e consulenti
Documenti
Impresa
Prezzi
Accedi
ContattoIscriviti
torna a Hub

VaiAltoLivello

v1.0.0
Installare sul proprio spazio di lavoro
Mantenuto dal team di crescita diBotpress
  # 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.** 🚀


Costruire meglio con Botpress

Creare incredibili esperienze di agenti AI.

Inizia a Sviluppare con Botpress
Icona di una freccia
Per saperne di più Botpress Academy

Costruite agenti AI in modo migliore e più rapido con la nostra raccolta curata di corsi, guide ed esercitazioni.

Assumere un esperto

Collegatevi con i nostri sviluppatori certificati per trovare un costruttore esperto che soddisfi le vostre esigenze.

Tutti i sistemi sono operativi
SOC 2
Certificato
GDPR
Conforme
© 2025
Piattaforma
Prezzi
Studio dell'agente
Motore autonomo
Basi di conoscenza
Tavoli
Hub
Integrazioni
Canali
LLMs
Risorse
Contatta il servizio vendite
Documentazione
Assumere un esperto
Video
Storie di clienti
Riferimento API
Blog
Stato
Risorse v12
Comunità
Sostegno alla comunità
Diventare partner
Diventare ambasciatore
Diventare un affiliato
Azienda
Chi siamo
Carriera
Notizie e stampa
Legale
Privacy
© Botpress 2025