Calendar Integration
Connect Google Calendar to prevent double-booking, sync interview events, and automatically detect scheduling conflicts.
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
- Creates calendar events when candidates book interviews
- Updates events when interviews are rescheduled or cancelled
- Syncs in real-time — new conflicts appear instantly
Connecting Google Calendar
Navigate to Integrations > Google Calendar and click Connect Google Calendar.
Authorization Flow
- Select your Google account (or sign in)
- Grant Kit permission to read calendar events and create new ones
- Kit lists all calendars associated with your account
- You’re redirected back to Kit
Permissions
Kit requests two Google Calendar scopes:
| Scope | What It Allows |
|---|---|
calendar.readonly |
Read event start/end times to detect conflicts |
calendar.events |
Create, update, and delete interview events |
Kit reads only the start time, end time, and busy status of calendar events. Event titles, descriptions, and attendee lists are not accessed. This protects privacy for personal events.
Selecting Calendars to Check
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.)
Enabling Calendars for Conflict Detection
By default, Kit checks your primary calendar. To add more:
- Navigate to Integrations > Google Calendar
- Find the calendar in the list
- Click Enable for Conflict Detection
Kit now checks all enabled calendars when determining your availability. If any calendar has a conflicting event, that time slot is hidden from candidates.
Common Setup
| Scenario | Which Calendars to Enable |
|---|---|
| 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 |
|---|---|
| Enable all calendars where you have genuine conflicts | Enable 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 |
Where Interview Events Are Created
When a candidate books an interview, Kit creates a calendar event on your primary calendar (the one marked with a star in Google Calendar).
Event Details
Kit-created events include:
- Title — “Interview: [Candidate Name] for [Job Title]”
- Time — The slot the candidate selected, in your time zone
- Description — Link to the interview details page in Kit, meeting URL if configured
- Attendees — All interviewers assigned to that interview stage
If the interview includes a Google Meet space, Kit adds the meeting link to the calendar event automatically.
How Conflict Detection Works
Every time a candidate views available slots, Kit:
- Fetches your weekly hours and date overrides from your availability schedule
- Queries all enabled Google Calendars for events in that date range
- Removes time slots that overlap with any calendar event marked as “busy”
- Applies meeting limits and buffers
- 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:
- Intersection mode — Slots must be free on all interviewers’ calendars
- Union mode — Kit checks conflicts individually and assigns interviews to available interviewers
- Round robin mode — Same as union, but prioritizes least-loaded interviewers
If one interviewer has a conflict at 2 PM, that slot is either hidden (intersection) or assigned to a different interviewer (union/round robin).
Troubleshooting
Slots Still Showing Despite Conflicts
Possible causes:
- The conflicting event is on a calendar that’s not enabled for conflict detection
- The event is marked as “free” instead of “busy”
- Calendar sync is delayed (rare — usually under 5 seconds)
Fix:
- Check which calendars are enabled 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.
Interview Events Not Appearing in Google Calendar
Possible causes:
- The interview hasn’t been confirmed yet
- Kit is creating events on your primary calendar, but you’re viewing a different calendar
- Your Google Calendar app needs to refresh
Fix:
- Confirm the interview is in “confirmed” status in Kit
- Check your primary calendar (the one with your email address)
- Refresh Google Calendar (pull down on mobile, reload page on web)
Privacy and Security
Kit’s calendar integration is read-only for conflict detection:
- 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
When Kit creates interview events, it writes only what’s necessary: title, time, interviewers, and meeting link. No candidate personal information is included in the event beyond their name.
You can revoke access anytime at Integrations > Google Calendar. Existing interview events remain on your calendar, but Kit stops checking for new conflicts.
Quick Checklist
- Navigate to Integrations > Google Calendar
- Click Connect Google Calendar and authorize Kit
- Enable all calendars where you have scheduling conflicts
- Verify your primary calendar is correct (where interview events will appear)
- Test by viewing a candidate booking page and confirming conflicting slots are hidden
- Revoke access anytime if you no longer want calendar integration