Hello n8n Community,
I’m currently integrating VAPI.ai with an n8n workflow to handle booking requests via a webhook.
The flow is structured like this:
- Webhook (receives incoming VAPI tool-calls)
- Check Google Calendar Availability (GetAvailability node)
- ** Ai Agent
- IF Node (decides if the requested time is available)
- Respond to Webhook (sends back the result to VAPI)
What I Already Checked:
• toolCallId is correctly taken from the Webhook input (dynamic, not hardcoded).
• Response format matches exactly what the VAPI documentation requires.
• Client messages (VAPI) include function-call and function-call-result.
• Server messages (VAPI) include tool-calls.
My Question:
-
Why doesn’t VAPI immediately speak the text from my webhook response?
-
Is there something special I need to include in the webhook response for VAPI to treat it as text-to-speak?
-
Do I need to structure the response differently (e.g., just raw text instead of a full object)?
Additional Info: -
I have tested different types of responses (simple text, structured JSON).
-
If I manually trigger a follow-up request, VAPI sometimes speaks, but not immediately after Respond to Webhook.
-
It feels like VAPI expects a different structure or flag in the webhook response.
Any insights or examples on how to fix this would be super appreciated!
Thanks in advance!
Vapi: