Hi Chow,
Thanks — steps to try next:
1. Verify contact flow: ensure your assistant calls Get Contact (or Create Contact) and receives a valid contactId before Create Event. Docs:
https://docs.vapi.ai/tools/go-high-level
2. Test each tool call in logs: open Dashboard → Observe → Call Logs, find a failed call and share the call ID. That shows the tool response (403, empty availability, etc.).
3. For MCP vs API: if MCP doesn’t show green, switch to a location-level API key (private token) in GHL, reconnect in Dashboard → Provider Keys → GoHighLevel, then re-create/update the tools. Many users get reliable results with the API token when MCP is flaky.
4. Check Check Availability tool metadata: confirm the correct calendarId, timezone, and that startDate/endDate are sent as epoch ms. If your system prompt uses dynamic dates, ensure timezone matches the tool metadata.
5. If availability returns empty while GHL shows free slots, try creating a test event manually in GHL with the same calendarId to confirm permissions, then retry the tool.
6. Share one failing call ID and which connection method (MCP or API) produced it — I’ll inspect the tool responses in the logs and advise the exact fix.