Calendly
What It Does
Calendly sends appointment events in real time to DURUM.ai. Each Calendly event type is mapped to a type in DURUM.ai.
| Calendly Event | Type in DURUM.ai | When |
|---|---|---|
| invitee.created | Booking | A prospect books a time slot |
| invitee.canceled | Cancellation | The prospect cancels their appointment |
| invitee.no_show | No-show | The prospect doesn't show up |
Step-by-Step Configuration
Option A: Via Calendly Developer Portal (Recommended)
- Log in to your Calendly account
- Go to https://developer.calendly.com/ (or in your Calendly profile, section Integrations then API & Webhooks)
- Click Webhooks in the sidebar
- Click Create Webhook Subscription
You need to create 3 subscriptions (one per event type):
Subscription 1: Bookings and Cancellations
- In the Callback URL field, enter:
https://app.durum.ai/api/webhook/booking?client_key=YOUR_KEY - In Events, select:
invitee.createdinvitee.canceled
- Click Create Webhook Subscription
Subscription 2: No-shows
- Click Create Webhook Subscription again
- In the Callback URL field, enter:
https://app.durum.ai/api/webhook/no-show?client_key=YOUR_KEY - In Events, select:
invitee.no_show
- Click Create Webhook Subscription
Option B: Via Calendly Interface (If Available)
- Log in to Calendly
- Go to Integrations from the sidebar
- Find the Webhooks section
- Add the same URLs and events as in Option A
How to Test
- Create a test appointment on your Calendly link (use a test email)
- Wait 30 seconds
- In DURUM.ai, go to Data Logs
- You should see a
bookingevent with statussuccess - Cancel the test appointment in Calendly
- Verify that a
booking_cancelevent appears in the logs
Calendly Troubleshooting
| Problem | Solution |
|---|---|
| Event doesn't appear | Verify the subscription is active in the Calendly developer portal |
| Error 401 | Verify that the client_key in the URL is correct |
| Duplicates | DURUM.ai automatically handles deduplication via the Calendly URI. No action required. |
| No-shows don't appear | Verify you created a separate subscription for invitee.no_show |
TIP
Bookings and cancellations use the same URL (/api/webhook/booking). DURUM.ai automatically detects whether it's a creation or cancellation through the Calendly event type (invitee.created vs invitee.canceled).