Customer Join Timeout sets the maximum time users have to join a web call before it’s automatically terminated. This parameter helps you optimize call success rates by accounting for real-world connection challenges.
You’ll learn to:
This setting applies only to web calls. Phone calls are not affected by this parameter.
When a web call starts, users must complete several steps within the timeout window:
Establish connection to Vapi servers
Grant browser microphone access
Complete audio handshake process
Default timeout: 15 seconds
Available range: 1-60 seconds
If users don’t complete all steps within the timeout, the call ends with an
assistant-did-not-receive-customer-audio error.
Configure customerJoinTimeoutSeconds through the Vapi API for both permanent and transient assistants.
Set timeout when creating a new assistant:
Choose timeout values based on your user scenarios:
Benefits: - Improved join success rates - Better user experience - Fewer support requests Trade-offs: - Resources tied up longer - Delayed error detection
Benefits: - Faster resource cleanup - Quick failure detection - Reduced server load Trade-offs: - More failed joins - Frustrated users
Monitor these call ended reasons to optimize your timeout settings:
Meaning: Customer didn’t complete join process within timeout
Actions:
customerJoinTimeoutSeconds valueMeaning: Legacy reason replaced by above (for better clarity)
Actions:
A user attempting to join needs:
With 15-second timeout: Call fails
With 30+ second timeout: Call succeeds
Start with 30-60 seconds and adjust based on your success rate analytics.
This message appears when a call ends naturally and is informational only—not an error.
Now that you understand customer join timeouts: