Endpoint
POST https://api.cal.com/v2/webhooks with this URL, a freshly generated signing secret, and the three booking triggers.
Auth
Each Cal.com connection stores its own signing key (encrypted) inworkflow_provider_connections.encrypted_credentials.webhook_signing_key. Cal.com signs every delivery with that key and Nous verifies before processing.
Verification:
sha256= prefix on the header value in case Cal.com adds one later.
Supported events
The activity’s
external_id is keyed on the booking uid so the same booking discovered via webhook and via CSV-import backfill (scanCalCom) dedupes cleanly.
Payload
Cal.com creates new contacts on
BOOKING_CREATED — a booking is a strong enough intent signal to bootstrap the contact. BOOKING_CANCELLED only updates existing contacts; it never creates one.