A recent change to Outage Mode / Out of Service appears to have broken a core call-routing workflow for me. I had built my scheduling around using that toggle so calls would only go to my agents outside certain hours. Since the change, that behavior no longer works the same way, and it’s disrupting a business-critical setup. Is there currently a supported way to programmatically forward or reroute calls around the system? More specifically:
Was there a recent change to how Outage Mode / Out of Service is supposed to work?
Is there an API-supported way to control when calls go to agents vs get forwarded elsewhere?
If Outage Mode is no longer the right mechanism, what is the recommended replacement pattern?
This is a must-have for my business. I need a reliable way to control agent handling by schedule or external logic. If there’s a supported solution, I’d really appreciate guidance on the correct implementation path.
Could you please share a few call IDs where you encountered the issue? Additionally, it would be helpful if you could explain what you expected to happen and what actually occurred.
This will help us investigate the issue more effectively.
I have a custom dashboard where I had office hours and a toggle for turning my AI receptionist on/off, and we used the out of service toggle to control call forwarding basically. I don’t want the service active all the time, only when I am out on a job, with a client or after hours. What is the best way to do that programmatically with your system now? It’s not a call issue, it’s integration with the backend.
Hi there! Thanks for reaching out about this — I understand how critical call routing control is for your business, and I appreciate the detailed explanation of your setup.
You’re right that the System Outage Mode toggle was recently updated in the dashboard. However, the underlying functionality still works via the API.
That said, Outage Mode was designed as an emergency kill-switch, not as an office-hours/availability toggle, so I’d recommend a better approach for your use case:
Recommended: Inbound Webhook (most flexible)
Set an inbound_webhook_url on your phone number via PATCH /update-phone-number/{phone_number}. When any inbound call comes in, Retell will POST to your webhook URL, and your server can dynamically decide whether the AI should handle the call by returning an override_agent_id — or return an empty response when you don’t want the AI active. This lets you implement office hours, schedule-based routing, or any custom logic on your side.