Overview
The outbound calling feature allows you to place test calls directly from the Hamsa dashboard using your configured phone numbers and Voice Agents. This is ideal for testing agent behavior, validating configurations, and demonstrating agent capabilities.Outbound calls enable you to:
- Test Voice Agents before production deployment
- Validate phone number configurations
- Demonstrate agent capabilities to stakeholders
- Pass custom parameters for personalized conversations
- Configure webhooks for call event notifications
Individual Calls vs Batch Calls:
- Individual Calls (this page): Make single test calls from the dashboard - perfect for testing and demonstrations
- Batch Calls: Execute batch calls to multiple recipients - ideal for production use
- Both use the same phone numbers, but serve different purposes
Prerequisites
Before making outbound calls, ensure: Phone Number Configuration:- Phone number is added to the system
- Number is assigned to a Voice Agent
- Provider credentials are valid (Twilio or SIP)
- Agent exists and is properly configured
- Agent is assigned to the phone number
- Agent has been tested in browser
- Active project is selected
- API key is configured in project settings
- Sufficient concurrency available in your plan
- Valid destination phone number
- Network connectivity
Supported Providers:
- Both Twilio and SIP trunk support outbound calls
- Ensure your provider account has sufficient balance or connectivity
Making a Basic Outbound Call
Step 1: Access Outbound Call Feature
-
Navigate to Phone Numbers
- Go to Dashboard → Phone Numbers
- View list of configured phone numbers
-
Select Phone Number
- Click on the phone number you want to use
- Ensure it’s assigned to a Voice Agent
- Details panel opens
-
Click Make Outbound Call
- In the details header, click “Make Outbound Call” button
- Button is enabled only when:
- Phone number is assigned to an agent
- Agent exists in the system
- API key is configured
- Provider supports outbound calls
Step 2: Configure Call Details
Destination Phone Number:- Enter in E.164 format (e.g., +12025551234)
- Must include country code
- Must start with ’+’
- No spaces or special characters
- System validates format
- Invalid numbers show error message
- Must be a valid phone number
Step 3: Initiate Call
-
Review Settings
- Verify destination number
- Check source number
- Confirm assigned agent
-
Click “Make Call”
- Call is initiated immediately
- Modal closes automatically
- System displays success notification
-
Answer Call
- Answer the phone at the destination number
- Voice Agent begins conversation
- Interact with agent as needed
Step 4: Monitor Call
-
View in Call History
- Navigate to Call History
- Find your call in the list
- Shows status: IN_PROGRESS → COMPLETED
-
Review Call Details
- Click the call to see details
- View conversation transcript
- Check call logs
- Review outcomes
Advanced Outbound Call Options
Custom Parameters
Pass dynamic variables to personalize the agent’s conversation. Use Cases:- Customer name for personalized greeting
- Order number for order status calls
- Appointment details for reminders
- Account information for verification
- In the outbound call modal
- Scroll to “Custom Parameters” section
- Click “Add Parameter”
- Enter key and value:
- Key: Variable name (e.g., ‘customer_name’)
- Value: Variable value (e.g., ‘John Smith’)
- Add multiple parameters as needed
- Remove parameters by clicking delete icon
| Key | Value |
|---|---|
| customer_name | John Smith |
| order_number | ORD-12345 |
| appointment_date | 2026-01-25 |
| appointment_time | 2:00 PM |
Parameter Requirements:
- Keys must be referenced in the Voice Agent’s prompt or flow
- Unused parameters are ignored (no error)
- Values can be strings, numbers, or basic types
- No validation on parameter format
Webhook Configuration
Configure webhooks to receive real-time call event notifications. Supported Events:- Call initiated
- Call answered
- Call in progress
- Call completed
- Call failed
-
Enable Webhooks
- In outbound call modal
- Toggle “Enable Webhook” switch
-
Enter Webhook URL
- Must be HTTPS URL
- Must be publicly accessible
- Must return 200 status for delivery
- Example:
https://api.example.com/call-events
-
Configure Authentication (Optional)
- API Key: Simple key-based authentication
- Add header:
X-API-Key: your-api-key
- Add header:
- Bearer Token: JWT or OAuth token
- Add header:
Authorization: Bearer your-token
- Add header:
- Basic Auth: Username and password
- Add header:
Authorization: Basic base64(user:pass)
- Add header:
- API Key: Simple key-based authentication
-
Test Webhook
- Use webhook testing tools
- Verify your endpoint receives events
- Check event payload structure
Use Cases
Testing Voice Agent Configuration
Scenario: Verify agent behavior before production Steps:- Configure Voice Agent with desired prompts and tools
- Assign agent to test phone number
- Make outbound call to your own phone
- Interact with agent to test:
- Greeting and introduction
- Question answering
- Tool executions
- Call flow logic
- Error handling
- Review call in Call History
- Iterate on agent configuration as needed
- Low-risk testing environment
- Immediate feedback
- No impact on production calls
- Easy iteration
Demonstrating Agent Capabilities
Scenario: Show stakeholders what the agent can do Steps:- Prepare demonstration script
- Configure agent with relevant knowledge base
- Set up outbound call to stakeholder’s phone
- Add custom parameters for personalized demo
- Place call during presentation
- Show live interaction
- Review Call History together
- Live demonstration
- Real phone experience
- Builds confidence
- Immediate feedback
Appointment Reminders
Scenario: Automated appointment reminder calls Steps:- Create appointment reminder Voice Agent
- Assign to outbound phone number
- Prepare appointment details as parameters
- Make call with parameters:
- patient_name: ‘Jane Doe’
- appointment_date: ‘2026-01-25’
- appointment_time: ‘2:00 PM’
- doctor_name: ‘Dr. Smith’
- Agent delivers personalized reminder
- Configure webhook to track confirmations
- Automated reminders
- Personalized experience
- Reduced no-shows
- Cost-effective
Order Status Updates
Scenario: Proactive customer communication Steps:- Create order update Voice Agent
- Configure with order tracking knowledge
- Make call with order parameters:
- customer_name: ‘John Smith’
- order_number: ‘ORD-12345’
- tracking_number: ‘TRACK-789’
- delivery_date: ‘2026-01-24’
- Agent provides order status
- Webhook captures customer response
- Proactive communication
- Improved customer satisfaction
- Reduced support inquiries
- Scalable solution
Limitations and Considerations
Call Limitations
Provider Limits:- Subject to provider’s rate limits
- Geographic restrictions may apply
- Cost per call varies by destination
- Some countries may be blocked
- Concurrent calls limited by your plan
- API key required for all calls
- Outbound call history tracked
- Cost deducted from your account
- Uses Twilio account balance
- Subject to Twilio’s compliance rules
- May require caller ID verification
- Some regions require local numbers
- Depends on trunk configuration
- May require carrier approval
- Custom routing rules apply
- Authentication must be configured
Best Practices
Testing:- Always test on your own number first
- Verify agent behavior thoroughly
- Test edge cases and error scenarios
- Check call quality and audio
- Use Batch Calls for large campaigns
- Don’t make individual calls for bulk needs
- Batch calls are more efficient for multiple recipients
- Monitor call costs
- Review Call History regularly
- Only pass necessary parameters
- Validate parameter values
- Test with different parameter combinations
- Document parameter usage
- Implement proper error handling
- Log all webhook events
- Monitor webhook endpoint health
- Have fallback mechanisms
Cost Management
Monitor Usage:- Track calls in Call History
- Review costs regularly
- Set up budget alerts
- Plan for peak usage
- Use local numbers when possible
- Keep calls concise
- Test thoroughly before production
- Use appropriate agent configurations
Troubleshooting
Cannot Make Outbound Call
Button Disabled: Check if:- Phone number is assigned to a Voice Agent
- Voice Agent exists and is not deleted
- API key is configured in project settings
- You have sufficient permissions
- Assign Voice Agent if unassigned
- Verify agent exists in Voice Agents section
- Configure API key in project settings
- Check provider type
- Contact administrator for permissions
Call Fails to Connect
Possible Causes:- Invalid destination number format
- Destination number blocked by provider
- Insufficient balance (Twilio)
- Network connectivity issues
- SIP trunk misconfiguration
- Verify E.164 format (+country code)
- Check provider account status
- Ensure sufficient balance
- Test with known working number
- Review SIP trunk configuration
- Check Call History for error details
Agent Not Responding
Possible Causes:- Voice Agent configuration issues
- LLM API errors
- Knowledge base not processing
- Tool integration failures
- Test agent in browser first
- Check agent configuration
- Verify LLM API key is valid
- Review knowledge base status
- Check tool configurations
- Review call logs in Call History
Webhook Not Receiving Events
Possible Causes:- Invalid webhook URL
- URL not publicly accessible
- Firewall blocking requests
- Authentication failing
- Endpoint returning errors
- Verify URL is correct and HTTPS
- Test with webhook testing tools
- Check firewall rules
- Verify authentication credentials
- Monitor endpoint logs
- Return 200 status code