Retry Policy
Retry policy for outbound provider calls
Goals
- Retry per HTTP request, not per multi-step flow.
- Use ''retry_after'' when available, otherwise fallback to exponential backoff.
- Markdown parse errors are not retried; they fallback to plain text.
Defaults
- Retry per request (message send, media upload, reaction, vote, sticker).
- Compound flows do not retry completed steps.
- Jitter: 0.1 (10 percent)
- Provider defaults:
- Telegram min delay: 400 ms
- Discord min delay: 500 ms
Behavior
Telegram
- Retries on transient errors (429, timeout, connect/reset/closed, temporarily unavailable).
- Uses ''retry_after'' when available, otherwise exponential backoff.
Configuration
Set retry policy per provider in ''~/.openclaw/openclaw.json'':
- Use ''retry_after'' when available, otherwise fallback to exponential backoff.
- Markdown parse errors are not retried; they fallback to plain text.
Notes
- Retries apply per request (message send, media upload, reaction, poll, sticker).
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}Notes
- Retries apply per request (message send, media upload, reaction, poll, sticker).
- Composite flows do not retry completed steps.