New features
Route callers to their nearest location. A new Routing settings button on the Endpoints tab lets you choose Nearest location by distance or Explicit rules only. In distance mode, callers are offered the nearest placed location, and you set a Max distance (km), a Choice radius (km) for offering several nearby locations, and Max choices. Each endpoint has a new Coverage setting to include or exclude it and give it its own service radius. Try a lookup previews which endpoints a suburb would be offered without dialling anything. See Location routing. A new tool finds the right branch from the caller’s suburb. Routing | Service Location - v0.2 asks the caller which state and suburb they need service in, reads the match back to confirm it, and finds the endpoint that covers that area. It never dials itself: a following Handoff step dials{{route.endpoint_id}}. If nothing matches it can ask for a nearby larger suburb or a postcode, and if there’s still no match it finishes false with a fallback destination you choose for the next step to hand over to. It writes the result to route.* variables such as route.status and route.destination_name. See Service location routing.
Choose what happens when an endpoint is closed. Each endpoint now has a Fallback setting, headed When closed, with three choices. Forward sends the call to another endpoint, whose own schedule and fallback then apply, up to five hops. Voicemail ends the chain with voicemail, and Message ends it with a line of your choosing before hanging up. New endpoints default to Voicemail, which was the only behaviour before. A transfer from a script follows Forward chains. See Endpoints.
End reasons are now precise. Calls now end with one of a larger, fixed set of end reasons with readable labels. For example, Transfer - Team Hangup, Take Over - User Hangup, Dial Busy, Dial No Answer, User Declined, Invalid Destination, Telephony Provider Unavailable, Error - LLM and Dropped - Telephony. Handoff is now Transfer, and Failed is split into specific dial outcomes and errors. The Edit end reason pencil in call details now offers every reason, not just four. The API’s end_reason field returns the underlying code, such as agent_hangup or dial_no_answer. Older calls keep their original values. See Statuses and end reasons.

