Cal.com can't take a booking from Zapier, so the phone call books the calendar behind it

Cal.com's Zapier app reports bookings and can't create them. GreetKeeper writes to your Google or Outlook calendar instead, and Cal.com reads that time as busy.

Handled

Caller

“Your website had a booking link but I'm driving. Can you book me the technical call for Friday afternoon?”

What happened next

  • Caller's name, email and preferred window taken on the call
  • Friday 2pm written straight into the Google Calendar that Cal.com checks
  • Cal.com now sees that slot as busy and stops offering it online

How GreetKeeper connects to Cal.com

Three states, and we publish the one that is true rather than the one that reads best.

ToolHow it connectsWhat that means
Cal.comNot yet

What Cal.com is doing here

Cal.com is open-source scheduling. You can use the hosted version or run it on your own servers, which is the usual reason teams pick it over a closed tool.

Event types carry the rules: duration, buffers, minimum notice, and which connected calendars count as busy. Cal.com checks all of that before it offers a time on your booking page.

Cal.com's Zapier app has triggers only. It can tell Zapier that a booking was created, moved or canceled. It has no action that creates one, which we confirmed in Zapier's directory in September 2026. Cal.com does have a full public API, so a developer on your team can build a direct call.

Where the booking lands

On the calendar Cal.com already checks, not inside Cal.com.

The call finishes first. GreetKeeper has the caller's name, number, email and what they wanted, and that is stored whatever happens next.

GreetKeeper then writes the event into your Google Calendar or your Outlook calendar. That is a direct write, with no Zap in the middle. If the same calendar is connected to your Cal.com event type, Cal.com treats the time as busy.

What you won't get is a Cal.com booking record. The caller doesn't appear in your Cal.com bookings list, and Cal.com doesn't send its own confirmation. The caller gets a calendar invite from the calendar write instead, if they gave an email.

Setting it up

Self-hosted or hosted, the steps are the same, because GreetKeeper only talks to the calendar.

  1. Check which calendar your event type treats as busy

    Open the event type in Cal.com and look at its connected calendars. The calendar GreetKeeper writes to has to be on that list, or Cal.com won't see the phone booking.

  2. Connect that same calendar to GreetKeeper

    One sign-in for Google or Microsoft. Pick the exact calendar and not only the account, because many people have three.

  3. Match the lengths and the hours

    If Cal.com offers a 45-minute technical call, set the same length in GreetKeeper. Give both the same working hours, so the phone doesn't offer a time your booking page would refuse.

  4. Book by phone, then open your public Cal.com page

    The slot you just took should be gone. If it's still offered, that calendar isn't connected to the event type, and step one needs another look.

What this does not do

Questions about Cal.com and GreetKeeper

Does GreetKeeper integrate with Cal.com?

Not directly. Cal.com's Zapier app can't create bookings, so we don't pretend a Zap does it. GreetKeeper books the Google or Outlook calendar that Cal.com checks, and the slot disappears from your booking page.

Why not use Cal.com's API directly?

You can. GreetKeeper sends a webhook on every booking, and a developer can post that to Cal.com's API. That gives you a real Cal.com booking record. We don't publish it as a supported path, because it needs code that you would own.

Can I still use Cal.com's Zapier triggers?

Yes, for the other direction. A Zap can react when someone books on your Cal.com page. It can't put a phone booking into Cal.com.

Book into the calendar Cal.com reads

Hosted or self-hosted. Two minutes, no card.