Back to Developer Docs
Webhook Events
Sendinel sends signed POST requests to your configured endpoints for email, contact, campaign, and sequence events. Subscribe in Settings, Webhooks. Verify `X-Sendinel-Signature` with your endpoint secret.
email.sent
An email is handed to the sending provider.
Payload
{
"event": "email.sent",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"email": "user@example.com",
"campaign_id": "uuid",
"site_id": "uuid"
}
}email.delivered
The provider reports recipient server acceptance.
Payload
{
"event": "email.delivered",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"email": "user@example.com",
"provider_message_id": "msg_123",
"site_id": "uuid"
}
}email.opened
The tracking pixel is requested.
Payload
{
"event": "email.opened",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"email": "user@example.com",
"provider_message_id": "msg_123",
"site_id": "uuid"
}
}email.clicked
A tracked email link is clicked.
Payload
{
"event": "email.clicked",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"email": "user@example.com",
"url": "https://example.com",
"provider_message_id": "msg_123",
"site_id": "uuid"
}
}email.bounced
The provider reports a hard or soft bounce.
Payload
{
"event": "email.bounced",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"email": "user@example.com",
"bounce_type": "hard",
"provider_message_id": "msg_123",
"site_id": "uuid"
}
}email.complained
The provider reports a spam complaint.
Payload
{
"event": "email.complained",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"email": "user@example.com",
"provider_message_id": "msg_123",
"site_id": "uuid"
}
}contact.created
A subscriber is created.
Payload
{
"event": "contact.created",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"contact_id": "uuid",
"email": "user@example.com",
"site_id": "uuid"
}
}contact.updated
Subscriber fields or tags are changed.
Payload
{
"event": "contact.updated",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"contact_id": "uuid",
"fields": [
"tags"
],
"tags": [
"trial-ended"
]
}
}campaign.activated
A campaign is launched or resumed.
Payload
{
"event": "campaign.activated",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"campaign_id": "uuid",
"from_status": "draft"
}
}campaign.completed
A campaign completes its send lifecycle.
Payload
{
"event": "campaign.completed",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"campaign_id": "uuid"
}
}sequence.contact_completed
A subscriber reaches the end of a sequence.
Payload
{
"event": "sequence.contact_completed",
"timestamp": "2026-05-04T12:00:00.000Z",
"data": {
"contact_id": "uuid",
"campaign_id": "uuid",
"enrollment_id": "uuid"
}
}
social.post.created
A social post is created.
{ "event": "social.post.created", "timestamp": "2026-05-04T12:00:00.000Z", "data": { "social_post_id": "uuid", "title": "Launch post", "platforms": [ "linkedin", "instagram" ] } }