Advanced Features
BlackBox provides advanced capabilities to handle complex conversation scenarios and enhance call quality. This guide covers the key features available in the Features tab when creating or editing your agent.Overview
The Features tab allows you to enable and configure:- Language Switching: Let users switch languages mid-conversation
- Ambient Noise Handling: Add realistic background noise to agent voice output
- Call Transfer: Route calls to human agents or other endpoints
- Post-Call Analysis: Extract structured insights from conversations
- Talk First: Agent speaks first when call connects
- Max Duration: Set maximum call duration limits
- IVR Detection: Detect answering machines and IVR systems
Language Switching
Users can request language changes during a call.What is Language Switching?
Language switching allows your agent to:- Respond to user language requests
- Adapt voice synthesis to match the requested language
- Continue the conversation in the target language
- Switch back to the original language when requested
When to Use Language Switching
Ideal Use Cases:- Customer support for global audiences
- Healthcare services with diverse patient populations
- Government services in multilingual regions
- Travel and hospitality applications
Configuration
To enable language switching:- Navigate to the Features tab in the agent editor
- Toggle Enable Language Switching to ON
- Save your agent configuration
The language switching feature is a simple on/off toggle. When enabled, the agent responds to user language requests. Ensure your LLM and TTS provider support the languages users may request.
- Via Dashboard
- Via API
Enable the FeatureIn the Features tab:
- Toggle Language Switching to ON
- The agent responds to user language requests
- ElevenLabs: Multilingual V2 model supports 29 languages
- Cartesia: Sonic model with multilingual support
- Dasha: Multi-language voice synthesis
Requirements
For language switching to work effectively, ensure:-
LLM Support: Use models that handle multiple languages well
- ✅ OpenAI GPT-4/GPT-4.1 (excellent multilingual support)
- ✅ DeepSeek (strong multilingual capabilities)
- ⚠️ Some specialized models may have limited language support
-
TTS Support: Choose voices that match your target languages
- ElevenLabs Multilingual V2: Supports 29 languages
- Cartesia Sonic: Multilingual capabilities
- Dasha: Supports just 2 languages, but fast
-
System Prompt: Instruct your agent to handle language requests
Ambient Noise Handling
Add realistic background noise to your agent’s voice output.What is Ambient Noise?
Ambient noise adds natural background sounds to your agent’s audio output:- Makes the agent sound more realistic and human-like
- Simulates natural environments (office, call center, etc.)
- Adds authenticity to AI-generated voice
- Creates a more natural conversation experience
When to Use Ambient Noise
Ideal Use Cases:- Agents posing as human customer service representatives
- Scenarios where perfect audio quality seems artificial
- Call center simulations requiring realistic background
- Applications where environmental context matters
- Customer service agent appearing to work from an office
- Sales representative calling from a realistic workplace
- Appointment reminders that sound naturally human
- Any scenario where pure AI voice seems too perfect
Configuration
To enable ambient noise:- Navigate to the Features tab
- Toggle Ambient Noise to ON
- Adjust the noise level from 0.0 (none) to 1.0 (maximum)
- Test to find the right balance for your use case

- Via Dashboard
- Via API
Enable Ambient NoiseIn the Features tab:
- Toggle Ambient Noise to ON
- Adjust the slider to set noise intensity
- Start with 0.3-0.5 for subtle realism
- Preview with test calls to find optimal level
Finding the Right Level
Noise Level Guidelines:- 0.0: No background noise - pure AI voice (most artificial)
- 0.2-0.4: Subtle office ambiance - natural without distraction
- 0.5-0.7: Moderate background - noticeable call center environment
- 0.8-1.0: Heavy ambient noise - may impact clarity
Best Practices
1. Balance Realism and Clarity- Use enough noise to sound natural
- Avoid levels that impair understanding
- Test with your target audience
- Some jurisdictions require AI disclosure
- Ambient noise doesn’t replace legal requirements
- Be transparent about AI agent identity when required
Ambient noise adds background sound to the agent’s output - it does not filter or suppress noise from the user’s environment. This feature enhances realism, not speech recognition.
Call Transfer
Route calls to human agents, other AI agents, or external phone numbers.What is Call Transfer?
Call transfer enables your agent to:- Escalate complex issues to human agents
- Route calls to departments or specialists
- Forward calls to external phone numbers
- Maintain conversation context during transfer
Transfer Types
BlackBox supports three transfer methods:Cold Transfer (Blind Transfer)
The AI agent disconnects immediately after initiating the transfer. When to Use:- Simple routing scenarios
- No context needed at destination
- Fast handoff required
- IVR-style call routing
Warm Transfer (Attended Transfer)
The AI agent consults with the destination before completing the transfer. When to Use:- Complex issues requiring context
- VIP or sensitive situations
- Quality assurance needed
- Human agent availability check
HTTP Transfer (Programmatic Routing)
Uses a webhook to determine transfer destination dynamically. When to Use:- Business rule-based routing
- CRM integration for routing
- Load balancing across agents
- Custom transfer logic
Configuration
To enable call transfer:- Navigate to the Features tab
- Toggle Call Transfer to ON
- Select transfer type (cold, warm, or HTTP)
- Configure destination endpoint(s)
- Add transfer instructions to system prompt

- Cold Transfer
- Warm Transfer
- HTTP Transfer
Dashboard Configuration:
- Enable Call Transfer in Features tab
- Select Cold Transfer type
- Enter endpoint destination:
- Phone number:
+1-555-0100 - SIP URI:
sip:support@example.com
- Phone number:
- Update system prompt:
Transfer Routes
Configure multiple transfer destinations for different scenarios using thetransferRoutes array:
Route Configuration:
Transfer Best Practices
1. Set Clear Expectations- Transfer success rate
- Time to connect
- Post-transfer customer satisfaction
- Reasons for transfer
Testing Transfers
Step 1: Create Test Agent- Enable transfers
- Configure test phone numbers
- Set short timeout values
- Successful cold transfer
- Successful warm transfer
- Transfer failure (busy/no answer)
- Multiple transfer attempts
- Fallback routing
- Call connects to destination
- Context is preserved (warm transfer)
- Fallbacks work correctly
- User experience is smooth
Post-Call Analysis
Extract structured insights from conversations automatically.What is Post-Call Analysis?
Post-call analysis uses AI to:- Extract key information from conversations
- Categorize call outcomes
- Score conversation quality
- Generate structured data for your systems
Use Cases
Customer Support:- Sentiment analysis
- Issue categorization
- Resolution status
- Follow-up requirements
- Lead qualification scores
- Interest level assessment
- Next steps identification
- Objection tracking
- Symptom documentation
- Appointment scheduling confirmation
- Insurance information capture
- Follow-up instructions
Configuration
Define custom analysis forms to extract exactly what you need:- Via Dashboard
- Via API
Step 1: Enable Post-Call AnalysisIn the Features tab:
- Toggle Post-Call Analysis to ON
- Click Add Analysis Form
- Name your form (e.g., “Lead Qualification”)
-
Name:
lead_score -
Type:
number - Description: “Score from 1-10 based on interest level”
-
Name:
contact_info_collected -
Type:
boolean - Description: “Did we collect email and phone?”
-
Name:
next_step -
Type:
enum -
Values:
["schedule_demo", "send_info", "call_back", "not_interested"] - Description: “What should happen next?”
- Call detail page
- Result webhooks
- API call details
Label Types
String: Free-form textAccessing Analysis Results
Via Dashboard:- Navigate to Calls page
- Click on completed call
- View “Post-Call Analysis” section
- See extracted labels and values
Combining Features
Advanced features work together to create powerful experiences:Example: Multilingual Support with Transfer
Example: Post-Call Analysis for Compliance
Best Practices Summary
Language Switching
- Ensure your LLM supports multilingual conversations
- Choose TTS providers with strong multilingual capabilities
- Test language detection and switching in realistic scenarios
- Monitor quality and accuracy across languages
Ambient Noise
- Start with level 0.3-0.5 for subtle realism
- Balance natural sound with call clarity
- Test with target audience before deployment
- Match noise level to your use case scenario
Call Transfer
- Always configure fallback destinations for HTTP transfers
- Brief recipients during warm transfers for context
- Test all transfer flows thoroughly before production
- Monitor transfer success rates and failure reasons
Post-Call Analysis
- Define clear, specific labels with detailed descriptions
- Use enums for categorical data to ensure consistency
- Keep label count manageable (5-10 per form)
- Validate analysis accuracy against actual conversations
Troubleshooting
Language Switching Not Working
- Verify TTS provider supports target languages
- Check LLM has multilingual capabilities
- Ensure voices are available for all languages
- Review system prompt language instructions
Ambient Noise Too High or Too Low
- Reduce level if users complain about audio quality
- Increase level if agent sounds too artificial
- Test different levels with various audiences
- Consider use case requirements (realism vs clarity)
Transfer Failures
- Verify destination numbers are correct
- Test reachability of transfer endpoints
- Check SIP configuration if using SIP URIs
- Monitor network connectivity
- Configure fallback routes
Inaccurate Post-Call Analysis
- Review and refine label descriptions
- Provide examples in descriptions
- Use enums instead of free-form strings
- Test with various conversation types
- Iterate based on results
Next Steps
Now that you understand advanced features:- Enable Features: Add features one at a time to your agent
- Test Thoroughly: Verify each feature works as expected
- Monitor Performance: Track metrics for enabled features
- Optimize: Refine configuration based on real-world usage