Transactional webhooks let your application receive delivery events from Mailcamp. When a transactional message is processed, Mailcamp can send an event payload to your endpoint so your system can update internal records automatically.
Use webhooks when your application needs to track delivery, bounce, or delayed events outside Mailcamp.
Webhooks are useful when you want Mailcamp events to trigger updates in another system.
Update an internal message status after delivery.
Record bounced transactional emails in your application.
Flag delayed messages for review.
Keep your own logs in sync with Mailcamp transactional logs.
To configure a transactional webhook in Mailcamp:
Go to the transactional webhook page in Mailcamp.
Enter your webhook endpoint URL.
Select the events you want to receive.
Add a webhook secret if you want to verify that requests came from Mailcamp.
Save the webhook.
Your endpoint should use HTTPS and respond quickly. If your application needs long processing, accept the webhook first and process the event in your own background queue.
The webhook screen shows the events available for your account. Common transactional events include:
delivered: the message was accepted as delivered.
bounce: the message could not be delivered.
delayed: delivery was delayed and may be retried.
Only enable the events your application is ready to handle.
If you add a webhook secret, Mailcamp signs webhook payloads so your application can verify the request.
Store the secret securely in your application.
Verify the signature before trusting the payload.
Reject requests that fail signature verification.
Rotate the secret if you believe it was exposed.
Skipping signature verification can allow spoofed requests to appear valid in your system.
Mailcamp shows webhook delivery history so you can debug failed requests.
Filter webhook history by message ID.
Filter by event type.
Filter by delivery status.
Open a payload preview when you need to inspect the request.
Retry a failed webhook attempt when needed.
Use the history page when your endpoint does not receive an expected event or returns an error.