Validation System
Hamsa’s built-in validation system checks your flow for errors before you can save or deploy.Real-Time Validation
The validation system runs continuously as you build:Validation Indicator
Validation Categories
1. Workflow-Level Errors
Missing Start Node:2. Node-Level Errors
Empty Message:3. Variable Errors
Invalid Variable Name:4. Transition Errors
Empty Transition Description:5. Global Node Errors
Missing Global Condition:6. Tool Override Errors
Empty Parameter Override:Validation Popover
The validation popover provides detailed information about all errors and warnings.Opening the Validation Popover
Popover Contents
Using the Focus Button
Testing Strategies
1. Development Testing
Test as you build:2. Call Testing (Test Mode)
Use the built-in call testing feature:3. Live Call Logs
Real-time debugging during test calls:4. Snapshot Testing
Use snapshots for regression testing:Debugging Tools
1. Node Highlighting
2. Variable Inspector
3. Transition Inspector
4. Debug Panel
Common Issues and Solutions
Issue 1: Transition Never Fires
Symptoms:- Expected transition doesn’t trigger
- Conversation stuck or goes to wrong path
Issue 2: Variable Not Extracted
Symptoms:- Variable shows as undefined or null
- Template renders as empty
Issue 3: Global Node Not Triggering
Symptoms:- Say “I want an agent” but transfer doesn’t happen
- DTMF press doesn’t trigger global node
Issue 4: Tool Call Fails
Symptoms:- Tool node doesn’t execute
- Error in call logs
- Flow doesn’t proceed
Issue 5: Message Not Speaking as Expected
Symptoms:- Message renders incorrectly
- Variables show as instead of value
- Message skipped entirely
Issue 6: Flow Performance Issues
Symptoms:- Long delays between messages
- Slow transition evaluation
- Timeouts during calls
Debugging Workflows
Workflow 1: New Flow Not Working
Workflow 2: Existing Flow Broke After Changes
Workflow 3: Production Issue Reported
Testing Checklist
Before deploying to production, test:Basic Functionality
- Happy path works end-to-end
- All nodes are reachable
- All transitions fire correctly
- All variables extract properly
- All tools execute successfully
- All global nodes trigger appropriately
Error Handling
- Invalid inputs handled gracefully
- Missing variables have fallbacks
- Tool failures don’t crash flow
- Timeouts handled appropriately
- User confusion leads to help or transfer
- Max retry limits work correctly
Edge Cases
- Empty user input
- Very long user input (> 1 minute)
- Rapid repeated inputs
- Interrupting agent mid-sentence
- Long silences (timeout)
- DTMF during voice input
- Switching between voice and DTMF
User Experience
- Messages are clear and concise
- No awkward pauses or delays
- Confirmations for critical actions
- Easy escape hatches (agent, menu, end)
- Helpful error messages
- Natural conversation flow
Performance
- Transitions evaluate in < 2 seconds
- Tool calls complete in < 10 seconds
- Total call duration reasonable
- No unnecessary API calls
- Voice sounds natural (speed, pitch)
Validation
- No validation errors
- All warnings addressed or acknowledged
- All nodes have names
- All transitions have descriptions
- All variables follow naming convention
Troubleshooting Resources
Built-in Help
External Resources
Best Debugging Practices
1. Start Small
2. Use Descriptive Names
3. Document Complex Logic
4. Test with Real Data
5. Monitor Production
Quick Reference
Validation Error Quick Fixes
| Error | Quick Fix |
|---|---|
| ”System instructions required” | Add system prompt in global settings |
| ”Message is required” | Fill message field in conversation node |
| ”Tool selection required” | Click “Select Tool” and choose a tool |
| ”Invalid variable name” | Use snake_case (lowercase, underscores) |
| “Variable description too short” | Extend to 10+ characters |
| ”Missing extraction prompt” | Add extraction prompt for variable |
| ”Global condition required” | Add globalCondition for global node |
| ”No fallback transition” | Add Always transition as last option |
| ”Invalid phone number” | Use international format (+15551234567) |
Debugging Commands
| Tool | Access | Purpose |
|---|---|---|
| Validation Popover | Header badge | See all errors |
| Test Call | Header button | Live testing |
| Call Logs | Right panel (test mode) | Real-time debugging |
| Variables Panel | Right panel | Variable inspection |
| Debug Panel | Bottom toggle | Detailed state info |
| Node Focus | Validation → Focus button | Jump to error |