Skip to content

Calendar Integrations

Calendar integrations let you view events from Google Calendar or Apple Calendar (iCloud) alongside your local Lithium events in the Calendar view.

What gets synced

External calendar events appear in Lithium’s Calendar view as read-only entries. You can see them, click them, but you can’t edit them from Lithium.

Your local Lithium events stay in Lithium only. They don’t sync back to Google or Apple Calendar.

Connecting Google Calendar

Go to Settings > Integrations and click Connect under Google Calendar.

You’ll get an OAuth popup asking for permission to read your Google Calendar. Grant access, and you’re done.

After connecting:

  1. Select which calendars to sync (you can pick specific calendars from your account)
  2. Events from selected calendars appear in your Calendar view
  3. Lithium fetches events automatically when you view the calendar

Connecting Apple Calendar

Apple Calendar requires an app-specific password (iCloud doesn’t use standard OAuth).

To generate one:

  1. Go to appleid.apple.com
  2. Sign in and navigate to Security
  3. Under “App-Specific Passwords”, click “Generate password”
  4. Enter “Lithium” as the label
  5. Copy the generated password

Then in Lithium:

  1. Go to Settings > Integrations
  2. Click Connect under Apple Calendar
  3. Enter your Apple ID email and the app-specific password
  4. Select which calendars to sync

Privacy and encryption

Your calendar tokens and credentials are encrypted with your Lithium encryption key before being stored. This means:

  • Google OAuth tokens are encrypted locally before storage
  • Apple Calendar credentials are encrypted locally before storage
  • The server never sees your calendar credentials in plaintext

However, external calendar data itself comes from third-party services (Google, Apple). Those events are fetched from their servers and displayed in Lithium, but they’re not encrypted the same way your local Lithium data is - because they’re not controlled by Lithium in the first place.

Your local Lithium events remain end-to-end encrypted. External calendar events are subject to the privacy policies of Google or Apple.

Managing integrations

To disconnect a calendar:

  1. Go to Settings > Integrations
  2. Click Disconnect next to the calendar you want to remove

This removes the saved credentials and stops syncing events from that service. Your local Lithium events are unaffected.

You can reconnect at any time by going through the setup flow again.

Troubleshooting

Events not showing up: Check that you’ve selected the correct calendars in Settings > Integrations. Events only sync from calendars you explicitly enable.

Connection failed (Google): Make sure popups are enabled for Lithium. The OAuth flow uses a popup window.

Connection failed (Apple): Double-check that you’re using an app-specific password (not your regular iCloud password). Regular passwords won’t work.