Assistant hooks customer.speech.timeout timeout is not working - `timeoutSeconds` bug

I am trying to manage my agents idle call messages using assistant hooks via
customer.speech.timeout
per the official vapi documentation < https://docs.vapi.ai/assistants/idle-messages >

What should happen: When I set the
timeoutSeconds
to 10 seconds, I expect during the call after 10 seconds of silence that the assistant hook will execute and the agent will say an idle message.

What actually happens: The earliest time i can actually get the assistant to execute a hook to send an idle message is after 40 seconds by setting
timeoutSeconds
to 40 seconds. Providing any setting lower than 40 second timeout does not seem to execute the hook. All assistant hooks set with a 40 seconds or more for
timeoutSeconds
work, anything lower does not trigger.

Edit:
Under further testing I have noticed that the timeoutSeconds doesn't not actually take effect until the call is at least 40 seconds in. For example: Say I set a 10s timeout.
  • I answer and stay silent immediately. It will not trigger until 40 seconds, that's the earliest trigger point.
  • I answer and say hello. Agent responds and it's 20s into the call. If i stay silent for 10s, the idle message assistant hook will not trigger still. Its only after 40s into the call if i stay silent then timeout starts to take effect.

  • This is my assistant ID to help with inspecting my assistant for trouble shooting purposes if needed: `078429e5-1694-4ef5-8c3b-1f4ffb6064b4` I've also included in the below the hooks configuration for ease of reference too.
  • This is a call Id to provide evidence to show that the `timeoutSeconds` for hooks trigger on `customer.speech.timeout` are not working. You can see in the logs that the first hook to trigger is 40 seconds in, and not 10 seconds as expected. `22b34a59-2d5f-476f-9f90-967d68bd55c6`
Could I please get some official Vapi answers on why I am experiencing this bug and what the work around or solution is?
Has any one else experienced something similar too?
Keep users engaged during conversation pauses
Was this page helpful?