Reliability gets one line in your checklist, "What happens if an external API, scheduling system, or telephony provider becomes unavailable?", and voice makes that question harder than it is for chat, because the failure budget is measured in seconds of silence. A calendar lookup that takes six seconds is a minor spinner on a website and a hangup on a phone call. Systems I have seen handle this either stream filler speech while the tool call runs, which risks talking over the result, or commit to a hard latency budget and route to a human when a dependency blows it. The other voice-specific trap is idempotency: callers repeat themselves when they think they were not heard, and a booking workflow that is not idempotent turns "let me say that again" into two appointments. Which approach to dead air have you found works best in practice?