Webhook Events
Complete reference for all event types and their JSON payloads.
Event Structure
Every webhook event has a standard envelope containing metadata and the event-specific data:
id
Unique event identifier
type
Event name (e.g., booking.created)
createdAt
ISO 8601 timestamp
{
"id": "evt_abc123...",
"type": "booking.created",
"createdAt": "2024-01-15T14:30:00Z",
"data": {
// Event-specific payload
}
}Available Events
booking.createdTriggered when a new booking is confirmed
Sent immediately after an attendee successfully books a meeting.
{
"type": "booking.created",
"data": {
"booking": {
"id": "bkg_abc123",
"eventTypeId": "evt_xyz789",
"status": "confirmed",
"startsAt": "2024-01-15T14:00:00Z",
"endsAt": "2024-01-15T14:30:00Z",
"attendee": {
"email": "attendee@example.com",
"firstName": "Jane",
"lastName": "Smith",
"timezone": "America/New_York"
},
"host": {
"id": "usr_abc123",
"email": "host@example.com"
}
}
}
}booking.cancelledTriggered when a booking is cancelled
Sent when either the host or attendee cancels a booking.
{
"type": "booking.cancelled",
"data": {
"booking": {
"id": "bkg_abc123",
"status": "cancelled",
"cancelledBy": "attendee",
"cancellationReason": "Schedule conflict",
"cancelledAt": "2024-01-14T10:00:00Z"
}
}
}booking.rescheduledTriggered when a booking time is changed
Sent when a booking is moved to a new time. The old booking is cancelled and a new one is created.
{
"type": "booking.rescheduled",
"data": {
"booking": {
"id": "bkg_new456",
"previousBookingId": "bkg_old123",
"status": "confirmed",
"startsAt": "2024-01-16T14:00:00Z",
"endsAt": "2024-01-16T14:30:00Z",
"rescheduledBy": "host",
"rescheduledAt": "2024-01-14T11:00:00Z"
}
}
}Common Use Cases
📧 Email Notifications
Send custom emails via SendGrid, Mailgun, etc.
📊 CRM Updates
Sync bookings to Salesforce, HubSpot, etc.
💬 Slack Alerts
Notify your team in Slack when bookings occur