Skip to main content

I’m trying to use Zapier to send new Acuity Scheduling appointments (booked via Squarespace) to my GoHighLevel (GHL) calendar using a Webhooks by Zapier POST request to the GHL API. My workflow is as follows:

  1. Trigger: New appointment in Acuity Scheduling.

  2. Format: I use Formatter by Zapier to convert both the start and end times to ISO 8601 format with the correct timezone offset (e.g., 2025-05-09T10:30:00-05:00). The output from Formatter looks exactly like this, with the colon in the offset.

  3. Webhook: I send these values (along with other required fields) to https://rest.gohighlevel.com/v1/appointments/ with the proper API key in the Authorization header.

Problem:
No matter what I do, I keep getting this error 

“The end time must be a date and time with timezone offset. ex: 2020-10-25T10:00:00-11:00”

  • I have confirmed there are no extra spaces or hidden characters.

  • The startTime and endTime are different and both are in the correct format.

  • I have tried hardcoding the value in the Webhook step and still get the error.

  • I have removed optional fields like selectedTimezone to avoid conflicts.

  • My Zapier account timezone is set to Central Time (America/Chicago).

Example of my Webhook data:

json

"calendarId": "MY_GHL_CALENDAR_ID",

"title": "Cleaning Appointment",

"startTime": "2025-05-09T08:30:00-05:00",

"endTime": "2025-05-09T10:30:00-05:00",

"contact.firstName": "Test",

"contact.lastName": "User",

"contact.email": "test@example.com" 

What am I missing? Is there a Zapier-specific issue that could be causing this, or is there something else I should try?

Thank you for your help!

Hi ​@Minty Now 

For us to have more info, provide:

  • screenshots showing how your Zap step is configured for the API request
  • the link to the GHL API endpoint documentation you used to configure the API request

 


Sorry for the late response i didnt realize i didnt already send it 

 


@Minty Now 

Make sure to reference the GHL API documentation: https://public-api.gohighlevel.com/#1e0867c3-69da-4240-9427-e1286b79472f

startTime does not appear to be a field, rather use selectedSlot.

Try without Zap steps 2, 3, 5, instead only use 1 Formatter step to adjust for the +2 hr.