Retry Webhook Events

Automatic retries

Automatic retry can be configured with a Ruleset Max Retry Count and Retry Interval properties.

For each event within the Event List, you will see the Next Attempt At date when an automatic retry is scheduled.

Manual retries

Manually retrying a webhook event is useful when troubleshooting, testing, or after an update to your destination that resolved an issue.

If a manual retry is successful, the Next Attempt At will be cleared (if there was any). Otherwise, if the retry results in an error, the Next Attempt At will NOT be affected.

Manual Retry a webhook event

Bulk retries

Manually bulk retry multiple events at once matching a given event query. To bulk retries, query the events you want to retries using the (event filters)[/browsing-event#events-list] and then use the Bulk Retry button next to the filters.

Bulk Retry Webhook Events

You can retry up to 250 events at once, the UI will give you to option to retry multiple times (batches of 250). If you need to retry very large amount of events (10000 +) we recommend using the API (see bellow).

Bulk retrying very large amount of events could impact your delivery latency as they are queued along new incoming events. Be mindful of this!

Using the API

You can bulk retry using the API. The endpoint received the same query fitlers as the events list endpoint. You can optionally dry_run the request to make sure the intended events will be retried.

Since the query as a limit of 250 events, you can retry multiple times serialy using the next property returned by the event bulk retry query.

API reference →

const bulkRetry = (next) => {
  return Axios.post('$API_BASE_URL/bulk/events/retry', {
    auth: {
      user: 'REPLACE_WITH_API_KEY',
    },
    // Bulk retry 250 events matching a specific HTTP response code and a destination_id
    data: {
      destination_id: 'dest_xxx',
      response_code: '404',
      next,
      limit: 250,
    },
  }).then((response) => {
    // If next is present, there is more then 250 events remaining to retry, recursively call bulkRetry
    if (response.body.next) {
      return bulkRetry(response.body.next);
    }
    // All matching events have been queued for retry
    return true;
  });
};

A bulk retry is considered successful if at least 1 event is properly queued. In the off chance that an event that should have been queued, failed to be queued, it will be listed under the unprocessed array.

Cancel Scheduled Retry

A scheduled automatic retry can be canceled within the event list, the Next Attempt At will be unset.

Cancel Retry a webhook event