CIIFragments Studio is CII-accredited: recover up to 20% of your software development spendLearn more
Integrations · Calendars & booking

Integration of a calendar and booking

The appointment belongs to the file, not the Calendly link

We sync Google Calendar, Outlook, Cal.com or Calendly with your business. Availability, time zones, cancellation: the calendar is no longer the only truth.

  • Calendar sync in production
  • event ownership decided
  • time zones accepted
In short

What is calendar integration and when should you have it built?

Integrating a calendar means making availability, events and appointments live in your application rather than in a calendar tab. Google Calendar and Outlook hold the work agenda. Calendly and Cal.com hold booking. You have the connector built when a booked slot must create the job, when a reminder must leave from your product, or when two calendars step on each other. The query that carries the category is “sync Google Calendar”, not one more OAuth tutorial.

The friction

What creates the double booking

The calendar holds slots. Until the event has an owner, the link in the email and the business file diverge.

We have the same appointment twice

What we do

An event key and a precedence rule. Sync updates, it does not duplicate.

Event identifierUpdate, not duplicateFewer no-shows from confusion

The slot is taken, the file does not exist

What we do

The booking creates the job, ticket or intervention. The calendar is no longer a silo.

Appointment to fileZero re-entryReminder in the product

The availability shown is wrong

What we do

We read real calendars (busy, out of hours, buffers). A slot already taken no longer appears online.

Real busyBuffers respectedLess double booking

The token expires and nothing is created any more

What we do

Refresh, revocation, reconnection prompt. A disconnected calendar is visible before Monday morning.

Token renewedDisconnect alertReconnection journey
The tools in detail

What each calendar actually involves

Cal.com

Our real case

A real proof case: we use it on fragments-studio.com (booking components, reminder webhook). The page documents a lived integration, not one more tutorial. Useful if you want the same scheme: booking, webhook, follow-up, without gluing an opaque SaaS onto the business.

  • In production on our site
  • Reminder webhook
  • Scheme reproducible at yours
Read the page

Calendly

Booking

A booking tool. The integration is judged on the event created (invitee, slot, cancellation) and what it triggers in your file. A Calendly link pasted in an email is not a connector.

  • Booking to file
  • Cancellation and reschedule handled
  • Scope settled at scoping
Read the page

Google Calendar

Most requested

Volume sits on “sync Google Calendar”, more accessible than “google calendar api”. Events, busy, change notifications: the connector carries your business identifier on the event. OAuth, scopes and revocation are scoped with your users, not hard-coded in a demo.

  • Two-way sync scoped
  • Busy for availability
  • Business identifier on the event
Read the page

Microsoft Outlook

Microsoft Graph

The calendar via Microsoft Graph, often in the same tenant as the rest of Microsoft 365. No invented routes: scoping fixes calendars concerned, permissions and the same token problem as Google. The two combine when your teams are mixed.

  • Graph for the Outlook calendar
  • Permissions per calendar
  • Token and reconnection scoped
Read the page
Use cases

Four syncs the field recognises

01

Two-way for field teams

The phone and the business see the same slot. A change on one side updates the other.

02

Booking page that creates the job

Cal.com or Calendly writes into the file. The calendar is no longer the SI.

03

Buffers and travel time

Busy rules live in the product. A “free” slot is no longer a trap.

04

Cancellation that frees and notifies

The slot becomes free again. The channel (mail, SMS) comes from a policy; it is not the subject of this page.

For you

Ops, field, assistant, customer: who owns the event

We do not “sync Google”. We decide the event owner and the conflict rules.

Ops stop gluing two calendars

One event key, one priority. Sync updates, it does not duplicate.

The field arrives in the right zone

We accept time zones as a business case. A meeting “at 2 pm” with no zone is a bug.

The assistant is no longer the event bus

Auth scopes are minimal. We do not ask for the whole personal calendar for a job.

The customer sees a real cancellation

Cancelled in the app, freed in the calendar. No more no-show born from a missed sync.

Method

The method a calendar sync forces

01

Event ownership

Creator, priority, stable event key.

Deliverable: ownership rule
02

Time zones and conflicts

Time zones, busy/free, buffers, collisions.

Deliverable: occupancy rules
03

Reminder policy

Delays, channels, who cuts the reminder.

Deliverable: reminder policy
04

Cancellation cascade

Cancellation, no-show, reschedule: three distinct cascades.

Deliverable: cancellation cascade
Good to know

What nobody tells you before you sign

01

Two-way sync creates loops

If both sides write title and time without precedence, they overwrite each other. One source per field, set at scoping.

02

The token is not eternal

Revocation, expiry, overly wide scopes: the reconnection journey is a deliverable, not an oversight.

03

Busy is not “the whole calendar”

Private calendars, out of hours, buffers: misread, they show ghost slots or block too much.

04

A booking tool is not a CRM

Calendly or Cal.com create an event. The business file is created by your connector. Treating the booking tool as a CRM leaves missions without an owner the moment someone deletes the event.

Our expertise

What we measure on a calendar project

2 cals
Google and Outlook crossed before a slot is offered
10 min
of hold on the offered slot, then it frees itself
0
double booking created by the sync
15 d
your first booking flow in production
FAQ

Calendar integration: your questions

Three steps. First freeze the direction: the application creates the event, the calendar is read for busy, or both, field by field. Then wire OAuth with minimal scopes, change notifications, and an event key so you do not duplicate. Finally test reschedule, cancellation and revoked token. The difficulty is not displaying a calendar, it is not booking the same slot twice.

Reading busy to show availability costs far less than a multi-calendar two-way sync with file creation on booking. OAuth and reconnection weigh as much as writing the event. We scope the perimeter up front and give a firm estimate.

Often no: your teams are mixed. We isolate the provider behind an events interface. Scoping fixes both if needed. Microsoft Graph also comes in for Outlook. The choice is made on who holds the work calendar, not on the most-read docs.

Because it is a real case for us: booking and reminder webhook in production on this site. The page is proof and a scheme, not a keyword race. If you want the same assembly, we reproduce it in your product.

Yes, by wiring the event to your SMS API (Twilio, Brevo) rather than hoping the calendar tool will do it. The reminder becomes a measurable journey, with consent and legal window. That is scoped with the SMS category, not as a hidden calendar setting.

Who owns the appointment, in your stack?

30 minutes to set Google vs Outlook vs the booking tool, conflicts, and what a cancellation must free.

Discuss my calendar project
Discuss my calendar project