CloseBot V2 Integration: Fix Calendar Booking in GoHighLevel

Question from Reddit user:

I am integrating CloseBot AI into live chat and automatically linking it with Calendar booking appointments on GHL.

In version V1, it was able to do this, but when switching to V2, CloseBot no longer automatically creates appointments.

Can someone help me?

https://preview.redd.it/uymzyler6b6f1.png?width=1916&format=png&auto=webp&s=20b18badc3a6c5d46bfa1fb7b07e02420b7fe27d

Answer from Nabil:

The short answer is:

How to fix CloseBot V2 integration with GoHighLevel calendar?

Your issue stems from a breakdown in the integration’s handshake, specifically how CloseBot V2 is communicating the successful appointment booking event back to GoHighLevel (GHL).

V2 likely changed its webhook payload structure or the exact URL it pushes data to, breaking the trigger that initiates the appointment creation workflow in GHL.

The simplest solution is to check CloseBot’s V2 documentation for the new webhook format and update the webhook trigger URL or the expected data fields within your specific GHL workflow to match the new version’s output.

For a more robust solution, you should look into creating the appointment via the GHL API instead of relying on a webhook.

The long answer is:

When you move from an older version of an external tool like CloseBot (V1) to a new one (V2), the developers almost certainly changed the underlying technical architecture, specifically how the two systems “talk” to each other via webhooks.

In V1, when CloseBot successfully booked an appointment, it likely sent a perfectly formatted data packet (a webhook) to a specific trigger URL in your GHL workflow, and GHL recognized the data structure and created the appointment.

In V2, the moment the appointment is booked, the webhook’s structure – the names of the fields, the data format, or even the endpoint it is being sent to – has likely changed, meaning GHL is either not receiving the webhook at all or is receiving it but can’t find the necessary data fields like appointment_time or contact_id to proceed with the appointment creation step, causing your workflow to halt.

To fix this immediately, you need to consult the CloseBot V2 documentation and update your GHL workflow’s webhook trigger to expect the new field names and format.

The best long-term solution for mission-critical functions like appointment booking is to bypass reliance on static webhooks by building a custom connector using the HighLevel API and the CloseBot API.

You would use Google Tag Manager and a server-side environment like Stape or Google Cloud Platform to monitor for the final, successful booking confirmation event on your calendar page.

Once this event is detected, a custom script running on Stape or GCP would first use the CloseBot API to verify the booking details and retrieve the lead’s information.

Then, it would use the HighLevel API to programmatically and directly create the appointment in GHL’s calendar and link it to the correct contact.

This method is superior because it gives you granular control over the data being sent to GHL, allows you to perform necessary data transformations or lookups, and insulates your booking process from future, unexpected webhook changes in CloseBot versions, making your integration highly resilient and reliable.

About The Author