Skip to content

Retry Behavior

When a webhook delivery fails (non-2xx response or timeout), Invoro retries the delivery up to 3 times with exponential backoff:

AttemptDelay
1stImmediate
2nd5 minutes
3rd15 minutes

A delivery is considered failed if:

  • Your endpoint returns a non-2xx HTTP status code
  • Your endpoint doesn’t respond within 30 seconds
  • A network error occurs (DNS failure, connection refused, etc.)

After 10 cumulative delivery failures across all events, the webhook is automatically disabled to prevent further failed deliveries. When this happens:

  • The webhook’s active status is set to false
  • A disabled_at timestamp is recorded
  • No further deliveries are attempted

You can re-enable a disabled webhook from the Invoro app after fixing the issue with your endpoint.

You can view the delivery history for any webhook in the Invoro app. Each delivery record includes:

  • Event type
  • HTTP response status code
  • Response time (duration)
  • Error message (if failed)
  • Request payload
  • Timestamp

Delivery records are retained for 90 days (7 days for test mode webhooks).

  1. Respond quickly - Return 200 OK immediately and process events asynchronously. Your endpoint has 30 seconds before timeout.

  2. Handle duplicates - In rare cases, the same event may be delivered more than once. Use the event + timestamp + entity ID to deduplicate.

  3. Monitor your endpoint - Set up alerting on your webhook endpoint to catch failures early, before the auto-disable threshold is reached.

  4. Use HTTPS - Webhook URLs must use HTTPS. This ensures the payload and signature are encrypted in transit.