New features, improvements, and fixes to Dial
September 28, 2026
Added
Calls say why they failed
A call now carries failureReason when it ends as failed and Dial knows the cause. The same value is on the call.ended and call.status_changed events. Today the reasons come from a Self-Hosted audio target: self_hosted_key_rejected (Pipecat Cloud rejected your public key), self_hosted_agent_not_found, self_hosted_at_capacity, and self_hosted_unreachable. It is null on every other call. More values may be added, so treat an unknown value like null. See When a call fails.