Google Calendar Not Booking Correctly
# support
a
The issue I'm running into is that the calendar is double booking dates. I have an integration/tool linked to my agent called "checkAvailability." The Timezone is set to EST/New York. However, if I make a call and book an appointment for April 2nd from 8am - 10am, the agent will inform me that the date is free even though it's not. I have entered Current date and time: {{"now" | date: "%b %d, %Y, %I:%M %p", "America/New_York"}} in the system prompt verifying the date and time is correct when I ask the AI agent in my tests. Please see the screenshot below. I've spent hours on this and can't figure it out. https://cdn.discordapp.com/attachments/1488241585694179349/1488241586319134913/image.png?ex=69cc107c&is=69cabefc&hm=478ebfea8e16e9c6ea3c78c284944ece1585bc408bdfcfc332fde45365774479&
When I added this in my system prompt, this seemed to have resolved the issue. CRITICAL RULES FOR TOOL CALLS: - When calling checkAvailability or bookAppointment, ALWAYS format startTime and endTime as: YYYY-MM-DDTHH:MM:SS-04:00 - NEVER pass a time without the -04:00 offset attached - Example: April 2nd 8am–10am = startTime: "2026-04-02T08:00:00-04:00", endTime: "2026-04-02T10:00:00-04:00" - Do NOT convert to UTC. Pass the local Eastern time with the offset.
I'm still testing currently
m
You’re on the right track, this looks like a classic timezone mismatch where the tool returns UTC (Z) but your agent is reasoning in EST, so it thinks slots are still free. Your fix works because you’re forcing consistency, but ideally you should normalize everything (either always UTC or always offset) before comparison. I’d double-check how checkAvailability stores and compares times internally—this is usually where the drift happens. Quick one: is your booking tool also saving in -04:00, or converting to UTC on write? @Ackerman
s
Hi
could you please send some of the affected call IDs?
that'd help us investigate this further
a
Below are two call IDs of this issue happening: 019d3f52-778b-7883-8dca-81632a16e8f9 019d3f58-604e-7aa1-9b2d-b8e22851dbfe The timezone on my checkAvailability is America/New York. I'm adding a screenshot. Please let me know if there is a way I can update this. https://cdn.discordapp.com/attachments/1488241585694179349/1488525023550374089/image.png?ex=69cd1875&is=69cbc6f5&hm=1719599c9d9fe1c836757171b1f9a608e6e06f4f766289c16c326e43f0047139&
c
Hi Shadrick, Thanks for sending those over! We're looking into the call IDs now and will get back to you shortly. Best, Vapi Support
s
Hi Shadrick, Thanks for sending those over! Please add the following to your system prompt:
Copy code
text
IMPORTANT: The checkAvailability tool requires times in UTC, not local time.
Eastern Daylight Time (EDT) is UTC-4, so add 4 hours before calling the tool.
Example: customer says 8am Eastern → pass startDateTime as 2026-04-02T12:00:00
Example: customer says 1pm Eastern → pass startDateTime as 2026-04-02T17:00:00
a
Thank you. I’ll be sure to do this on my next test
s
No worries! If you run into any issues feel free to reach out.