Transitions define when and how the conversation moves from one node to another. Each node can have multiple transitions; the first matching transition fires.Documentation Index
Fetch the complete documentation index at: https://docs.tryhamsa.com/llms.txt
Use this file to discover all available pages before exploring further.
Transition Types
| Type | Evaluation | Use Case |
|---|---|---|
| Prompt | LLM-based | Natural language condition — intent detection, sentiment |
| Equation | Rule-based | Variable comparisons, thresholds |
| DTMF | Keypad input | IVR menus, quick selection |
| Auto | Automatic | Auto-advance when node completes |
Availability by Node Type
Not all transition types are available on every node. Some nodes have fixed transitions that cannot be added, removed, or edited.| Node Type | Available Transitions |
|---|---|
| Conversation | Prompt, DTMF, Auto |
| Start (conversation mode) | Prompt, DTMF |
| Start (tool mode) | Fixed: “On Success” and “On Failure” (cannot be modified) |
| Router | Equation only, plus a fixed “Else” fallback |
| Tool / Web Tool | Fixed: “On Success” and “On Failure” (cannot be modified) |
| Transfer Call / Transfer Agent | Fixed: “On Failure” only (cannot be modified) |
| Set Variables / Change Settings | Fixed: auto-transition (cannot be modified) |
| End Call | None (terminal node) |
Fixed transitions on Tool, Web Tool, Transfer, and Start (tool mode) nodes are pre-configured and cannot be added, removed, or edited by the user.
Prompt Transitions (Natural Language)
The LLM evaluates whether the condition is met based on the caller’s input and conversation context.Configuration
Examples
Equation Transitions (Structured)
Equation transitions evaluate variable conditions using rule-based logic — no LLM involved. They are only available on Router nodes.Configuration
Operators
| Operator | Symbol | Description |
|---|---|---|
equals | = | Exact match |
not_equals | ≠ | Not equal |
greater_than | > | Numeric greater than |
less_than | < | Numeric less than |
greater_than_or_equal | ≥ | Numeric greater than or equal |
less_than_or_equal | ≤ | Numeric less than or equal |
contains | ∋ | String contains substring |
not_contains | ∌ | String does not contain |
exists | ∃ | Variable has any value |
not_exists | ∄ | Variable is null/undefined |
regex | (.*) | Regular expression match |
When using numeric operators (
>, ≥, <, ≤), the variable must be a number or convertible to a number. Hamsa handles type coercion automatically — a string "25" compared to number 21 with greater_than evaluates correctly.Examples
Single condition:Router “Else” Fallback
Every router node has a fixed “Else” transition that acts as the default fallback when no equation conditions match. This transition cannot be removed or edited — it is always present and always evaluated last.DTMF Transitions
DTMF transitions fire when the caller presses a specific keypad key. They are available on Conversation and Start nodes. → See DTMF Features for full documentation on all DTMF capabilities.Configuration
Example
DTMF Capture Restrictions
When DTMF input capture is enabled on a node, DTMF transitions are restricted:- Only the termination keys (
*and#) can be used as transition keys — number keys (0–9) are disabled. - A maximum of 2 DTMF transitions are allowed (one for each termination key).
- Any existing number-key transitions are automatically disabled.
- Keys already used for global node triggers are also unavailable.
Auto Transitions
Auto transitions advance to the next node automatically when the current node completes. They are only available on Conversation nodes.Configuration
Example
Behavior
Adding an auto transition has significant effects on the node:- All existing transitions are disabled — they are kept but marked inactive.
- All existing connection edges are deleted — only the auto-transition connection remains.
- You cannot have both auto and manual transitions on the same node.
Return to Source
When a node has Return to Source enabled, all transitions on that node are disabled. The node returns control to whichever node called it instead of following any transition path. Toggle off “Return to Source” to re-enable transitions.Advanced Patterns
Combining prompt and DTMF
Time-based routing
Validation
The flow builder validates transitions before deployment:- All transitions have non-empty conditions (prompts, equation conditions, DTMF keys)
- DTMF keys are valid (0–9, *, #)
- DTMF termination keys do not conflict between input capture and transitions
- Numeric operators must have numeric values or variable references
Transition Schema
Next Steps
Global Nodes
Nodes reachable from anywhere in the flow
DTMF Features
Full keypad interaction documentation
Variables
Variables used in equation conditions
Router Node
Pure routing without conversation