If you spend your day bouncing between an email client and a separate calendar app, cji.email has something that will change your routine. The desktop email client — already known for turning your inbox into a Kanban board — now ships a fully integrated calendar that syncs two-way with Google Calendar, Outlook/Microsoft 365, and any CalDAV server, right alongside your email. No browser tabs, no separate windows, no copy-pasting meeting details.
A Calendar That Lives Where Your Email Lives
Most email-and-calendar combinations feel bolted on. Apple Mail hands you off to the Calendar app. Gmail opens a separate browser tab. Outlook has a calendar, but it’s buried under ribbons and right-clicks. Even beloved third-party apps like Fantastical and Spark still run as separate processes that you have to switch to deliberately.
cji.email takes a different approach: the calendar is a first-class panel inside the same window as your inbox. You get a full month grid view — built from scratch, not dropped in from a third-party widget — with a sidebar listing every calendar source you’ve connected, and an agenda panel on the right that shows the events for whichever day you’ve clicked. Everything is visible at a glance, without leaving the app.
Connect Every Calendar You Already Use
The feature supports the sources that cover most people’s professional and personal lives:
- Google Calendar — full two-way sync
- Outlook / Microsoft 365 — two-way sync via the same modern protocol
- CalDAV — for self-hosted servers like Nextcloud, Radicale, or Fastmail
- Local ICS files — import a
.icsfile and it lives alongside your synced calendars
You can toggle the visibility of each calendar source independently from the sidebar. If you have a work Google Calendar and a personal CalDAV account connected, you can show or hide either one with a single click — the same experience you’d expect from a dedicated calendar app, but without leaving your inbox.
When a CalDAV account needs to re-authenticate, cji.email shows a prominent reconnect banner so you’re never silently missing events.
Creating and Editing Events
Clicking New Event (or hitting the keyboard shortcut) opens a dialog where you can set the title, description, start and end date/time, location, recurrence rule, and status. Events that are saved but not yet confirmed by the remote show a “sync pending” badge, so you always know the state of your data. Once the backend sync completes, the badge disappears automatically.
When you create or import an event, cji.email asks you to choose which calendar it should land in — preventing the classic problem of losing events in the wrong account.
The Feature That Sets It Apart: Inline Email Invite Detection
Here is where cji.email genuinely outperforms most competitors, including the built-in calendar panels in Outlook and Apple Mail.
When an email arrives with an .ics attachment or a text/calendar MIME part — the standard way that calendar invitations are sent — cji.email detects it automatically and shows a one-click “Add to calendar” banner directly inline in the message detail view. You don’t need to download the file, open a different app, or find the attachment. You read the invite, click one button, pick your target calendar, and the event is added.
This sounds like a small thing. In practice, it removes three to five steps from every meeting invitation you receive. For people who receive dozens of invites a week — conference speakers, consultants, managers — that adds up quickly.
Apple Mail on macOS has a version of this for iCloud invites, but it doesn’t work reliably for invites sent from Google Workspace or Exchange. cji.email’s invite detection works on any .ics content regardless of who sent it.
How cji.email Compares to Other Email + Calendar Tools
| Feature | cji.email | Apple Mail + Calendar | Outlook | Fantastical |
|---|---|---|---|---|
| Email and calendar in one window | ✅ | ❌ (separate apps) | ✅ | ❌ |
| Google + Outlook + CalDAV in one view | ✅ | Partial | Partial | ✅ |
| Inline email invite detection | ✅ (any .ics) | Partial | Partial | ❌ |
| ICS import & export | ✅ | Via Calendar app | ✅ | ✅ |
| Kanban inbox alongside calendar | ✅ | ❌ | ❌ | ❌ |
| Self-hosted CalDAV support | ✅ | ✅ | ❌ | ✅ |
| Sync pending indicator | ✅ | ❌ | ❌ | ❌ |
Currently in Beta
The calendar feature is currently opt-in, gated behind a feature flag. If you’re an existing cji.email user, you can enable it in settings to try it today. The underlying data is stored locally in SQLite, and the ICS parsing and generation uses the icalendar Rust library — the same format every major calendar service understands.
For a desktop email client that already reimagines how you process email — with a Kanban board built from your IMAP folders — adding a native calendar feels like the natural next step. The goal has always been to put everything you need to manage your work in one place. The calendar is that next piece.