Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.blackbox.dasha.ai/llms.txt

Use this file to discover all available pages before exploring further.

Fix common Dasha BlackBox problems quickly. Find your symptom, identify the cause, apply the solution.

Quick Diagnosis

SymptomLikely CauseSolution
Agent enabled but calls failPhone not configuredAgent Not Responding
HTTP 401 errorsInvalid/expired API keyAuthentication Failures
Webhooks not receivedURL not accessibleWebhook Failures
”Concurrent limit exceeded”Too many active callsConcurrent Limits
Tool calls failingWebhook timeout or schema mismatchTool Failures
Robotic/choppy voiceTTS provider or networkVoice Quality
Agent mishears userLanguage or noise settingsASR Errors
Slow/irrelevant responsesModel or prompt issuesLLM Issues
Recording not foundNot enabled or still processingRecording Issues

Agent Not Responding

Symptoms: Agent shows “Enabled” but calls don’t connect, go to voicemail, or fail immediately.

Quick Checks

CheckHow to VerifyFix
Agent statusDashboard → Agent → Status badgeEnable if Disabled
Phone numberAgent config → phoneNumber fieldAssign E.164 format number (+12025551234)
Required fieldsSystem prompt, LLM, TTS, STT configuredFill missing fields
const agent = await fetch(`https://blackbox.dasha.ai/api/v1/agents/${agentId}`, {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}).then(r => r.json());

console.log('Enabled:', agent.isEnabled);
console.log('Outbound SIP:', agent.config.outboundSipConfig?.fromUser);
console.log('Inbound SIP URI:', agent.inboundSipConfig?.sipUri);

Debug Steps

  1. Test from dashboard — If dashboard test works but live calls fail, issue is phone/integration setup
  2. Check call logs — Dashboard → Calls → Filter by agent → Review failed calls
  3. Verify webhooks — Ensure webhook URLs are publicly accessible (not localhost)

Authentication Failures

Symptoms: HTTP 401 Unauthorized, “Invalid API key”, “Token expired”

Common Causes

ErrorCauseFix
”Invalid API key”Key doesn’t exist or revokedGenerate new key in dashboard
”Token expired”Web integration token expiredRegenerate via API or dashboard
401 only in productionUsing wrong environment keyCheck environment variables
401 from specific originsOrigin not whitelistedAdd origin to web integration
// Test key validity
const response = await fetch('https://blackbox.dasha.ai/api/v1/agents', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
console.log('Valid:', response.status !== 401);
For web integrations, add all required origins:
await fetch('https://blackbox.dasha.ai/api/v1/web-integrations/YOUR_INTEGRATION_ID', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    allowedOrigins: ['https://yourapp.com', 'http://localhost:3000']
  })
});

Webhook Delivery Failures

Symptoms: Webhooks not received, timeout errors, SSL certificate errors

Common Causes

ErrorCauseFix
Connection timeoutEndpoint too slowRespond immediately, process async
Connection refusedURL not accessibleUse public URL, not localhost
SSL certificate errorSelf-signed or expired certUse Let’s Encrypt or valid CA
DNS resolution failedDomain doesn’t resolveCheck DNS configuration

Timeout Requirements

Webhook TypeDefault TimeoutMax Configurable
StartWebHookPayload10 seconds300 seconds
ToolWebHookPayload5 seconds300 seconds
Other webhooks30 seconds
// Respond immediately, process async
app.post('/webhook', (req, res) => {
  res.status(200).json({ received: true });

  setImmediate(async () => {
    await processWebhook(req.body);
  });
});
const result = await fetch('https://blackbox.dasha.ai/api/v1/webhooks/test', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    webHook: { url: 'https://your-server.com/webhook' },
    webhookType: 'CompletedWebHookPayload'
  })
}).then(r => r.json());

console.log('Success:', result.success, 'Time:', result.timeTaken, 'ms');
Use ngrok to expose local endpoints:
ngrok http 3000
# Use the https://xxx.ngrok.io URL in webhook configuration

Concurrent Call Limit Exceeded

Symptoms: “Concurrent call limit exceeded”, HTTP 429 with “Too many active calls”

Limits by Plan

PlanConcurrent LinesMinutes/Month
Developer (Free)11,000
Growth30 (at start)Contact sales
EnterpriseCustomCustom
Growth and Enterprise plan limits can be adjusted based on your needs. Contact support@dasha.ai to discuss your requirements.
const concurrency = await fetch('https://blackbox.dasha.ai/api/v1/misc/concurrency', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}).then(r => r.json());

console.log('Active:', concurrency.active, '/', concurrency.concurrency);

Solutions

  1. Wait for slots — Poll active calls, schedule when capacity available
  2. Stagger scheduling — Space calls over time instead of bulk scheduling
  3. Upgrade tier — Contact support@dasha.ai for higher limits

Tool Calling Failures

Symptoms: Agent says “I’m unable to complete that request”, tool webhook errors, missing parameters

Common Causes

ErrorCauseFix
TimeoutWebhook takes over 10 secondsOptimize endpoint, respond faster
Invalid responseResponse not JSONReturn valid JSON object
Missing parametersSchema mismatchCheck tool schema in agent config
Agent doesn’t use toolPrompt unclearAdd explicit tool usage instructions
const agent = await fetch('https://blackbox.dasha.ai/api/v1/agents/YOUR_AGENT_ID', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}).then(r => r.json());

console.log('Tools:', agent.config.tools?.map(t => t.name));
agent.config.tools?.forEach(t => {
  console.log(`  ${t.name} webhook: ${t.webhook?.url}`);
});
Add explicit instructions to system prompt:
ALWAYS use the check_availability tool before confirming a booking.
NEVER guess about availability - always check first.

Voice Quality Issues

Symptoms: Robotic voice, choppy audio, audio dropouts

Quick Fixes

IssueTry This
Robotic voiceSwitch TTS provider or try different voice
Too fast/slowAdjust speed (0.8-1.2 range)
Choppy audioCheck network quality, use wired connection
Inconsistent qualityTry different voice ID

Provider Comparison

ProviderQualityBest For
CartesiaGoodEmotions, wide speed range
ElevenLabsExcellentPremium quality, voice cloning
InworldVery GoodCharacter voices, gaming
LMNTGoodConsistent output
await fetch('https://blackbox.dasha.ai/api/v1/agents/YOUR_AGENT_ID', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    config: { ttsConfig: { provider: 'Cartesia', speed: 1.0 } }
  })
});

ASR Transcription Errors

Symptoms: Agent responds to wrong words, user repeats themselves, numbers transcribed incorrectly

Quick Fixes

IssueFix
Wrong languageSet correct primaryLanguage (e.g., en-US)
Background noiseEnable ambientNoise: true in features
Frequent mishearingAdd confirmation prompts to system prompt
await fetch('https://blackbox.dasha.ai/api/v1/agents/YOUR_AGENT_ID', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    config: { features: { ambientNoise: true } }
  })
});
ALWAYS confirm critical information by repeating it back:
- Names: "Your name is [name]. Is that correct?"
- Numbers: "That's [number]. Right?"

LLM Response Issues

Symptoms: Slow responses (over 5 seconds), irrelevant answers, hallucinations, repetition

Quick Fixes

IssueFix
Too slowUse faster model (Reflex-1, GPT-4.1 Mini)
Irrelevant responsesImprove system prompt clarity
HallucinationsLower temperature (0.3-0.5)
RepetitiveAdjust presence/frequency penalties

Model Comparison

ModelSpeedIntelligenceCost
Reflex-1Very FastGoodHigh
GPT-4.1 MiniFastGoodLow
Claude 3.5 SonnetFastExcellentMedium
Gemini 2.5 FlashVery FastGoodLow
GPT-4MediumExcellentMedium
await fetch('https://blackbox.dasha.ai/api/v1/agents/YOUR_AGENT_ID', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    config: {
      llmConfig: {
        model: 'gpt-4.1-mini',
        temperature: 0.5
      }
    }
  })
});

Call Recording Not Available

Symptoms: “Recording not found”, null recordingId, some calls have recordings but others don’t

Quick Checks

IssueFix
Recording disabledEnable recordingEnabled: true in agent features
Just completedWait 1-2 minutes for processing
404 on downloadUse correct endpoint: /calls/media/{recordingId}
await fetch('https://blackbox.dasha.ai/api/v1/agents/YOUR_AGENT_ID', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    config: { features: { recordingEnabled: true } }
  })
});
const call = await fetch('https://blackbox.dasha.ai/api/v1/calls/YOUR_CALL_ID', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}).then(r => r.json());

console.log('Recording ID:', call.recordingId);
// If null and call is Completed, wait and retry

Dashboard Loading Issues

Symptoms: Blank screen, infinite spinner, 403/401 errors

Quick Fixes

IssueFix
Blank screenClear cache and cookies, try incognito
401/403 errorsLog out, clear cookies, log back in
Works in incognitoDisable browser extensions
Still brokenCheck status.dasha.ai

When to Contact Support

Email support@dasha.ai when:
  • Service unavailable for over 15 minutes
  • Data loss or security concerns
  • Tried all troubleshooting steps without resolution
  • Need account-level changes (tier upgrades, custom limits)
Include in your email:
  • Agent ID and Call ID (if applicable)
  • Error messages (exact text)
  • Steps already tried
  • Timestamp when issue occurred