Skip to main content

Endpoint

You don’t need to copy this URL. When you connect Cal.com in Settings → Integrations, Nous calls 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) in workflow_provider_connections.encrypted_credentials.webhook_signing_key. Cal.com signs every delivery with that key and Nous verifies before processing. Verification:
Comparison is timing-safe. Nous also accepts a leading 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.