Skip to Content
IntegrationsCalendly

Calendly

Calendly fires webhooks when an invitee books or cancels — perfect for instant WhatsApp booking confirmations and reminders.

EventTypical template
invitee.createdYour call is confirmed for {{date}}
invitee.canceled”Your call has been cancelled”

Setup

1. Copy the Splashify webhook URL

https://apis.splashifypro.com/api/v1/webhooks/integrations/<your-user-id>/calendly

2. Create the webhook in Calendly

Calendly has no UI for webhooks — use the Calendly API :

curl -X POST https://api.calendly.com/webhook_subscriptions \ -H "Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "url": "YOUR_SPLASHIFY_URL_HERE", "events": ["invitee.created", "invitee.canceled"], "organization": "YOUR_ORG_URI", "user": "YOUR_USER_URI", "scope": "user" }'

Get the org + user URIs from api.calendly.com/users/me  (authenticated).

3. Configure in Splashify

Calendly payload shape: payload.invitee.{name, email, text_reminder_number} etc.

  • Phone Fieldpayload.text_reminder_number (Calendly uses this key for the phone the invitee provides at booking; only present when your event type collects it)

  • Variables:

    VarField pathSample
    {{1}}payload.nameRamesh
    {{2}}payload.scheduled_event.start_time2026-05-01T10:00:00Z
    {{3}}payload.scheduled_event.nameDiscovery Call
  • Map one template per event via Event Automations.

  • EnabledSave.

Gotchas

  • Phone collection is opt-in per event type. In Calendly event-type settings, enable SMS reminders (which collects phone) or add a custom “Phone number” question.
  • Time format is ISO 8601 UTC. Your template should display the time in the invitee’s timezone — Calendly sends payload.invitee.timezone which you can pass through but formatting is up to the recipient’s phone.
  • Signature verification not yet wired. If you need it, Calendly does publish an X-Calendly-Signature header for future support.