Overview
The script editor is where you build everything a script contains — its conversational flows, guidelines, policies, knowledge base, post-call analysis and data collection, and settings — and where you see how the script is performing. Open it from Call Scripts in the sidebar by selecting any script (or by clicking Create & Continue when creating a new one). The editor has three tiers:-
Title row — above the toolbar, on every tab: the script’s name (click it to rename, press Enter to confirm or Escape to cancel; an unnamed script shows Untitled Script) and its description (Click to add a description…). Beside the name sit two chips:
- The voice chip shows the script’s current voice. Click it to open the Voice menu, which lists the same voices, in the same order, as the voice picker in Settings, each with a play button so you can hear it first. Picking a voice changes the script’s Default Voice straight away, without a trip to Settings — it counts as an unsaved change like any other edit.
- The version picker lists saved versions with a Live/Draft status pill plus Compare and Push to production actions; opening Compare lets you diff against your in-progress working copy, shown there as Current — see Versions & Publishing.
-
Toolbar — a sticky header with a Back button on the left, the editor tabs in the centre, and the action buttons on the right. Every action but Publish is an icon; hover for its label:
A yellow Unsaved Changes badge appears here whenever your working copy differs from the last saved version.
- Content area — whichever tab you have open.
On a phone
The editor works at phone width. The editor sections become a list you drill into, with a back control to return, and the toolbar’s actions fold into a single More actions menu holding AI recommendations (On/Off, or a count of suggestions waiting), Test Call, Test Console, Export as PDF, Save and Publish.Editor tabs and deep links
The centre of the toolbar holds five tabs. On narrow screens the tab row becomes a dropdown with the same options.
Behaviour & Knowledge and Post-Call Analysis each have their own section list down the side; pick a section to edit it. Every Post-Call Analysis section carries a one-line description of what it is for.
The active tab is mirrored into the page URL as a
?tab= query parameter, and the URL updates as you switch. That makes every tab deep-linkable: share or bookmark a URL ending in ?tab=settings and it opens the editor directly on the Settings tab. Without the parameter, the editor opens on the Overview tab.
Links saved before the tabs were reorganised keep working: ?tab=guidelines, ?tab=policies and ?tab=knowledge open Behaviour & Knowledge on that section, and ?tab=data opens Post-Call Analysis.
The version-compare view is deep-linkable too, via a ?compare= parameter — see Versions & Publishing.
All tabs edit the same working copy — switching tabs never loses changes, and one Save persists everything at once.
The Overview tab
The editor opens on Overview — “Performance for this script over the selected period.” A date-range picker at the top defaults to the last 30 days, and everything on the tab follows it:
Click a row in Call history to open the call details pane. The pane stays open when you switch tabs, so you can read a transcript while you fix the step it exposed.
Saving and the unsaved-changes guard
The editor tracks your working copy against the last saved version:- The Unsaved Changes badge appears in the toolbar as soon as anything differs, and the Save button enables. Saving shows a toast such as Saved v0.3; publishing shows Published v1.0 to production.
- Leaving the page with unsaved changes — via the Back button, a sidebar link, or the browser’s back/forward buttons — opens the Unsaved Changes dialog: “You have unsaved changes. Are you sure you want to leave? Your changes will be lost.” Choose Stay to keep editing or Leave to discard.
- Closing or refreshing the browser tab triggers the browser’s own leave-page confirmation.
- Flow edits are validated as you type. If a flow has validation errors, saving is blocked with Please fix validation errors before saving until they are fixed.
- If a teammate saved the same script while you were editing, saving fails safely with This script was changed since you opened it. Reload to get the latest version before saving. — your changes are never silently overwritten, and neither are theirs.
The multi-flow editor
The Script tab shows your flows down the left and the selected flow’s steps beside them.The Call Flows rail
A Call Flows list sits in the gutter on the left, with a count of the flows in the script. Expand a flow to see its stages, and click a stage to scroll straight to it — switching flows first if the stage belongs to another one. Each row has a Collapse / Expand control and an options menu named after the flow, and flows changed in the version you are viewing are marked Changed in this version. Add flow at the top of the rail creates a new sub-flow. On a narrow screen — and in the compare panes — the rail gives way to a horizontal row of flow tabs with the same contents.Flows
A script is made of one or more flows, each shown as a tab in the flow tab row:- Main Flow — tagged with a Main badge. Every script has exactly one; it is where the conversation starts and it cannot be removed.
- Pre-Call Flow — tagged with a Precall badge, shown when the script has one. A Pre-Call flow runs before the main conversation begins on an outbound call, typically to prepare data the conversation will use. To add a Pre-Call flow to an existing script, speak to the Voxworks team for further custom configuration.
- Sub-flows — any further tabs. Click Add Flow to create one; it starts as “Flow N” with a single stage and one empty voice step. Callers reach a sub-flow when a Flow step in another flow routes to it — see Sub-flows.
A flow cannot be removed or deleted while a Flow step elsewhere in the script still routes to it — a Cannot delete flow dialog lists the referencing flows so you can remove those references first. Deleting flows also requires a role with flow-deletion permission — see Roles & Permissions.
Deleting the whole script (from Settings → Delete) asks whether to also delete its unshared flows; shared flows and templates are always preserved.
Stages
Stages group a flow’s steps into named sections — Introduction, Qualification, Wrap-up — so long flows stay readable. Stages are purely organisational: they have no effect on the call itself, which is routed entirely by each step’s conditions (Steps).- Rename a stage by typing directly into its heading.
- Add a stage from the gear menu (Add Stage to Flow), from the + button that appears when you hover a stage heading (Add stage below), or from the stage’s grip menu (Add stage above).
- Delete a stage from its grip menu. Only empty stages can be deleted, and the last remaining stage cannot be — move or delete its steps first (the disabled menu item’s tooltip explains this).
Drag-and-drop
Everything in the flow canvas reorders by dragging its grip handle (the vertical dots that appear on hover):- Steps — drag a step’s grip to move it within its stage or into another stage of the same flow. A blue insertion line shows exactly where it will land, and a highlighted stage background shows a drop into an empty stage. The editor auto-scrolls while you drag.
- Stages — drag a stage’s grip to reorder entire stages, steps and all. Clicking the same grip (without dragging) opens the stage menu.
- Conditions — inside a step card, response conditions can also be reordered by dragging.
Editing shared flows
A flow can be used by more than one script. Shared flows carry an amber Shared badge on their flow tab; hovering it lists every script using the flow and warns that changes affect all of them. The first time you try to edit a shared flow — typing in a step, renaming, reordering, anything — the editor stops and opens the This is a shared flow dialog: “Editing it can affect other scripts. Choose how you want to proceed.” It shows the flow’s name, how many scripts use it, and the list of those scripts. You then choose:
Choosing Cancel leaves the flow untouched. The Edit all scripts unlock lasts only for the current editor session — reopening the script asks again.
PDF export
The Export as PDF button in the toolbar exports the script — including any unsaved changes — as a formatted “AI Call Script Summary” document, useful for stakeholder review and compliance sign-off. It contains:- Objectives — the script’s call objectives
- Call Flow — the Pre-Call Flow (if any), the Main Flow, then each sub-flow, with stages, steps, step scripts, and each step’s conditions and routing targets
- Guidelines — as a Condition/Response table
- Knowledge Base — as an Item/Information table
- Voicemail Message
- Settings — script type, voice, and Max Call Duration
- Data Collection — the configured fields
Variables in the editor
Most text fields in the editor — step scripts, guidelines, knowledge base entries, tool inputs — accept variables. Type/ (or {{) to open the variable picker and insert a reference such as {{contact.first_name}} (string — e.g. Jane), which renders as a highlighted pill. See Flow variables for how variables resolve on a call.
Next Steps
- Flows overview — how flows, steps, and conditions shape the conversation itself
- Versions & Publishing — draft versions, the version picker, comparing, and going live
- Testing — run browser and phone test calls straight from the editor
- Test Console — re-run saved scenarios, replays of real calls, and simulated callers against the script
- Script Settings — call type, duration limits, voice, Key Terms, Live Handoff, and Intent Pathways

