Calendar
Calendar is a full-featured scheduling tool built into Coline. It supports multiple views, drag-and-drop event management, shared calendars, external calendar sync, task integration, and AI-powered scheduling.
Views
Calendar offers five views. Switch between them using the view selector in the toolbar or keyboard shortcuts.
- Year (
1orY): A twelve-month grid with a heat map showing event density per day. Click any month to zoom into month view. - Month (
2orM): A traditional monthly grid. Events appear on their dates, and hovering shows a preview. Drag across dates to create a new event spanning that range. - Week (
3orW): A seven-day grid with hourly time slots. The view auto-scrolls to your current time on load and shows a red line at the current moment. - Day (
4orD): A single-day timeline with 24-hour time slots. Click and drag to create events with 15-minute snapping. - Agenda (
5orA): A chronological list of upcoming events grouped by date. Events are draggable for quick rescheduling.
All time-based views (week and day) support a working hours overlay that dims non-working hours, and multi-timezone columns showing up to three time zones side by side.
Creating events
There are several ways to create events:
- New event button: Opens a full event form where you set the title, start and end time, location, description, color, calendar, recurrence, attendees, priority, category, and attachments.
- Natural language input: Type a phrase like "Team meeting tomorrow at 2pm" into the quick event input. Kairo parses the date, time, location, and description automatically.
- Drag to create: Click and drag on the time grid in week or day view to create an event at that time slot. The event snaps to 15-minute intervals.
- Context menu: Right-click any date or time slot and select Create event to open the form with that time pre-filled.
Event properties
Each event supports the following fields:
- Title (required)
- Start and end date/time, with an all-day toggle
- Location
- Description (supports rich text)
- Color from a preset palette or custom picker
- Calendar assignment (local, shared, or synced)
- Recurrence (daily, weekly, monthly, yearly, or custom rules)
- Priority (high, medium, low)
- Category (Personal, Work, Health, or custom)
- Attendees
- Attachments (upload files directly to events)
- Meeting links (Zoom, Google Meet, and Teams links are detected and shown as join buttons)
Event details panel
Click any event to open a slide-out details panel. The panel shows all event properties, a source icon for synced events, and quick action buttons. Available actions include edit, duplicate (to tomorrow, next week, or next month), share, delete, copy link, export, and convert to note.
Right-click an event for a context menu with the same actions.
Drag and drop
Calendar uses drag and drop throughout:
- Move events: Drag events between days in month view, or between time slots in week and day view. The event updates automatically on drop.
- Tasks to calendar: Drag unscheduled tasks from the sidebar onto the calendar to assign them a date. The task gains a due date and appears on the calendar.
Task integration
The calendar sidebar shows your active tasks grouped into four sections:
- Overdue: Tasks past their due date
- Due today: Tasks matching the selected calendar date
- Upcoming: Tasks with future due dates
- Unscheduled: Tasks without due dates, available for dragging onto the calendar
Click any task to open it in the Todo app. Tasks display priority indicators (colored dots) so you can see urgency at a glance.
External calendar sync
Calendar supports two-way sync with external services:
- Google Calendar: Connect via OAuth, then select which Google calendars to sync. Events sync bidirectionally, so changes in either Coline or Google stay consistent.
- Microsoft Calendar: Connect via Microsoft Graph API for Outlook and Office 365 calendars. Supports Teams meeting links and all standard event properties.
- CalDAV: Connect to any CalDAV-compatible service (Apple Calendar, Fastmail, and others). Manage multiple accounts from the CalDAV settings modal.
Toggle visibility of each synced calendar from the sidebar checkboxes under My Calendars.
Shared calendars
Create shared calendars for team coordination. Each shared calendar has a five-level permission system:
- Owner: Full control, including deleting the calendar
- Editor: Create, edit, and delete any event
- Contributor: Create events and edit only their own
- Viewer: Read-only access to all event details
- Busy/Free: See availability blocks only, no event details
Invite members by email, manage permissions per member, and generate public calendar links with revocable access tokens. Team calendars appear under Shared Calendars in the sidebar.
Search and filtering
Use the search bar in the sidebar to find events by title, description, or location. Results appear in a dropdown with event previews and a "Jump to event" button that navigates to the event on the calendar.
Filter visible events by toggling calendar sources in the sidebar (local, Google, Microsoft, and individual shared calendars).
Import and export
Calendar supports importing and exporting event data:
- Import: Upload an ICS file through a guided wizard that previews events, detects duplicates, warns about conflicts, and lets you skip recurring events.
- Export: Download events as ICS (standard calendar format) or CSV (spreadsheet format). Select which calendars and date ranges to include.
- Webcal subscriptions: Generate a public calendar feed URL that external apps (Apple Calendar, Google Calendar) can subscribe to. Tokens are revocable and access is rate-limited.
Timezone support
Enable multi-timezone view in calendar settings to display up to three time zones as side-by-side columns in week and day views. Each column shows its own time labels and current time indicator. Use the timezone selector to search and add time zones.
Working hours
Configure your working hours (default: Monday through Friday, 9 AM to 5 PM) in calendar settings. Week and day views dim hours outside your working schedule. Teams on Pro or Team plans can set team-level working hours that apply to all members, with individual overrides.
Reminders
Calendar sends notifications before events start. When a reminder fires, a toast notification shows the event title and time with options to view details, snooze (5 minutes, 15 minutes, or 1 hour), or dismiss.
AI features
Kairo integrates into the calendar in several ways:
- Natural language event creation: The quick event input uses AI to parse freeform text into structured event data.
- AI planner: A daily review suggests scheduling optimizations. Accept or dismiss suggestions individually or in batch. Suggestions appear as overlays on the calendar.
- Agenda generation: For meetings, Kairo can generate a suggested agenda based on the event title, description, and attendees.
Settings
Open calendar settings from the toolbar gear icon. Available preferences:
- First day of week: Sunday, Monday, or Saturday
- Time format: 12-hour or 24-hour
- Default event duration: 15, 30, 60, 90, or 120 minutes
- Show weekends: Toggle weekend columns on or off
- Show week numbers: Display ISO week numbers in the grid
- Dim past events: Reduce opacity of events that have already passed
- Show tasks on calendar: Toggle task visibility on the calendar grid
- Multi-timezone: Enable and configure up to three time zones
- Working hours: Toggle the working hours overlay and customize hours and days
Keyboard shortcuts
| Action | Shortcut |
|---|---|
| Year view | 1 or Y |
| Month view | 2 or M |
| Week view | 3 or W |
| Day view | 4 or D |
| Agenda view | 5 or A |
| Previous period | [ |
| Next period | ] |
| Go to today | T |
| Navigate (Vim-style) | H J K L or arrow keys |
| Create event | N or Enter |
| Edit selected event | Space or Enter |
| Delete selected event | Delete or Backspace |
| Duplicate event | Shift + D or Cmd + D |
| Copy event details | C |
| Focus search | / |
| New event | Ctrl + N |
| Show all shortcuts | ? or Ctrl + / |
Press G followed by a second key for jump navigation: G T (today), G D (date picker), G W (current week), G M (current month), G Y (current year).
Tips
- Drag tasks onto the calendar to quickly schedule unscheduled work without leaving the calendar view.
- Use natural language for fast event creation. Phrases like "Lunch at noon Friday" or "Standup every weekday at 9am" work well.
- Toggle calendar sources in the sidebar to focus on a specific calendar when your schedule is busy.
- Try multi-timezone view when coordinating across time zones. It saves you from doing mental math on every meeting.
- Learn the G shortcuts for fast navigation.
G Tto jump to today andG Dto open the date picker are especially useful.