Not every call connects on the first try. Retry strategies tell Gomobile how to handle failed calls—whether to try again, when, and how many times.Documentation Index
Fetch the complete documentation index at: https://docs.gomobile.ma/llms.txt
Use this file to discover all available pages before exploring further.
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.