VAPI Does Not Speak the Response from Respond to Webhook in n8n

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! :pray:

Thanks in advance!



Vapi: