Get signed webhooks for every email event
ConvertNow sends a signed message to your own web address when emails are sent, opened, clicked or bounced, and when contacts are created. Use it to update a CRM, post to chat or trigger your own code.
Start freeSee the stepsA ConvertNow webhook is a signed HTTPS message sent to your server whenever something happens in your account. You choose the events, and every message carries a signature so you can confirm it came from ConvertNow.
It is for developers wiring ConvertNow into other systems, and for no-code tools that can receive a webhook.
Step by step
Five steps, then your server gets every event.
Prepare a public HTTPS address
Your server needs a public HTTPS address that accepts POST requests. Plain HTTP and private addresses are rejected.
Add the endpoint
In ConvertNow, open the Email API page, go to its webhooks section, add your URL and choose the events you want. If you choose none, you get email.sent and email.failed.
Copy the secret
The secret is shown in full only when you save the endpoint.
Send a test
Use the test option on the endpoint to send a sample message and confirm your server receives it.
Verify the signature
Check the X-ConvertNow-Signature header before trusting a message, as shown below, then reply with any 2xx status.
Events you can subscribe to
Every message is JSON with event, created_at and data, plus the headers X-ConvertNow-Event, X-ConvertNow-Delivery and X-ConvertNow-Signature.
| Event | Sent when |
|---|---|
| email.sent | An email is sent to a recipient |
| email.failed | An email could not be sent |
| campaign.sent | A campaign has finished sending |
| email.opened | A recipient opens an email |
| email.clicked | A recipient clicks a link |
| email.bounced | An email bounces |
| email.unsubscribed | A recipient unsubscribes |
| contact.created | A new contact is added |
Your server has 10 seconds to answer
Failed deliveries are retried twice, after about 5 and 30 seconds
Use the delivery ID to ignore messages you already handled
Retries are held in memory, so do not treat webhooks as your only record
Frequently asked questions
How do I know a webhook really came from ConvertNow?
The signature header is sha256= followed by the hex HMAC-SHA256 of the raw request body, using your secret as the key. Verify it against the raw body, not a re-serialised copy.
What happens if my server is down?
ConvertNow retries twice more, after about 5 and 30 seconds. After that the delivery is dropped, so keep your own record for anything critical.
Can I use webhooks with Zapier or Make?
Yes. Any tool that gives you a public HTTPS catch-hook address can receive them.
Which events are on by default?
email.sent and email.failed. Choose others when you add the endpoint.
Related integrations
Connect ConvertNow to your own systems
Signed, retried and ready for your code.
Start free at convertnow.co