Slatis

Webhooks

Receive real-time notifications when bookings change using webhooks.

Events

EventWhen it fires
BOOKING_CREATEDA new booking is created
BOOKING_CANCELLEDA booking is cancelled
BOOKING_RESCHEDULEDA booking is moved to a new time
BOOKING_COMPLETEDA booking is marked completed
BOOKING_NO_SHOWA booking is marked no-show
ASSIGNMENT_CHANGEDThe assigned team member changes

Create a webhook

curl -X POST https://api.slatis.com/webhooks \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhooks/slatis",
    "events": ["BOOKING_CREATED", "BOOKING_CANCELLED"],
    "description": "CRM integration"
  }'

Save the secret from the response — it is only shown once.

Payload structure

{
  "event": "BOOKING_CREATED",
  "timestamp": "2026-05-01T14:05:00.000Z",
  "webhookId": "wh_01abc",
  "data": {
    "id": "bkg_01xyz",
    "status": "SCHEDULED",
    "startTime": "2026-05-01T14:00:00.000Z",
    "attendee": { "name": "Jane Smith", "email": "jane@example.com" }
  }
}

Retries and auto-disable

Failed deliveries (non-2xx response or timeout) are retried up to 3 times with exponential backoff. After 5 consecutive failures, the webhook is automatically disabled.

Re-enable it via:

curl -X PATCH https://api.slatis.com/webhooks/{id} \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "isActive": true }'

Test delivery

Send a test BOOKING_CREATED event to verify your endpoint is reachable:

curl -X POST https://api.slatis.com/webhooks/{id}/test \
  -H "Authorization: Bearer sk_live_xxx"

On this page