Skip to content

Google Calendar Integration

Sync Google Calendar events with Kiket for team capacity planning and availability tracking.

Overview

The Google Calendar integration automatically imports calendar events and updates team member availability. Events like PTO, holidays, travel, and focus time are reflected in capacity calculations.

Prerequisites

Before connecting Google Calendar, you need:

  1. Google OAuth Extension installed (google-oauth)
  2. Google Calendar Extension installed (google-calendar)
  3. A Google Workspace or personal Google account

Installation

Step 1: Install OAuth Provider

First, install the Google OAuth provider extension:

  1. Go to Settings > Extensions > Browse
  2. Search for "Google OAuth"
  3. Click Install
  4. Configure the OAuth credentials:
  5. Create OAuth 2.0 credentials in Google Cloud Console
  6. Set the authorized redirect URI to https://your-domain.kiket.dev/oauth/google-oauth/callback
  7. Enter the Client ID and Client Secret in Kiket

Step 2: Install Calendar Extension

  1. Go to Settings > Extensions > Browse
  2. Search for "Google Calendar"
  3. Click Install
  4. The extension will prompt you to connect your Google account if not already connected

Step 3: Connect Your Account

  1. Go to Settings > Connected Accounts
  2. Click Connect next to Google
  3. Sign in with your Google account
  4. Grant the requested calendar permissions

Adding a Calendar Feed

Once connected, you can add calendar feeds:

  1. Go to Capacity > Calendar Settings
  2. Click Add Calendar
  3. Select Google Calendar as the source
  4. Choose the calendar(s) you want to sync
  5. Configure sync settings:
  6. Sync Interval: How often to check for updates (default: 60 minutes)
  7. Sync Window: How far ahead to sync events (default: 180 days)
  8. Include Declined: Whether to sync events you've declined
  9. Include Tentative: Whether to sync tentative events

Event Type Mapping

Google Calendar events are automatically categorized based on keywords in the title and categories:

Event Type Keywords
Holiday "holiday", "bank holiday"
PTO "vacation", "pto", "out of office", "ooo"
Travel "travel", "flight", "trip"
Focus "focus", "deep work", "heads down"
Training "training", "learning", "workshop"
Other Everything else

You can customize this mapping in the extension configuration.

Health Monitoring

Kiket monitors calendar feed health and alerts you when syncs fail:

  • Healthy: Syncing normally
  • Degraded: Multiple consecutive failures (3+)
  • Unhealthy: Failing for 12+ hours

You'll receive a notification when a feed becomes unhealthy. Check the feed settings to see error details.

Troubleshooting

"Calendar sync failing" notification

  1. Go to Capacity > Calendar Settings
  2. Check the feed's error message
  3. Common causes:
  4. Expired OAuth token (reconnect in Settings > Connected Accounts)
  5. Calendar was deleted or renamed
  6. Permission revoked in Google account settings

Events not appearing

  1. Verify the calendar is selected for sync
  2. Check if events fall within the sync window
  3. Ensure the event status is not "declined" (unless include_declined is enabled)
  4. Wait for the next sync cycle or trigger a manual sync

Wrong timezone

  1. Edit the calendar feed
  2. Set a timezone override
  3. Events will be re-synced with the corrected timezone

API Reference

The Google Calendar extension provides these commands:

# Trigger manual sync
googleCalendar.sync:
  calendar_id: "primary"

# List available calendars
googleCalendar.listCalendars: {}

Security

  • Only the email, profile, and calendar.readonly scopes are requested
  • Events are synced as read-only; Kiket cannot modify your Google Calendar
  • Tokens can be revoked at any time from Settings > Connected Accounts
  • You can also revoke access from Google Account Security