How to handle server_url webhook failure gracefull...
# support
m
Hey, is there a way to customize/disable the default message that is played when the server url is down or errors (say 503/500). It currently plays to the caller "Your server rejected webhook request....", I would like to avoid these being played to the callers even in case of temporary failures. Could you point me in the right direction?
v
Based on the documentation, you can use assistant hooks to handle errors like "pipeline-error" by triggering custom actions (such as playing a custom message or transferring the call). However, it is not explicitly stated whether you can fully disable or override the default error message played to callers when a webhook fails (e.g., 503/500 errors) — the default message may still play alongside your custom actions. Could you clarify if you want to replace the default message with silence, a custom prompt, or just suppress it entirely? This will help me check for any possible workarounds or configuration options in more detail. For more on assistant hooks and error handling, see the [Vapi assistant hooks documentation](https://docs.vapi.ai/assistants/assistant-hooks). Source: - [Vapi Assistant Hooks Documentation](https://docs.vapi.ai/assistants/assistant-hooks)
c
Hi there, Great question about handling webhook failures gracefully! Vapi provides a backoffPlan configuration for the server URL that lets you automatically retry failed requests. Here's how to configure it: Server Configuration with Backoff:
Copy code
{
  "server": {
    "url": "https://your-webhook.com",
    "timeoutSeconds": 20,
    "backoffPlan": {
      "type": "exponential",
      "maxRetries": 3,
      "baseDelaySeconds": 1,
      "excludedStatusCodes": [
        400,
        401,
        403,
        404
      ]
    }
  }
}
Configuration options: • `timeoutSeconds`: Request timeout (default 20, max 300) • `backoffPlan.type`:
"fixed"
or
"exponential"
• `backoffPlan.maxRetries`: Number of retry attempts (0-10) • `backoffPlan.baseDelaySeconds`: Delay between retries (0-10) • `backoffPlan.excludedStatusCodes`: Status codes that won't trigger retries (e.g., 4xx errors) By default, if no backoffPlan is set, failed requests won't be retried. For critical webhooks, I'd recommend setting up exponential backoff with 2-3 retries. Let me know if you need help with a specific use case! Best, Vapi Support