Step Types
Voxworks supports three step types:| Type | Purpose | Interactive | Awaits Response | Interruptible |
|---|---|---|---|---|
| Voice | Speak to user and listen for response | Yes | Yes | Yes |
| 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, tool, flow) | Required |
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 |
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
Tool 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
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
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/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 |
| 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
- Voice Steps — Design interactive conversations
- Tool Steps — Integrate external services
- Flow Steps — Navigate between flows

