Cal.com
Connect Cal.com to paid Shop services, sync bookings and check purchased sessions, rescheduling and cancellations.
Last reviewed 7 October 2026Use a Cal.com booking link in a Shop Service product. Customers receive it after payment. An optional signed webhook keeps the booking date, status and remaining sessions in OrbitPage up to date.
Add the booking link
Create the event type in Cal.com and configure availability, timezone, meeting location and booking rules there. In OrbitPage, create a Service product and paste its https://cal.com/name/event address into Booking calendar. Set the price, session count and instructions, then Save.
Shop takes payment through Stripe before revealing the calendar link. Choose a Cal.com event that does not charge the customer again. A normal Content link can also open Cal.com for free bookings; those bookings are separate from paid Shop orders.
Configure the Cal.com webhook
Open the Shop gear button, select Calendar and use Open Cal.com webhooks. The Subscriber URL, Signing secret and Event triggers are available to Shop editors when Stripe mode is enabled. No Cal.com API key is needed.
- Sign in to the Cal.com account that owns the service's event type and create a webhook.
- Copy Subscriber URL from OrbitPage into Cal.com's subscriber URL field.
- Copy Signing secret into Cal.com's Secret field. Keep these private values out of public blocks and shared screenshots.
- Select BOOKING_CREATED, BOOKING_RESCHEDULED and BOOKING_CANCELLED. Include the event types used by your Shop services.
- Keep the default JSON payload, enable the webhook and save it.
How booking updates work
Customers must use the complete booking link delivered by the paid order's confirmation page, email or customer area. OrbitPage adds the order reference and booking access value to that link. The plain public Cal.com URL cannot establish a new matching order booking.
| Action | OrbitPage result |
|---|---|
| Book | One purchased session is consumed; Orders shows the booking date and status. |
| Reschedule | The booking moves without consuming another session. |
| Cancel in Cal.com | The session is restored. No Stripe refund is issued. |
| Full Stripe refund | Booking entitlement and remaining sessions are removed locally. Manage the calendar cancellation in Cal.com. |
| Partial refund | Remaining sessions are preserved. |
Test a paid service order
Complete a Service purchase and book through its delivered link. Check the date, status and remaining sessions in Shop → Orders, then reschedule and cancel to check both updates. Stripe test mode uses test payments; a live checkout is a real charge.
If Orders does not update, check the webhook URL, secret, event type and three triggers. Confirm that the customer used the complete paid-order link and has sessions remaining. Cal.com's generic webhook test does not represent a paid OrbitPage order. Calendly and other HTTPS booking links can deliver services, but do not use this Cal.com synchronization.