Hi mad_dad5700,
Please confirm these quickly so I can pinpoint the fix:
1. Are all four GHL tools created and added to the assistant: Get Contact, Create Contact, Check Availability, Create Event? (Docs:
https://docs.vapi.ai/tools/go-high-level)
2. Does your assistant call Get Contact (or Create Contact) and return a valid contactId before Create Event is invoked?
3. Which integration method did you use: location-level API key (private token) or the new MCP/sub-account flow? If MCP, do sub-accounts show a green connected check in Dashboard > Provider Keys > GoHighLevel?
4. Do your Check Availability tool metadata include a correct calendarId, timezone, and are startDate/endDate supplied as epoch ms when testing?
5. Can you share one failing call ID (from the call logs) that shows the assistant calling the availability tool so I can inspect the tool response (403 or empty results)?
If you prefer immediate checks:
- Recreate a new location-level API key in GHL, update the Vapi connection, and test with that (common 403 cause).
- Add a dynamic now string in your system prompt to ensure date handling: {{"now" | date: "%A, %B %d, %Y, %I:%M %p", "Australia/Melbourne"}} (adjust timezone).