Concepts
Webhooks
Seshn sends webhook events when bookings, payments, and other resources change. Use webhooks to trigger notifications, sync calendars, or update your own systems.
Events
Every state change fires an event:
booking.createdbooking.confirmedbooking.cancelledbooking.completedbooking.no_showpayment.succeededpayment.failedwaitlist.promoted
HMAC verification
Every webhook includes an HMAC-SHA256 signature in the X-Webhook-Signature header. Verify it to ensure the payload came from Seshn.
verify.ts
1import crypto from 'crypto';23function verify(payload: string, signature: string, secret: string) {4 const expected = crypto5 .createHmac('sha256', secret)6 .update(payload)7 .digest('hex');8 return crypto.timingSafeEqual(9 Buffer.from(signature),10 Buffer.from(expected)11 );12}Retries
Failed deliveries (non-2xx response) are retried with exponential backoff — up to 5 attempts over ~30 minutes. View delivery logs and retry status in the dashboard.