> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxworks.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Week of 21 September 2026

> Uninterruptible turns, Allow skip and a Verbatim threshold for steps, a Not Connected call status, Direction for test scenarios, and recommendations that can remove a step.

## New features

**More control over whether the caller can talk over a step.** The step menu's **Interruptions** item gained two options. **Uninterruptible turn** ignores anything the caller says until the step's whole turn has finished, including thinking time and silent tool steps. What they say is still recorded in the transcript. Use it for lookups and hand-offs that must run to completion. **Allow skip** is the opposite: if the caller speaks before the line starts, the line is simply dropped and their turn is handled normally. A new **Verbatim threshold** (0–100, default 80) sets how much of a verbatim line has to be spoken before it counts as said if the caller cuts it off. See [Interruptions](/conversation-dynamics/interruptions).

**Scripts can tell whether the caller heard the last scripted line.** Every scripted step now writes four read-only variables: `{{call.step.last_preaudio_skipped}}` (`"true"` when the line was skipped before any audio played), `{{call.step.last_script_skipped}}` (`"true"` when it was cut before reaching the Verbatim threshold), `{{call.step.last_script_spoken_fraction}}` (a number from 0 to 1, for example `0.62`) and `{{call.step.last_script_step}}` (the flow and step, for example `"0/12"`). A later step or Code Step can use them to repeat something important. See [Variables](/flows/variables).

**The latest turns of the conversation are available as variables.** `{{call.transcript.last_user}}` holds the caller's latest turn (for example `Yes, Thursday works`), `{{call.transcript.last_ai}}` the assistant's latest line, and `{{call.transcript.items}}` the whole conversation as a list of turns. They're useful as inputs to an LLM tool or a webhook. See [Variables](/flows/variables).

**Wait for the caller to finish before the next step.** The new **User Turn | Settled** tool holds the flow while the caller is still speaking or their words are still being transcribed. It routes true once their turn has landed, or false when new speech has arrived since the script last read the transcript, so a step that reads the transcript can look again. Place it before a line that must not start over the caller, or after a step that reads what they said. See [User Turn | Settled](/tools/user-turn-settled).

**A new "Not Connected" status for calls that rang out, were busy or were declined.** An outbound call that reached the contact's line but wasn't answered now shows a grey **Not Connected** status instead of **Failed** or **Completed**, and the Call Log's **Status** filter has a matching option. The batch Summary counts these calls separately, and the Dashboard and batch metrics now count them as missed rather than connected. A new **Dial No Response** end reason covers a dial the carrier rejected before the phone ever rang, and calls where no audio was received now show **User Disconnected**. See [Statuses and end reasons](/calls/statuses).

**Test scenarios can run inbound or outbound.** Script and replay scenarios have a new **Direction** setting: the script's own direction (shown as **Script default (inbound)** or **Script default (outbound)**), **Inbound** or **Outbound**. On an outbound test the contact speaks first. A replay starts with the direction of the original call, so one script can be tested both ways. Replay turns also gained an **After call start** timing, which plays a turn a set number of seconds after the call connects, as needed for the pickup on an outbound recording. See [Test Console](/scripts/test-console).

**Connect an outside AI app to more of your team.** Any member of a team can now connect an outside AI application under **Settings → MCP Clients**. The authorisation screen can grant new permissions to **Read call details, outcomes and summaries**, **Read call transcripts, including what callers said** and **Read batches, automations, phone numbers, usage and calendar setup**, and the app still acts only within your own team permissions. Revoking a client cuts off its access within seconds. See [Integrations](/integrations/overview).

## Improvements

**AI recommendations can remove a step.** A suggestion from a connected AI assistant can now propose deleting a step, shown struck out as **Remove step** in the review; the automatic review still changes only wording and conditions. The step is only removed once nothing routes to it any more, and **Undo** puts it back where it was. See [AI recommendations](/scripts/ai-generation).

**Set how long a transfer rings.** The **Handoff** tool has a new **Ring Timeout** for warm and cold transfers, from 10 to 600 seconds. When it expires the call returns to the script. **Warm Handoff - Failure Message** is now **Failure Message**, since it applies to cold transfers too, and **Warm Handoff - Timeout** is now **Warm Handoff - User Summary Timeout**. The script's **Max Call Duration** clock also pauses while a handoff is ringing, so a long ring doesn't eat into the conversation. See [Handoff](/tools/warm-handoff).

**Variables inside variables are filled in.** If a variable's value itself contains a `{{reference}}` or a text function, that inner content is now filled in too, up to two levels deep. So you can store a reusable sentence such as "Business hours are `{{custom.policy.opening_hours_spoken}}`" in a custom variable. See [Variables](/flows/variables).

**Contact CSV imports are faster and easier to retry.** Large files are checked in stages with live progress, the invalid-rows list shows the first 100 rows, and the result toast reports how many contacts were created, updated and failed. Rows that failed stay selected so you can retry the same file. See [Import and export](/contacts/import-export).

**CRM contact syncs recognise the same number in any format.** Contacts created from Agentbox or Rex are matched to existing contacts on the phone number however it's written, so `0412 345 678` and `+61412345678` match the same contact. See [Agentbox](/integrations/agentbox).

**Outbound calls to numbers outside Australia can be enabled per team.** Every team can dial Australian geographic and mobile numbers. Voxworks can now enable other destinations for your team, such as New Zealand or Australian 13, 1300 and 1800 numbers. A call to a destination that isn't enabled is marked **Failed** before it dials, with a note explaining why. This happens automatically, so there is nothing to change in the app. See [Dispatch and concurrency](/calls/dispatch-and-concurrency). Speak to the Voxworks team for further custom configuration.

**Verbatim lines are repeated word for word.** If a verbatim line was cut off before a single word played, the assistant says the authored line word for word when it gets the turn back.

**Voicemail greetings are recognised as greetings.** Phrases from a voicemail greeting or phone menu, such as "please reply after the tone", are treated as part of the greeting, and the assistant carries on with its closing line.

**Batches keep taking in contacts from very large lists.** A batch keeps queueing new contacts after you change its source lists, however large they are. See [Source lists](/batches/source-lists).
