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.
Step Types
Voxworks supports four step types:
| Type | Purpose | Interactive | Awaits Response | Interruptible |
|---|
| Voice | Speak to user and listen for response | Yes | Yes | Yes |
| Function | Execute custom logic | No | No | No |
| Tool | Call external services | No | No | No |
| Flow | Navigate to a sub-flow | No | Depends | No |
Common Step Properties
All steps share these properties:
| Property | Description | Default |
|---|
id | Unique identifier for the step | Required |
type | Step type (voice, function, tool, flow) | Required |
Voice, Function, and Tool steps also have a script property for spoken output.
Flow steps do not have a script, they simply navigate directly to the sub-flow.
Step-Specific Settings
Each step can configure conversation dynamics:
| Setting | Options | Description |
|---|
eagerness | keen, normal, patient | How quickly to respond after user stops speaking |
thinking_effort | fast, normal, deep | LLM reasoning depth for this step |
silence_response | hurried, patient, extremely patient, infinite | How long to wait before prompting silent users |
See Conversation Dynamics for details on these settings.
Voice Steps
Voice steps are the primary interactive component. They:
- Speak a message to the user
- Wait for the user’s response
- Evaluate conditions to determine the next step
Voice Step: "Would you like to schedule a demo?"
Condition: "User agrees" → Booking step
Condition: "No" → Thank user and say goodbye step
Condition: "Otherwise" → Loop back to current step
It’s recommended to use “Otherwise” to loop back to the current step, allowing the assistant to ensure step conditions have been met before continueing.
Learn more about Voice Steps →
Function Steps
Function steps execute custom logic without speaking. They:
- Run calculations or validations
- Don’t produce voice output (though can have a “thinking” message)
- Evaluate conditions based on function results
Function Step: Check if [Contact - Email] exists
Condition: true → Continue with valid email
Condition: false → Ask for email step
Learn more about Function Steps →
Tool steps call external services. They:
- Execute integrations (SMS, calendar, webhooks)
- Return results that can be used in conditions
- Can map outputs to variables
Tool Step: Check calendar availability
Condition: true (slots available) → Speak options step
Condition: false (no slots) → Apologize and offer alternative
Learn more about Tool Steps →
Flow Steps
Flow steps navigate to sub-flows. They:
- Invoke another flow as a module
- Variables are automatically available in the sub-flow
- Return success or failure to the parent flow
Learn more about Flow Steps →
Step Execution Order
Steps execute in sequence unless conditions redirect:
- Enter step — Step settings are applied (eagerness, idle, etc.)
- Execute — Step-specific action runs
- Evaluate — Conditions are checked (for voice/function/tool steps)
- Navigate — Move to the next step based on conditions
Conditions
Most steps include conditions that determine navigation:
| Step Type | Condition Basis |
|---|
| Voice | AI analysis of user response |
| Function | Boolean result of function execution |
| Tool | Boolean result of tool execution |
| Flow | Result returned from sub-flow |
Best Practices
- Keep steps focused — Each step should do one thing
- Use clear scripts — Write naturally, as you would speak
- Plan your conditions — Consider all possible user responses
- Set appropriate dynamics — Adjust eagerness and thinking for each step
- Test step transitions — Verify conditions work as expected
Next Steps