Skip to main content
Question

Webhook Fails: “The end time must be a date and time with timezone offset” (ISO8601 error)

  • May 7, 2025
  • 4 replies
  • 38 views

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!

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

4 replies

Troy Tessalone
Zapier Orchestrator & Solution Partner
Forum|alt.badge.img+14
  • Zapier Orchestrator & Solution Partner
  • 34032 replies
  • May 8, 2025

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

  • Author
  • Beginner
  • 2 replies
  • May 12, 2025

 


  • Author
  • Beginner
  • 2 replies
  • May 12, 2025

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

 


Troy Tessalone
Zapier Orchestrator & Solution Partner
Forum|alt.badge.img+14
  • Zapier Orchestrator & Solution Partner
  • 34032 replies
  • May 12, 2025

@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.