> For the complete documentation index, see [llms.txt](https://help.botpenguin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.botpenguin.com/bots/whatsapp-bot/3rd-party-apps-integrations/botpenguin-integrations/integrate-botpenguin-with-gohigh-level.md).

# Integrate BotPenguin with GoHigh Level

## What is GoHighLevel?

**GoHighLevel** is an all-in-one marketing automation and CRM platform designed for agencies and businesses to streamline lead generation, customer relationship management, sales funnels, and client communications—all under one unified dashboard. It offers tools like landing page builders, email/SMS marketing, pipeline tracking, and white-labeling capabilities to help businesses scale their operations and automate workflows efficiently.

***

### Benefits of using GoHighLevel:

* **Streamlined Lead Management** – Capture and sync BotPenguin leads directly into GoHighLevel’s CRM for centralized tracking.
* **Automated Follow-Ups** – Trigger SMS, email, and voicemail campaigns based on chatbot interactions without manual intervention.
* **Unified Customer Journey** – Combine GoHighLevel funnels and BotPenguin conversations for a seamless engagement flow.
* **Smart Workflow Automation** – Use BotPenguin chat events to initiate GoHighLevel workflows and nurture sequences.

***

## Steps for Integration:

#### Step 1. Navigating to GHL in BotPenguin:

1. Log into your BotPenguin account, and go to your desired bot. Click on “**Third-party Apps Integrations**” option to go to all available 3rd Party Integrations page.

<figure><img src="/files/nsolKDIGPu052FirikcQ" alt=""><figcaption></figcaption></figure>

2. Go to GoHighLevel CRM integration either by:
   1. Searching for GoHighLevel on the search bar available, or
   2. Scrolling down to GoHighLevel

<figure><img src="/files/3WXauOvTyhZNsQgQFRcn" alt=""><figcaption></figcaption></figure>

3. Click on the “**Connect**” button appearing on the right side, and you will be directed to the Integration description page.
4. Click on “**Connect**” to continue to connection

<figure><img src="/files/HEAA9fksHGEKcZPj4vWO" alt=""><figcaption></figcaption></figure>

5. The following page will open up, where you will have to enter the API Token for the connection to be established.

<figure><img src="/files/ZcF41XhS1Z5V9UXHUrd9" alt=""><figcaption></figcaption></figure>

***

### Step 2: How to Find API Token on GHL:

To access the **GHL API token**, follow these steps:

1. **Login to your GHL account**
2. **Go to "Settings" (Bottom-left corner)**
3. **Select "Business Profile"**
4. **Scroll down to find "API Key"**
5. **Copy the API Key** and use it for integrations

Note: If the API key is not visible, you may need **admin access** or API permissions.

### **Step 3: Enter Authorization Details and establish connection with your CRM:**

1. Enter the API token in the provided location, and click on “**Connect**”.

<figure><img src="/files/L5n6M9rzniaBRAy18aYD" alt=""><figcaption></figcaption></figure>

2. Once you have connected successfully, the below screen will appear. The following details needs to be filled in the same.

<figure><img src="/files/F32U4B1Rs5aYld2nGfv7" alt=""><figcaption></figcaption></figure>

### Step 4: Set Up Mapping Parameters

Now that the connection between BotPenguin and GoHighLevel (GHL) CRM is established, you need to map parameters (fields) of GHL CRM to the user responses from BotPenguin's chatbot.

1. You can use the **+Add Parameters** button to add more fields.

{% hint style="info" %}
**Example Mapping Process**

1. **Select a Question from BotPenguin Chat Flow**
   * Example: *“Please provide your name.”*

2. **Map it to the Corresponding GHL CRM Field**
   * **Bot Question:** "Please provide your name."
   * **Mapped GHL CRM Field:** Full Name
     {% endhint %}

3. As a result, this mapping will enable the integration to **send the user's response from BotPenguin to GoHighLevel's CRM fields**, storing it correctly in the contact records.

4. Click on save to save the settings.

And your're done! Continue onto GoHighLevel to configure any additional functionality that you require, and chat away!

***

If everything is correct and you are still unable to move forward, write to us at [support@BotPenguin.com](mailto:support@botpenguin.com). We will respond back within 48 business hours.

***

## Go High Level (GHL) Integration

*This section contains essential information and usage guidelines for integrating Go High Level (GHL) with BotPenguin.*

***

### What is Go High Level (GHL)?

Go High Level integration allows you to connect BotPenguin with your GHL sub-account (Location) using a Private Integration Token. It enables your chatbot to automatically create and update Contacts, book Calendar appointments, and push custom attribute data into GHL — all without any manual data entry.

***

### When should you use this?

Use this integration when:

* You want every lead your chatbot captures to appear automatically as a Contact in GHL
* You need to let bot users book appointments directly onto a GHL Calendar
* You want to sync custom bot attributes into GHL Custom Fields for segmentation or automation
* You are trying to replace manual copy-paste of chat leads into your CRM

***

### Benefits of Go High Level (GHL)

* 🔗 Automatically creates or updates GHL Contacts from chatbot conversations
* ⚡ Lets bot users book real appointments straight onto your GHL Calendar
* 🎯 Deduplicates Contacts by email or phone — no duplicate records
* 🔄 Pushes custom bot attributes into GHL Custom Fields in real time
* 📈 Removes manual data entry between BotPenguin and your CRM

***

### Expected Outcome

After setting this up:

* Your GHL sub-account will be successfully connected to your bot
* Leads and appointment bookings will flow from BotPenguin → GHL automatically
* You will be able to map bot questions and attributes to GHL Contact fields and Custom Fields

> 💡 Tip: Use the **Test Lead** button after connecting to confirm a dummy Contact appears in your GHL account before going live.

***

### 🔐 Prerequisites

Before setting up this integration, ensure you have:

* An active GHL Agency account with at least one **Sub-Account (Location)** created
* Admin access to that sub-account to generate a Private Integration Token
* At least one **Calendar** created inside the sub-account, if you plan to enable appointment booking
* A BotPenguin bot with the questions or attributes you want mapped (e.g. Name, Email, Phone)

> ⚠️ The token must be generated **inside the sub-account**, not at the Agency level — Agency-level tokens will not work since BotPenguin's calls require a `locationId`.

***

### How to Use Go High Level (GHL)

1. In GHL, switch into your target sub-account using the location switcher.
2. Go to **Settings → Private Integrations**.

<figure><img src="/files/Zc48pLjgUWcesZo5LROk" alt=""><figcaption></figcaption></figure>

3. Click **Create New Integration**, give it a name, and select all required scopes:&#x20;
   1. Edit Contacts,&#x20;
   2. View Contacts,&#x20;
   3. View Calendars,&#x20;
   4. Edit Calendar Events,&#x20;
   5. View Calendar Events, and&#x20;
   6. View Locations.

<figure><img src="/files/OkKktvrnSYt90kbjcBaO" alt=""><figcaption></figcaption></figure>

4. Once all the permissions are added, click **Create.**

<figure><img src="/files/CvFWTrtwYX6W9o6V50OW" alt=""><figcaption></figcaption></figure>

5. Copy the token

<figure><img src="/files/NXbB6flbITKOJtJ02H5g" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Keep the token in a safe location. It can only be copied once.
{% endhint %}

6. To get the location ID, go to the dashboard, and copy the ID located in the URL, post location/

<figure><img src="/files/pxXCP0gQ3DA4mhTJVwWL" alt=""><figcaption></figcaption></figure>

***

**Step 2 — Connect GHL inside BotPenguin**

1. On GHL, click on Calendars -> Calendar Settings.

<figure><img src="/files/VyIzKkLkCkj2OEHGugmx" alt=""><figcaption></figcaption></figure>

2. Click on "Create Calendar" to set up the calendar.

<figure><img src="/files/NoHdtzA8lcdh9qhGFakv" alt=""><figcaption></figcaption></figure>

3. There are 4 types of calendars that can be made on the platform:&#x20;
   1. Personal Booking
   2. Round Robin
   3. Class Booking
   4. Collective Booking

<figure><img src="/files/DUCYrBGeYMs08Kzd4Ab8" alt=""><figcaption></figcaption></figure>

4. Set up the following:&#x20;
   1. Name: Unique identifier for the calendar.
   2. User: Whom the meeting is being booked with.
   3. Meeting Duration: Time-slot for the meeting.

<figure><img src="/files/zLumeRnQHMd7jBDyMxdd" alt=""><figcaption></figcaption></figure>

***

**1.** Go to **Bot Builder → Configure → Integrations → All Integrations**.

**2.** Find the **Go High Level** card and click **Connect**.

**3.** Paste your **API Token** and **Location ID**, then click **Connect**.

4. Once the connection is successful, the Intergation will be successful.

<figure><img src="/files/EYTRgRPP2u88f1Dd655k" alt=""><figcaption></figcaption></figure>

***

**Step 3 — Configure Calendar and Mapping**

**1.** Toggle **Enable Calendar** ON if you want appointment booking, and select a calendar from the dropdown.

<figure><img src="/files/Fx58AYZq2aSKhuVt8OgN" alt=""><figcaption></figcaption></figure>

**2.** Set an optional **Appointment Title** (defaults to "Appointment with ").

**3.** Add question and attribute mappings for Name, Email, Phone, and any GHL Custom Fields, then **Save**.

***

### 🔄 How Data Flows (Important)

* BotPenguin sends captured lead details (Name, Email, Phone, custom attributes) → GHL, where a Contact is created or updated
* If Calendar booking is enabled, BotPenguin fetches available dates and slots from the selected GHL Calendar, in the sub-account's timezone
* When a bot user books a slot, BotPenguin creates or matches a Contact (deduplicated by email/phone) and books the appointment against that Contact
* If the token is rotated or revoked in GHL, all further syncing fails until the token is updated inside BotPenguin

👉 At least one of Email or Phone must be captured before an appointment can be booked — this is enforced on BotPenguin's side.

***

### ⚙️ Configuration Options

* **API Token**: The Private Integration Token generated inside your GHL sub-account; authenticates every request
* **Location ID**: The sub-account ID that scopes all Contact and Calendar operations
* **Enable Calendar**: Turns on appointment booking and reveals the calendar dropdown and appointment title field
* **Question / Attribute Mapping**: Maps bot questions and user attributes to GHL Contact fields (Name, Email, Phone) and Custom Fields

👉 Only include fields that matter. Avoid listing everything.

***

### 🚫 Limitations

* Token validity isn't checked at connect time — an invalid token will still show "Connected Successfully," and only fails on later actions like Test Lead or booking
* If the token is rotated or deleted in GHL, it must be manually re-pasted in BotPenguin — there is no auto-refresh
* Calendar dropdown only lists calendars that already exist in the sub-account at the time it's loaded — new calendars require reopening the panel
* Regular lead-creation flows (non-appointment) don't surface failures back to the bot — GHL Contacts should be verified directly in GHL if something seems off

***

### Best Practices

> 💡 Always test the integration with the **Test Lead** button before going live

> ⚠️ Select all required scopes when creating the Private Integration Token — a partial scope set will silently break individual features

> 🚀 Create any Custom Fields in GHL first, and note their exact key, before setting up attribute mapping in BotPenguin

> 🎯 Ensure at least one Calendar exists in the sub-account before enabling calendar booking

***

### Troubleshooting

<details>

<summary>GoHighLevel token is invalid or has been rotated</summary>

Generate a new **Private Integration Token** in **GoHighLevel → Settings → Private Integrations**, then update the token in the GoHighLevel integration settings within BotPenguin.

</details>

<details>

<summary>The Calendar dropdown shows "No calendar at the moment"</summary>

Ensure that at least one calendar exists in the connected GoHighLevel sub-account. Also verify that the **Location ID** entered in BotPenguin matches the correct GoHighLevel location.

</details>

<details>

<summary>Appointment booking fails with "Email or Phone Number is required"</summary>

Make sure your Chatflow collects either the customer's **email address** or **phone number** before the appointment booking component is reached.

</details>

<details>

<summary>Contact is created but Custom Fields are empty</summary>

Verify that each **Custom Field Key** configured in BotPenguin exactly matches the corresponding field key in GoHighLevel. The key should be entered without extra spaces or curly braces.

</details>

***

### FAQs

<details>

<summary>Does this integration require coding?</summary>

No, this integration can be set up using BotPenguin's no-code interface — you only need to paste a token and Location ID generated from GHL.

</details>

<details>

<summary>What authentication method is used?</summary>

GHL uses a Private Integration Token (PIT), a long-lived token generated manually inside your GHL sub-account. There is no OAuth flow.

</details>

<details>

<summary>Can I reconnect the integration?</summary>

Yes, you can disconnect and reconnect anytime from the integrations panel. Reconnecting requires generating and pasting a fresh token if the old one was rotated.

</details>

<details>

<summary>Is real-time data sync supported?</summary>

Yes. Contacts and appointments are created or updated in GHL as soon as they occur in the chatbot conversation.

</details>

<details>

<summary>What happens if the integration fails?</summary>

If the token is invalid or rotated, syncing stops and BotPenguin shows an error prompting you to update the token. Existing data already sent to GHL is not affected.

</details>

***

### Related Articles

{% content-ref url="/pages/1TJbpCVF7I42beHZ0isw" %}
[Contacts](/inbox-chats/inbox-chats/contacts.md)
{% endcontent-ref %}

{% content-ref url="/pages/zG4xrIQa2ul08dJXDVpe" %}
[Create Chatflow](/bots/website-mobile-app-bot/website-manage-chatflow/create-chatflow.md)
{% endcontent-ref %}

***

### Support

If you still have questions for our team, write to us at **<support@botpenguin.com>**. We'll get back to you within 48 hours.

***

### 🎉 Completion

🎉 Congratulations, you have successfully set up the Go High Level (GHL) integration! You can now automatically sync leads and appointment bookings between your chatbot and GHL.
