Reliability & Failover
Production agents fail in interesting ways: a model provider has an incident, a tool times out, a voice provider cuts out. Reliability settings let you stay graceful when that happens instead of dropping the customer.
The failure modes Omniflow handles
| Failure | What Omniflow does by default |
|---|---|
| Primary model returns 5xx | Retries with exponential backoff (3 attempts, capped at 4s total). |
| Primary model times out | Falls back to the configured fallback model. |
| Tool call returns 5xx | Retries once, then surfaces the error to the model. |
| Tool call times out | Returns a structured timeout error to the model. |
| Voice provider drops audio | Reconnects or transfers to a fallback provider mid-call. |
| All providers fail | Triggers transfer_to_human and plays the configured failure greeting. |
Configure failover
Open Agents → [your agent] → Reliability.
Model fallback chain
| Slot | Example |
|---|---|
| Primary | GPT-4o Realtime |
| Fallback 1 | Gemini Live |
| Fallback 2 | Cascaded (GPT-4o + Azure TTS) |
Omniflow walks the chain top-down on each failure. If the conversation has already produced 3+ turns, it sticks with the current model where possible — switching mid-call hurts coherence.
Retry policy
| Setting | Default | Notes |
|---|---|---|
| Model retries | 3 | Exponential backoff up to 4s total. |
| Tool retries | 1 | Most tools should idempotent retry; mutating tools should not. |
| Voice reconnects | 2 | Beyond this, transfer or end the call. |
Failure greeting
A short message played if everything fails. Keep it human:
“I’m having trouble on my end — let me transfer you to a teammate who can help.”
Don’t make the failure greeting say “the system is down”. Customers don’t care about your stack — they want a path forward. Always pair the message with an actual transfer or callback.
Health monitoring
The Health tab shows real-time status for every provider:
- Provider uptime over the last 24 hours.
- Mean time to first token.
- Tool error rate.
- Failover trigger count.
Subscribe to a Slack channel for sustained-failure alerts via notifications.
Test failover
You can simulate failures from the test sandbox: pick a fault to inject (primary_model_503, tool_timeout, voice_disconnect) and watch the agent behave. This is the only safe way to validate the failure greeting and transfer path.
Open in Omniflow
Related
| If you want to… | Go to |
|---|---|
| Pick voice providers | Voice Models |
| Set up alerting | Notifications |
| Read the runtime architecture | Voice Runtime |