Calendly + SalesCrew
A booking on your Calendly link fires a webhook into your instance. SalesCrew writes the meeting, creates or matches the contact, and records the lead as inbound with its source.
Want to see it first? Book a demo
- Webhook, inbound
- Meeting plus contact written
- Reconcile job catches misses

The short answer
- The mechanism is a Calendly webhook pointed at an edge function on your own instance. Calendly tells SalesCrew about each booking, and your calendar stays the source of availability.
- Each booking produces a meeting record and a contact, matched on email if the person already exists. The lead is logged on the inbound channel with the source it arrived from, so cost per booked meeting by channel stays a query rather than a reconciliation exercise.
- A scheduled reconcile job re-reads recent bookings, so a webhook that failed to deliver does not silently lose a meeting. Bookings can also be created directly with the meeting_create tool.
Mechanism
What each part of the connection does, from booking to follow-up.
| What | Mechanism | Direction | Objects | Status |
|---|---|---|---|---|
| Booking created | Calendly webhook to an edge function on your instance | Inbound | Meetings, contacts, inbound lead | Available |
| Contact matching | Matched on the invitee email, created if absent | Inbound | Contacts, companies | Available |
| Attribution | Booking source recorded on the lead | Inbound | Leads, marketing tables | Available |
| Reconcile | Scheduled job re-reads recent bookings through the Calendly API | Inbound | Meetings | Available |
| Cancellation and reschedule | Handled by the same webhook and reconcile path | Inbound | Meetings | Available |
| Reminder and no-show records | Written on the meeting | Internal | Meetings | Available |
| Reminders and no-show recovery that send | SMS and email at 24h and 2h | Outbound | Meetings | Available |
| Round-robin pools | Bookings shared across a team | Internal | Meetings | Available |
Mechanisms read from the SalesCrew integration table, September 2026. Calendly's own webhook documentation is the authority on payload shape and retry behaviour.
Setup
Fifteen minutes, and the only fiddly part is proving a real booking arrives.
- 1
Get the endpoint
Your instance exposes a booking endpoint as an edge function. Copy the URL and the key from Settings.
- 2
Create the webhook in Calendly
Point a Calendly webhook subscription at that URL for invitee created, canceled and rescheduled events.
- 3
Book a real test meeting
Use a spare address and book through the public link. A test payload proves the plumbing; a real booking proves the matching.
- 4
Check the record
The meeting should exist, the contact should exist or be matched, and the lead should carry its source. meeting_list and booking_list read the same rows back.
- 5
Turn on reconcile
The scheduled job catches deliveries that failed. Leave it on: webhooks are not guaranteed, and a lost booking is an expensive kind of lost.
- 6
Wire the follow-up
Meetings trigger a task or a cadence step, and reminders go out by SMS and email at 24 hours and 2 hours before the start.
Questions
- How does the connection work?
- A Calendly webhook posts into your own instance, and an API read powers the reconcile job. Both land in your own database.
- What if the webhook fails?
- A scheduled reconcile job re-reads recent bookings and fills the gap. That job exists because webhook delivery is best-effort at every vendor, not only Calendly.
- What happens after the booking lands?
- SalesCrew holds the meeting record, creates a reminder task or a cadence step, and sends reminders by SMS and email at 24 hours and 2 hours before the meeting.
- Can I use Cal.com too?
- Yes. Any scheduler that can post a webhook reaches the same inbound endpoint, and meeting_create writes a meeting directly.
- Does the booking carry marketing attribution?
- Yes, when the source is on the booking. That is the point of putting bookings in the same database as GA4, Search Console and ad spend: the join is a query rather than a spreadsheet.
Send one real booking through and watch the record appear
Meeting, contact and source, written in the same database as your pipeline.
Want to see it first? Book a demo