---
title: "How to Retry or Resend Webhooks"
description: "This guide shows you how to retry or resend webhook deliveries in Smartlead, confirm they were successful, and prevent duplicates on your end."
url: https://helpcenter.smartlead.ai/en/articles/402-how-to-retry-or-resend-webhooks
collection: "API, Integrations, and Webhooks"
updated: 2026-11-03
language: en
---

# How to Retry or Resend Webhooks

This guide shows you how to retry or resend webhook deliveries in Smartlead, confirm they were successful, and prevent duplicates on your end.

## Overview

Smartlead’s Webhooks let you send real-time data about campaign events to external systems. If a delivery fails or your server wasn’t ready, you can **retry or resend** the webhook to ensure your data pipeline is complete and consistent.

This guide explains:

-   How to safely **redeliver** or **re-trigger** webhook events
    
-   How to avoid **duplicates**
    
-   Troubleshooting common errors
    
-   Best practices for webhook handling
    

### **Before you retry**

-   **Scope conflicts**  
    If you set up a User-level webhook, it will take priority over Client or Campaign-level webhooks. Make sure the right one is active for your events.
    
-   **Endpoint readiness**  
    Your webhook URL should use **HTTPS**, accept **POST requests with JSON**, and reply with a quick **2xx success**. Do any heavy work in the background — slow responses or errors will cause retries.
    
-   **Avoid duplicates**  
    Design your receiver to check the **event ID** so it doesn’t process the same event twice if Smartlead retries.
    

**What can be retried or resent?**

-   **Event webhooks**  
    Email Sent, First Email Sent, Email Open, Email Link Click, Email Reply, Lead Unsubscribed, Lead Category Updated, Email Bounce, Campaign Status Changed, Manual Step Reached, Untracked Replies.
    
-   **Error logging webhooks**  
    If you’re using the **Error Webhook API**, you can test or review failures by re-sending the same payload. This makes it easier to trace and debug issues.
    

### Option A: Redeliver the same event

Use this if Smartlead already sent the event but your server didn’t handle it correctly.

1.  **Find the failed delivery**  
    Check your webhook logs for the time, status, response, and event ID.
    
2.  **Fix the issue on your side**  
    Make sure your server replies quickly with a **2xx success**, can read the JSON, and passes any secret or signature checks.
    
3.  **Send it again**  
    Smartlead retries failed deliveries automatically, up to 8 times over about 28 hours. It doesn't retry when your server replies 400, 413 or 422. If the retries run out, resend the same payload manually and keep the same event ID so it isn't processed twice.
    
4.  **Check success**  
    Confirm your logs show a **2xx** and that the event was saved only once.  
    **_Tip: If your test tool shows “Too Many Requests (429),” switch to a proper server or add buffering._**
    

### Option B: Re-trigger the event (regenerate)

Use this if you don’t have the old payload or the event depends on the object’s current state.

1.  **Choose the right event type**  
    For example:
    
    -   Sent = a new sent time exists
        
    -   Open = a new open time exists
        
    -   Click = a new click time exists
        
    -   Reply = a new reply time exists
        
    -   Bounce = bounce status changed to true
        
2.  **Perform the action again**  
    Do the smallest action needed to fire the event again (like opening or clicking the email).
    
3.  **Confirm delivery**  
    Check the logs for a **2xx success** and verify the event was delivered as expected.
    

**Safe retry patterns**

-   **Reply quickly, handle later**  
    Always send back a **2xx success** right away. Do the heavy work in the background so retries aren’t triggered by timeouts.
    
-   **Avoid duplicates**  
    Design your system to check the **event ID (or payload hash)** so the same event isn’t processed twice if Smartlead retries.
    
-   **Retry smartly**  
    When replaying many events, spread them out and watch for errors. Don’t overload your server or connected systems with a flood of retries.
    

**Troubleshooting repeated webhook failures**

-   **4xx errors on every retry**  
    Double-check your setup: is authentication correct, are signatures verified, and can your server read the JSON (including arrays)? Make sure you return `Content-Type: application/json`.
    
-   **5xx errors or timeouts**  
    Your server may be overloaded. Scale it up, do less work up front, and push heavy tasks into a background queue.
    
-   **429 Too Many Requests**  
    Don’t use a rate-limited test tool. Add a queue to handle bursts and slow down retries if needed.
    
-   **Events going to the wrong place**  
    If you only want Client or Campaign webhooks, remove or update any User-level webhook, since it overrides the others.
    

**Observability and audit**

-   **Delivery logs**  
    Check the logs for delivery time, status code, and response details to confirm whether a resend worked.
    
-   **Error Webhook API**  
    Send platform or integration errors to a dedicated error endpoint so you can cross-check and build a clear incident timeline.
    
-   **Webhook manager**  
    If you think the issue might be on the Smartlead side, review the status of the webhook manager service that handles deliveries.
    

### **FAQ**

Q: Will resending cause duplicate processing?

A: It shouldn’t if your receiver is idempotent. Use event id–based de-duplication.

Q: Can I test Slack webhooks?

A: There is no built-in “test” button. Configure the Slack webhook and trigger a real event to validate end-to-end.

Q: Do lower-level webhooks receive events when a User-level webhook exists?

A: No. A User-level webhook overrides client and campaign-level hooks until removed or reconfigured.

## **Need Help?**

**If your webhooks are still failing after retrying:**

-   **Events don’t show up in logs**
    
-   **Payloads are malformed or misrouted**
    
-   **You're unsure about event scope**
    

**👉 Contact Smartlead Support, we're happy to help troubleshoot your webhook setup.**

## **Related Articles**

-   [**API Documentation**](https://helpcenter.smartlead.ai/en/articles/68-api-documentation.md)
    
-   [**Set Up Smartlead Webhooks for Campaign Automation**](https://helpcenter.smartlead.ai/en/articles/35-set-up-smartlead-webhooks-for-campaign-automation.md)
    
-   [**Secure Your Smartlead Webhooks with Signing (HMAC)**](https://helpcenter.smartlead.ai/en/articles/470-secure-your-smartlead-webhooks-with-signing-hmac.md)
