Why retries matter
Phone calls fail for many reasons:- Busy signal
- No answer
- Network issues
- Voicemail (when you need a human)
- Temporary phone problems
Strategy types
Gomobile supports three retry strategies:| Strategy | Best for |
|---|---|
none | One-shot notifications, testing |
fixed_delay | Most campaigns, predictable timing |
scheduled | Specific time windows, compliance requirements |
No retries
The simplest option—each contact gets one call attempt:- You’re testing a flow
- The message isn’t time-sensitive
- You’ll handle retries externally
- One attempt is all you need
Fixed delay retries
Retry failed calls after a consistent delay:- First attempt fails
- Wait 30 minutes
- Second attempt (retry 1)
- If that fails, wait another 30 minutes
- Third attempt (retry 2)
- If that fails, wait 30 minutes
- Fourth attempt (retry 3)
- If that fails, contact marked as failed
With
maxRetries: 3, a contact gets up to 4 total attempts.| Delay | Use case |
|---|---|
| 5-15 min | Urgent messages, short campaigns |
| 30-60 min | Standard campaigns |
| 120+ min | Less urgent, spread throughout day |
Scheduled retries
Retry at specific times:- First attempt (at program start time) fails
- Next attempt at 2025-01-20T14:00:00Z
- If that fails, next attempt at 2025-01-21T10:00:00Z
- If that fails, next attempt at 2025-01-22T16:00:00Z
- If that fails, contact marked as failed
- Different times of day might work better
- Spreading attempts across multiple days
- Compliance requirements (max calls per day)
- Specific business hours
What triggers a retry?
Retries happen when a call fails to connect meaningfully. This includes:| Outcome | Triggers retry? |
|---|---|
| Busy | Yes |
| No answer | Yes |
| Voicemail (with AMD) | Configurable |
| Rejected | Yes |
| Network error | Yes |
| Human answered, flow completed | No |
| Human answered, flow error | Depends on error |
Retry behavior with pause windows
Retries respect pause windows. If a retry is scheduled during a pause window:- The retry waits until the pause window ends
- Then it proceeds with the call
Monitoring retry progress
Track retries through the execution counters:contactsPending includes contacts waiting for retry. As retries process, they move to completed or failed.
Call reports and retries
The call report API shows all attempts for a contact:- How many attempts were needed
- What outcomes occurred
- Time between attempts
Strategy recommendations
Standard campaigns
Urgent notifications
Multi-day campaigns
One-shot with external handling
Best practices
- Start conservative - 2-3 retries is usually enough
- Space them out - Avoid overwhelming recipients
- Respect time zones - Schedule retries during reasonable hours
- Monitor results - Track if retries actually help
- Consider the message - Urgent = more retries, routine = fewer
- Use pause windows - Combine with retries for best results
Common mistakes
- Too many retries - Annoying and may get numbers flagged
- Too short delays - Recipient situation won’t change in 5 minutes
- Ignoring time zones - Retries at 3 AM don’t help
- No pause windows - Retrying during lunch hours
Related topics
Programs
Setting retry strategies.
Executions
Monitoring retry progress.
Pause Windows
Controlling when retries happen.