Logo StartupKit
EN

Calendar Integration

Connect Google Calendar to prevent double-booking, detect scheduling conflicts automatically, and optionally put booked interviews straight onto the lead interviewer's calendar.

Why It Matters

Without calendar integration, you’d manually block out every meeting in your availability schedule. Connect Google Calendar once, and Kit automatically:

  • Hides time slots when you have conflicting meetings
  • Reads your calendar in real-time — new conflicts appear instantly
  • Sends a calendar invite (.ics file) by email when a candidate books, so the interview lands on everyone’s calendar
  • Sends an updated or cancellation invite by email when an interview is rescheduled or cancelled
  • Puts the interview directly on the lead interviewer’s Google Calendar — but only on calendars where they switched on Allow creating events in this calendar

Don’t use Google Calendar? You can connect any calendar (Outlook, Apple, Proton, etc.) via an ICS link instead. See Calendar Feeds (ICS).

Connecting Google Calendar

Navigate to Integrations > Google Calendar and click Connect Google Calendar.

Authorization Flow

  1. Select your Google account (or sign in)
  2. Grant Kit permission to your Google Calendar — Kit uses it to read your availability, and to manage interview events on the calendars you explicitly allow
  3. Kit lists all calendars associated with your account
  4. You choose which calendars to sync, and what Kit may do with each one

Permissions

Kit requests a single Google Calendar scope:

Scope What It Grants
calendar Google’s full read/write calendar scope. Kit uses it to list your calendars, to read free/busy windows for conflict detection, and — only on calendars where you switched on Allow creating events in this calendar — to create, update, and delete the calendar entry for an interview you’re leading.

What Kit reads. Kit reads the list of calendars on your account (name, time zone, colour, access level) and the start time, end time, and busy status of the events on the calendars you enabled for conflict detection. Event titles, descriptions, and attendee lists are not read. This protects privacy for personal events.

What Kit writes. Kit writes exactly one kind of event: the calendar entry for an interview where you are the lead interviewer, and only on a calendar where you switched Allow creating events in this calendar on. Kit only ever updates or deletes the events it created itself — it never modifies, moves, or deletes anything else on your calendar. If you leave that switch off, Kit never writes to your Google Calendar at all and interview invites reach you only as emailed .ics attachments. See What Kit Writes to Your Calendar.

Choosing What Kit May Do With Each Calendar

After connecting, you’ll see all your Google Calendars on the Google Calendar Settings page.

Primary vs. Secondary Calendars

  • Primary calendar — Your main Google Calendar (usually your email address)
  • Secondary calendars — Additional calendars you’ve created or subscribed to (team calendars, shared calendars, etc.)

The Two Per-Calendar Switches

Every synced calendar carries two independent switches:

Switch Default What It Does
Check for scheduling conflicts On Kit queries this calendar’s free/busy windows whenever someone views your bookable slots, and hides slots that overlap a busy event.
Allow creating events in this calendar Off Lets Kit create, update, and delete the interview entry on this calendar when you’re the lead interviewer. Only offered for calendars where your Google access level is Owner or Writer — Kit can’t write to a calendar you can only read.

Setting them during the connect flow. On the Select Google Calendars page, expand Calendar options under a calendar. Conflict checking is pre-ticked; event creation is not — you have to tick it yourself.

Changing them later.

  1. Navigate to Integrations > Google Calendar
  2. Find the calendar in the list and click the pencil (Edit calendar) icon
  3. Tick or untick Check for scheduling conflicts and Allow creating events in this calendar
  4. Click Save Changes

The calendar list shows a Conflict checking enabled badge and a Can create events badge so you can see at a glance which switches are on.

Kit checks every synced calendar that has conflict checking switched on — not just your primary one. If any of them has a conflicting event, that time slot is hidden from candidates.

Common Setup

Scenario Which Calendars to Check for Conflicts
Solo employee with one calendar Primary calendar only
Employee with work + personal calendars Both — prevent candidates from booking during personal appointments
Manager with team calendar Primary + team calendar — avoid conflicts with team meetings
Part-time consultant Work calendar + client-specific calendar — block out all commitments
Do This Don’t Do This
Check every calendar where you have genuine conflicts Check holiday calendars or read-only calendars you don’t actually attend
Keep personal calendar connected to avoid work/life conflicts Manually add date overrides every time you have a personal appointment
Allow event creation on the one work calendar you actually live in Allow event creation on a shared team calendar you don’t want interview entries on

How Interview Invites Are Sent

When a candidate books an interview, Kit emails a standard calendar invite — a .ics file attachment — to the candidate and to every assigned interviewer. Your email client (Gmail, Outlook, Apple Mail, etc.) recognizes the attachment and offers to add it to your calendar. When the interview is rescheduled or cancelled, Kit emails an updated or cancellation invite the same way.

This email path always runs, whatever calendar app you use, and it is the only thing that reaches the candidate.

Invite Details

Each .ics invite includes:

  • Title — “Interview: [Job Title] at [Company]”
  • Time — The slot the candidate selected, in the recipient’s time zone
  • Description — The job title, company, and duration; plus the meeting URL if one is configured. The interviewer copy also lists the candidate’s name
  • Attendees — The recipient (candidate or interviewer)

If the interview includes a meeting URL, Kit adds it to the invite’s join link automatically.

What Kit Writes to Your Calendar

If the lead interviewer has a Google calendar with Allow creating events in this calendar switched on, Kit also puts the interview on that calendar directly, so it’s there without anyone having to accept the emailed attachment:

When What Kit Does
A candidate books the interview Creates one event on the lead interviewer’s event-enabled calendar
The interview is rescheduled, or a meeting link is added Updates that same event
The interview is cancelled Deletes that event

The event Kit creates contains the interview title (“Interview: [Candidate name] — [Job title]”), the stage name and job title as its description, the start and end time, and the meeting link as its location.

The Limits — Read These

  • Lead interviewer only. Kit writes to one person’s calendar: the interviewer marked as Lead on the interview (or, if nobody is marked lead, the first assigned interviewer). Every other participant still gets the emailed .ics and nothing else — Kit does not write to their calendars.
  • Opt-in, per calendar. Nothing is written unless that lead interviewer switched Allow creating events in this calendar on for a calendar they own or can write to. If they haven’t, Kit writes nothing at all and the emailed .ics remains the only delivery.
  • No attendees, no invitations from Google. The event Kit creates carries no attendee list and is sent with notifications suppressed, so Google itself emails nobody about it — not the candidate, not the interviewers. Kit’s own emails stay the only notifications anyone receives. The candidate doesn’t need a Google account and never appears as an attendee on the interviewer’s event.
  • One entry, not two. The event Kit creates carries the same unique ID as the emailed .ics. If the lead interviewer already accepted the emailed invite by hand, Google recognizes it as the same interview and keeps a single entry rather than duplicating it; Kit leaves that entry alone, and later changes reach them through the updated .ics email.
  • Only Kit’s own events. Kit updates or deletes only the event it created for that interview. It never edits, moves, or removes anything else on your calendar.
  • Not retroactive. Switching event creation on doesn’t backfill interviews that were already booked. It applies to interviews booked — or rescheduled — afterwards.
  • Google Calendar only. Calendar feeds added by ICS link are read-only by nature; Kit can never write to those, only read busy windows from them.
  • A failed write never breaks a booking. If Google rejects the write (permissions changed, calendar deleted, authorization expired), the interview is still booked and the .ics emails still go out. Reconnect the calendar to restore event creation.

How Conflict Detection Works

Every time a candidate views available slots, Kit:

  1. Fetches your weekly hours and date overrides from your availability schedule
  2. Queries every Google Calendar you enabled for conflict detection for busy windows in that date range
  3. Removes time slots that overlap with any calendar event marked as “busy”
  4. Applies meeting limits and buffers
  5. Returns only the slots where you’re genuinely available

Real-Time Updates

Calendar checks happen on-demand, not on a schedule. If you add a new meeting to Google Calendar and refresh the candidate booking page 10 seconds later, that slot disappears.

All-Day Events

All-day events (e.g., “Vacation” or “Conference”) block out the entire day. Kit won’t show any slots on days with all-day events, even if your weekly hours say you’re available.

Free vs. Busy Status

Google Calendar events can be marked as “free” or “busy”. Kit only blocks out “busy” events. If you create a tentative hold on your calendar and mark it as “free”, candidates will still see that time as available.

Multiple Interviewers

When an interview stage includes multiple interviewers, Kit checks all of their calendars. You choose how slots are combined with the scheduling strategy setting in Hiring Settings:

  • Maximize Availability (default) — Kit checks conflicts individually and assigns each interview to an available interviewer. A slot is offered whenever any interviewer is free.
  • Balanced Workload — Same as Maximize Availability, but prioritizes the least-loaded interviewers so interviews are distributed evenly across the team.

If one interviewer has a conflict at 2 PM, that slot is simply assigned to a different available interviewer rather than being hidden.

Conflict detection covers every assigned interviewer. Event creation does not: only the lead interviewer’s calendar is written to, and the others rely on the emailed .ics invite.

Troubleshooting

Slots Still Showing Despite Conflicts

Possible causes:

  1. The conflicting event is on a calendar that doesn’t have Check for scheduling conflicts switched on
  2. The event is marked as “free” instead of “busy”
  3. Calendar sync is delayed (rare — usually under 5 seconds)

Fix:

  • Check which calendars have conflict checking on at Integrations > Google Calendar
  • Edit the conflicting event in Google Calendar and set status to “busy”

Disconnected Calendar

If you revoke Google permissions or change your password, Kit loses access to your calendar. You’ll see a warning banner at Integrations > Google Calendar. Click Reconnect to re-authorize. While access is missing, Kit can neither check for conflicts nor create, update, or remove interview events.

Interview Not Appearing on Your Calendar

Kit writes an event only for the lead interviewer, and only on a calendar where event creation was switched on. Everyone else receives the interview as an emailed .ics attachment that they (or their email client) need to accept.

Possible causes:

  1. You’re not the lead interviewer on this interview
  2. Allow creating events in this calendar is off for all of your calendars
  3. Your access level on that calendar is Reader or Free/Busy Reader, so Kit can’t write to it
  4. The interview was booked before you switched event creation on — Kit doesn’t backfill
  5. Kit’s access to Google needs re-authorizing
  6. The invite email landed in spam, or your email client didn’t auto-add the .ics attachment

Fix:

  • Check the switches and access level at Integrations > Google Calendar, and reconnect if a warning banner is showing
  • Search your inbox (and spam folder) for the interview invite email
  • Open the email and accept the .ics attachment, or import it into your calendar manually

Privacy and Security

Kit’s reads are limited to what scheduling needs:

  • Event titles are not read — Only start/end times and busy status
  • Attendees are not read — Kit doesn’t know who else is in your meetings
  • Descriptions are not read — Personal notes remain private

Kit’s writes are narrower still. The only thing Kit ever writes to Google Calendar is the entry for an interview you’re leading, on a calendar you explicitly allowed it to write to. It carries no attendee list, triggers no invitation email from Google, and Kit only ever updates or deletes the entries it created itself. Switch Allow creating events in this calendar off everywhere and Kit’s use of the calendar scope is read-only in practice.

Interview invites sent by email as .ics attachments include only what’s necessary: title, time, duration, and meeting link. The candidate’s name appears only on the copy sent to interviewers, and on the lead interviewer’s own calendar entry.

You can revoke access anytime at Integrations > Google Calendar. Kit then stops checking for conflicts and stops managing calendar entries. Invites you already accepted, and events Kit already created, stay on your calendar — Kit can no longer update or remove them, so delete any you don’t want by hand.

Quick Checklist

  • Navigate to Integrations > Google Calendar
  • Click Connect Google Calendar and authorize Kit
  • Switch on Check for scheduling conflicts for every calendar where you have scheduling conflicts
  • Decide, per calendar, whether to switch on Allow creating events in this calendar — leave it off if you’d rather only receive the emailed .ics
  • Verify your primary calendar is correct (where conflicts are read from)
  • Test by viewing a candidate booking page and confirming conflicting slots are hidden
  • Revoke access anytime if you no longer want calendar integration

Type to search...