Skip to main content

What is auto-retry?

Auto-retry automatically reschedules calls that fail to connect. When a call ends with statuses like no-answer or busy, Bolna can automatically retry the call after a configurable delay.

How to enable auto-retry

Add the retry_config object when making a call via the Make Call API or Create Batch API.
curl -X POST 'https://api.bolna.ai/call' \
-H 'Authorization: Bearer <api_key>' \
-H 'Content-Type: application/json' \
-d '{
  "agent_id": "your-agent-id",
  "recipient_phone_number": "+1234567890",
  "retry_config": {
    "enabled": true,
    "max_retries": 3,
    "retry_on_statuses": ["no-answer", "busy", "failed"],
    "retry_intervals_minutes": [30, 60, 120]
  }
}'

Configuration options

ParameterTypeDefaultDescription
enabledbooleanfalseEnable auto-retry
max_retriesinteger3Max retry attempts (1-3)
retry_on_statusesarray["no-answer", "busy", "failed"]Statuses that trigger retry
retry_on_voicemailbooleanfalseRetry if voicemail detected
retry_intervals_minutesarray[30, 60, 120]Delay before each retry

Supported retry statuses

  • no-answer - Call rang but wasn’t answered
  • busy - Line was busy
  • failed - Call failed to connect
  • error - Technical error occurred

Monitoring retries via webhook

When auto-retry is configured, your webhook receives retry information:
{
  "id": "execution-id",
  "status": "scheduled",
  "retry_count": 1,
  "retry_config": {
    "enabled": true,
    "max_retries": 3
  },
  "retry_history": [
    {
      "attempt": 1,
      "status": "no-answer",
      "at": "2026-01-26T10:00:00Z"
    }
  ],
  "scheduled_at": "2026-01-26T10:30:00Z"
}

Best practices

  • Start with conservative intervals (30+ minutes) to avoid annoying contacts
  • Use retry_on_voicemail: false (default) to avoid repeated voicemail deposits
  • Monitor retry_count in webhooks to track retry effectiveness
  • Set max_retries based on campaign urgency (1-2 for time-sensitive, 3 for lead outreach)