From survey to call script
A survey does not make calls by itself. Voxworks compiles it into an ordinary Call Script, with a flow for the survey and a flow for each question. That script is what places and answers calls — see Running a survey. Nothing compiles automatically. Saving a question or a section never changes the compiled script; only these three buttons do:
Compile and Publish need the
surveys.publish permission, which team owners have and members do not (see Surveys). A user without it can still press Validate to open the readiness report.
Compile: build a draft you can test
Press Validate or Compile. The compile runs in the background — you can keep working or leave the page. It usually takes 20 to 75 seconds, a little longer for large surveys, and can take a few seconds to start. While it runs, a badge next to the survey title and the button that started it show the progress:
Validate and Publish are disabled while any job for the survey is running. Pressing a button twice is safe — the second press joins the running job rather than starting another.
After a compile, the Compile card on the Readiness tab shows:
A compiled draft becomes a draft version of the survey’s script. Like any draft script version, it runs on test calls but not on real calls once the survey has a published version — so compile, then test call the script from Call Scripts to hear the survey before you publish it.
Publish: make it live
Press Publish in the header. It is shown to users with the publish permission when the version is a draft, validated or imported. Publishing:- Re-runs readiness. If anything blocks, it stops with “Publishing is blocked:” followed by the first blocker.
- Freezes the version — its status moves from
draftthroughvalidatingandvalidatedtopublishing. - Compiles it as a new live version of the script. The header shows Publishing….
- On success, the version becomes
publishedand the previously published version becomesretired. The toast reads Survey version published.
Script version numbers
The compiled script’s version number follows the same pattern as any script (see Script Versions & Publishing):
Every compile moves the number, even if nothing changed. A failed publish uses up no number — the retry lands on the same one.
The script and its flows are created on the first compile and reused by every version after it, so the survey always has one script. Version history shows each version’s compile as Compiled · 0.6.0 or Published · 1.0.0, with ×N when it has been compiled more than once.
When a compile fails
A failed compile shows Compile failed and a toast. The Compile card on the Readiness tab lists each error as: (code) · (question key) — (message)
To retry, press the button again. Each attempt is a new job on the Jobs page.
When a publish fails
A failed publish shows Publish failed and a toast — usually “The publish failed — nothing was published. See Readiness.” The version goes back tovalidated (or imported), and the version that was live stays live — callers are unaffected. Code publish_failed means “The compiled package could not be written: (reason)”. Fix what the errors describe, or try again.
A typical cycle
- Write or change questions on a draft.
- Press Validate. Fix any blockers on the Readiness tab, and read the warnings.
- When it compiles, open the script from Settings → Compiled identity → Script and place a test call.
- Adjust, validate and test again until it sounds right.
- Press Publish.
- Run it from a batch or an inbound number — see Running a survey.

