Smartlead webhooks allow you to receive real-time notifications about key events happening within your Smartlead campaigns. These webhooks send JSON payloads via HTTPS POST requests to your configured webhook URL.
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
Each event includes a structured payload with relevant details, consistent with Smartlead’s webhook reference.
What is considered as a “failure”?
A webhook delivery is considered failed if:
Smartlead tries to send the webhook, but your server does not confirm success (anything other than a 2xx code).
The request takes too long and times out before your server responds.
Your server says it received the event (2xx), but then fails to process the data and drops it internally.
Your server blocks or limits requests (for example, too many at once).
Prerequisites
A configured webhook at the correct level: User, Client, or Campaign
A public HTTPS link (your webhook URL) that can receive data
Access to your server’s logs (and any security or CDN logs) to check what happened
If you use extra security checks (like secret keys or special headers), make sure you have the correct secret handy.
How does Smartlead webhooks work?
Smartlead fires event webhooks for:
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
Notes:
Some events are state-change events that depend on “new vs old” fields in the event payload.
“Manual Step Reached” is emitted when a sequence hits a manual action step.
Event categories and payload shapes are consistent with our Webhooks reference.
Quick Start checklist
Pick the right level
Webhooks set at the user level will take priority over campaign or client-level ones. If you’ve added a user-level webhook, only that will receive events.
Check your URL
Make sure your webhook link is public (HTTPS), can receive POST requests with JSON, and replies with a quick success response (2xx). Do any heavy processing later in the background.
Select your events
Turn on only the event types you actually want to receive.
Symptoms and fixes
No deliveries showing up
Double-check that you subscribed to the right events and actually triggered one.
Make sure you don’t have a user-level webhook overriding the one you’re testing.
Verify the webhook URL is correct, uses HTTPS, and has no typos.
Errors from your server (4xx responses)
Always reply with a 200 OK if you received the webhook successfully.
Make sure your server accepts JSON and can handle it correctly.
If you use secrets or headers for security, confirm they match what’s configured.
Server errors or timeouts (5xx responses)
Send back a quick success response, then process the heavy work in the background.
Check your server logs and make sure the database or app isn’t slowing things down.
Keep your response time within the limits your provider expects.
Too many requests (429 responses)
Use a proper production webhook receiver instead of a limited test tool.
Add a queue or buffer for bursts, and avoid blocking Smartlead’s webhook traffic.
Event mismatch in testing
Make sure you’re testing with the correct type of event (e.g., lead created vs. email sent).
Webhook logs
Check the logs for each attempt — they show the time of delivery, the HTTP status, and your server’s response.
If you see repeated 429 errors, it usually means your server or test tool is limiting requests.
Webhook manager
If you think the problem is on the Smartlead side, check the health of the webhook manager service that handles deliveries.
Error Webhook API
If you’ve set up the error webhook, platform or integration errors will be sent there with a status and ID so you can track them.
A: A User-level webhook overrides lower-level hooks. Remove or adjust the User-level hook if you want Client or Campaign hooks to receive events.
A: Not currently. Configure the Slack webhook and trigger a real event to validate end-to-end.
A: Smartlead considers it delivered, even if you fail to process it internally. Ensure you queue/process in background correctly.
A: Yes. Use Smartlead’s webhook logs and optionally configure an Error Webhook to receive structured error notifications.