Supported webhook events
Helo can send you webhooks whenever any of the following events occur:| Event | Description |
|---|---|
| accepted | Helo has accepted the message for delivery |
| processed | The message has been processed and handed off to the receiving server |
| delivered | The receiving server confirmed delivery |
| opened | The recipient opened the email |
| clicked | The recipient clicked a tracked link |
| bounced | The message could not be delivered |
| complained | The recipient marked the message as spam |
| unsubscribed | The recipient unsubscribed |
| resubscribed | A previously unsubscribed recipient opted back in |
How to set up webhooks
1. Create an endpoint in your app to receive requests
Set up a publicly accessible URL that Helo can communicate with. Your endpoint needs to accept HTTP POST requests and respond with a 200 OK to let Helo know the event was received successfully. We recommend designing your webhook endpoint so most of the work is done asynchronously. When you receive the webhook, write a message to a queue or event stream, so you can promptly respond. Then use a background service to read from the stream or queue and handle the actual processing work.cURL
2. Set up your webhook in Helo
Navigate to the Webhooks section in your Helo account to create a new webhook. From here, you’ll need to specify:- URL (required): This is the endpoint we’ll send requests to
- Events (required): Select the types of events you’d like us to send webhooks for
- Channel (optional): You can receive webhooks for a specific channel. If omitted, you’ll receive webhooks for all channels.
- Additional headers (optional): If you’d like Helo to include additional custom headers when sending webhooks, you can define them here.
Retry schedule
If helo doesn’t receive a 200 response, we’ll retry the delivery automatically for up to 24 hours. We use an exponential backoff with an initial retry interval of 10 seconds, e.g.,- 1st attempt
- 10 seconds later… 2nd attempt
- 20 seconds later… 3rd attempt
- 40 seconds later… 4th attempt
- etc.