Guys I have a question concerning the
# general-english
d
Guys I have a question concerning the already built in check availability function in the tools, does anyone have a good description that you gave him and worked correctly because he isn't able to situate himself. for example i tell him next monday at 3pm he books for monday in october randomly thank you
s
Hey, could you help me understand exactly what you are trying to get done with the calendar tool, and what's not working? Sharing a call flow and an example will really help me understand your problem, and then I can try to make some suggestions to a solution.
d
Hello yes of course : So this is the description I am giving the check availabilty tool on make : Google Calendar Create-Event Tool Books a one-hour meeting and sends invites. Required fieldssummary – event title or purpose • startDateTime – ISO-8601 start (
2025-05-06T11:00:00+02:00
) • endDateTime – ISO-8601 end (60 min after start) • attendees – array of invitee emails • callerName – person booking the slot (stored in event description) Optional fieldstimeZone – IANA zone, default Europe/PariscalendarId – target calendar, default primary Business rules • Monday-Friday only, 09 00–17 00 Paris time • Fixed 60-min duration, starts on :00 or :30 • If slot is busy, return
"conflict"
instead of creating Flow 1. Validate inputs and business rules. 2. Re-check slot with the Availability tool. 3. If free, call
events.insert
with all fields; append
callerName
to the description/body. The goal is to check availability to book an appoitement , I say I want to book on march 6 at 3pm for example it check the availability correctly but if i say tommorow at 3pm it goes crazy and gives me random monday in october
Thank you for the help
s
Now I understand the issue better. Based on the code review, I can see that the problem is related to how the calendar tool is handling relative date expressions. The tool is expecting dates in ISO 8601 format, but when the user provides natural language inputs like "tomorrow at 3pm" or "next Monday at 3pm", there appears to be inconsistent parsing.
the date parsing for these natural language inputs is likely happening in the LLM/assistant layer before being passed to the VAPI tools.
When using the Google Calendar Check Availability tool with relative dates, you need to provide clearer instructions to the LLM on how to handle date parsing. The issue is that when you say "tomorrow at 3pm", the tool might be confused about how to convert this to the required ISO 8601 format.
Try updating your assistant prompt to include more specific guidance for handling natural language date expressions:
Copy code
[Google Calendar Check-Availability Tool]

Checks calendar availability for a given time period.

Required fields:
• startDateTime – ISO-8601 formatted timestamp (example: 2025-05-06T11:00:00+02:00)
• endDateTime – ISO-8601 formatted timestamp (typically 60 minutes after start)

Optional fields:
• timeZone – IANA timezone, default Europe/Paris
• calendarId – target calendar, default primary

Date parsing guidelines:
• Convert all natural language dates (e.g., "tomorrow", "next Monday") to specific calendar dates
• For "tomorrow", use the current date + 1 day
• For "next [day of week]", use the next occurrence of that day after today
• For relative times (e.g., "3pm"), use the specified hour in the Europe/Paris timezone (15:00)
• All dates must be explicitly converted to ISO-8601 format with timezone offset
• Example: "tomorrow at 3pm" → convert to something like "2024-05-07T15:00:00+02:00"

Business rules:
• Only check availability Monday-Friday, 09:00–17:00 Paris time
• Slot duration is fixed at 60 minutes
• Valid start times are only on the hour or half-hour (e.g., 10:00 or 10:30)
By providing these explicit guidelines for date parsing, the LLM should handle natural language expressions more consistently before passing them to the calendar tools.
3 Views